2016-10-06 10 views
1

У меня есть система регистрации пользователей, но она пуста. Это сценарий, который я использую в forum.modxpertz.tk. Сначала он работал, но теперь ничего не видно. Вот код.Какая ошибка в этом PHP-коде?

<?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(); 
?> 

Я мало знаю о PHP и jQuery.

+2

Просто получил мигрень от чтения кода. Используйте правильный отступ кода. – Irvin

+0

В то время как 1 проблема - '$ userid! = $ Reguserid'. Вы перезаписываете это на каждой итерации, '$ reguserid = $ row [" userid "]' и это очень неэффективно. Как у вас даже есть '$ _POST ['userid']', если у пользователя нет учетной записи? Пароли также должны быть хэшированы. – chris85

+0

@Irvin: мигрень лучше .. Я чувствовал, что у меня есть headshoot .. :( – toha

ответ

0

Пожалуйста, попробуйте ниже код:

<?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); 
?> 
Смежные вопросы