Anmeldung und Validierung in php mit mysqli

Konvertieren eines mysql-Seite zu mysqli. Wollen, stellen Sie sicher, dies ist der beste Weg, um den Benutzer login und session mit der userid oder username, entweder eine. Wenn es ein sicherer Weg, ich bin offen zu hören. Dieser code wird nicht funktionieren eh...weiß nicht, was ist falsch mit ihm. Hilfe ist willkommen.

mithilfe eines Formulars, username und pwd sind erforderlich. Dann die Verbindung mit dem db-Datei aufgerufen wird. Einmal angeschlossen, ist der admin-Tabelle abgefragt, um zu überprüfen Benutzername/pwd. Nichts passiert, aber eine leere Seite. Hier sind Datei. Danke.

form-Datei

<h2><br>Web Site Administration<br>
</h2> <p>Please log in below</p> 
<form   action="validate.php" method="post"> 
<b>User Name:</b> 
<br> <input type="text" size="20" name="username">
<br> <br> <b>Password:</b> 
<br><input type="password" size="20" name="password"> <br>
<br> <input type="submit" value="login"> </form>

hier ist die Verbindung zu db-Datei

<?php

function login();

//server info
$server = 'localhost';
$username = 'user_dbname';
$pass = 'pwd goes here';
$db = 'db and table here';

//connect to the database
$mysqli = new mysqli($server, $username, $password, $db);

//show errors (remove this line if on a live site)
mysqli_report(MYSQLI_REPORT_ERROR);

?>

und hier ist die Datei überprüfen

<?php
session_start();
include ("login.php");
login();

if(isset($_POST['submit']))
{
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$query = "SELECT username, password FROM admins WHERE username='$username' 
AND password='$password'";

$result = mysqli_query($mysqli,$query)or die(mysqli_error());
$num_row = mysqli_num_rows($result);
$row=mysqli_fetch_array($result);
if( $num_row ==1 )
     {
 $_SESSION['userid']=$row['userid'];
 header("Location: admin.php");
 echo 'hi there';
 exit;
  }
  else
     {
 echo 'oops  can not do it';
  }
 }
?>
  • Entfliehen Sie dem Variablen $username und $password mit mysqli_real_escape_string
  • function login(); - und was dann?
  • Nicht verwenden nur-Text-Kennwörter.
  • zusätzlich zu den bisherigen Kommentaren, die Sie verwenden können, Großbuchstaben für Benutzername, so kann der Benutzer die Eingabe in groß-oder Kleinschreibung von Benutzernamen.
InformationsquelleAutor user3000619 | 2013-11-17
Schreibe einen Kommentar