2017-02-15 4 views
-1

im auf einem Login Arbeits/anmelden System auf meiner Website ich habe dieses kleine Problem, dass die App doesnt reconize wenn der Benutzer bereits registriert ist oder wenn es ist nichtErkennung registrierte Benutzer php

<?php 
// including $conn the connextion between database and the app from the dbh.php 
include '../dbh.php'; 

$first = $_POST['first']; 
$last = $_POST['last']; 
$userid = $_POST['userid']; 
$email = $_POST['email']; 
$pwd = $_POST['pwd']; 

    $sql = "SELECT * from user WHERE userid=".$userid; 
    $results = mysqli_query($conn , $sql); 
    $useridcheck = $results->num_rows; 

//if there is a registred username in the database same as $userid 
    if($useridcheck > 0) 
    { 

     header('location: ../signupform.php?error=username'); 
     exit(); 
    } 
// there is no match to $userid in the database so go ahaid and register this new user 
    else{ 
     $sql ="INSERT INTO user(first,last,userid,email,pwd) 
     VALUES('$first','$last','$userid','$email','$pwd')"; 
     $results = mysqli_query($conn , $sql); 
     header('location: ../index.php'); 

    } 

Das Problem ist in der if ($useridcheck > 0) , wenn der Operator auf = 1 gesetzt ist, führt es den ersten Block und wenn es auf > 0 gesetzt ist, führt es den zweiten Block. Ich weiß nicht, was ist das Problem, aber ich denke, es muss mit der Variablen sein $useridcheck = $results->num_rows

+0

'$ useridcheck = mysqli_num_rows ($ ergebnisse);' und überprüfen –

+0

@Anant warum? '$ results-> num_rows' 'ist gültig. Ok, es ist objektorientiert mit prozeduralen, aber es ist immer noch gültig. –

+0

etwas anderes verursacht Ihren Code zu brechen und Sie müssen auf Fehler überprüfen, warum das ist. –

Antwort

0

Versuchen Sie zu ersetzen: $ useridcheck = $ Ergebnisse-> num_rows;

Mit: $ useridcheck = mysqli_num_rows ($ ergebnisse);

+0

Ich sehe nicht, wie das einen Unterschied machen würde. –

+0

Nein, das funktioniert nicht, es ist das gleiche –

Verwandte Themen