2016-10-06 4 views
1

Ich habe ein Benutzerregistrierungssystem, aber es ist leer. Dies ist das Skript, das ich in forum.modxpertz.tk verwende. Es hat zuerst funktioniert, aber es zeigt jetzt nichts. Hier ist der Code.Was ist der Fehler in diesem PHP-Code?

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 
mysqli_select_db($conn,'login'); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "SELECT userid FROM login"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
// output data of each row 
while($row = mysqli_fetch_assoc($result)) { 
    $reguserid=$row["userid"]; 
} 

$userid = mysqli_real_escape_string($conn, $_POST['userid']); 
$pswrd = mysqli_real_escape_string($conn, $_POST['pswrd']); 
$fname = mysqli_real_escape_string($conn, $_POST['fname']); 
$lname = mysqli_real_escape_string($conn, $_POST['lname']); 
$gender = mysqli_real_escape_string($conn, $_POST['gender']); 

$token = rand('122332344','922332344'); 
$url = array('forum.modzexpertz.tk/verify.php#',$token); 

$post= join($url); 

if($userid!=$reguserid){ 
    $sql = "INSERT INTO login(fname, lname, userid, pswrd, gender)VALUES('$fname', '$lname', '$userid', '$pswrd', '$gender')"; 

if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
}else { 
echo "Failed to Register."; 
}} else { 
echo "A user with the email youve provided has already been registered."; 
}} 
$conn->close(); 
?> 

Ich weiß nur wenig über PHP und jQuery.

+2

bekam nur eine Migräne aus dem Code zu lesen. Verwenden Sie einen geeigneten Codeeinzug. – Irvin

+0

Während 1 Problem '$ userid! = $ Reguserid' ist. Sie überschreiben das bei jeder Iteration, $ reguserid = $ row ["userid"] 'und das ist sehr ineffizient. Wie hast du sogar '$ _POST ['userid']' wenn der Benutzer kein Konto hat? Passwörter sollten ebenfalls gehashed werden. – chris85

+0

@Irvin: Migräne ist besser .. Was ich fühlte, ist, ich habe Headshot .. :( – toha

Antwort

0

Bitte versuchen Sie es unten Code:

<?php 
$servername = "localhost"; 
$username = "root"; 
$pswrd = ""; 
$db = "login"; 

$conn = mysqli_connect($servername,$username,$pswrd, $db); 

// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$table = 'login'; 
if(@mysqli_num_rows(mysqli_query($conn, "SELECT NULL FROM `$table` WHERE userid='".$_POST['userid']."'")) > 0){ 
      $error = "1"; 
      echo "user with same userid is already exist"; 
} 

if(isset($_POST['fname']) && isset($_POST['lname']) && isset($_POST['gender']) && isset($_POST['userid']) && isset($_POST['pswrd']) && $_POST['fname']!="" && $_POST['lname']!="" && $_POST['gender']!="" && $_POST['userid']!="" && $_POST['pswrd']!="") 
{ 
    if($error==''){ 
     $ins['fname'] = mysqli_real_escape_string($conn, $_POST['fname']); 
     $ins['lname'] = mysqli_real_escape_string($conn, $_POST['lname']); 
     $ins['gender'] = mysqli_real_escape_string($conn, $_POST['gender']); 
     $ins['userid'] = mysqli_real_escape_string($conn, $_POST['userid']); 
     $ins['pswrd'] = mysqli_real_escape_string($conn, $_POST['pswrd']); 
     $insertsql = "INSERT INTO `$table` (fname, lname, gender, userid, pswrd) VALUES ('".$ins['fname']."','".$ins['lname']."','".$ins['gender']."','".$ins['userid']."','".$ins['pswrd']."')"; 
     @mysqli_query($conn, $insertsql); 
     //echo $insertsql; exit; 
     echo "Success"; 
    } 
}else{ 
    echo "Please enter required parameters"; 
} 

mysqli_close($conn); 
?>