2013-10-09 55 views
-1

我已經編碼登錄,但我需要知道,作爲成功的消息,它回聲是用戶的名字。
名字與電子郵件存儲在數據庫中的相同條目中​​。
我需要做一個數組,但我不知道如何。如何在登錄後回顯數據庫字段?

if ($_POST['submit']) { 
    if ($_POST['email']) { 
     if ($_POST['password']) { 

      $password = md5($_POST['password']); 
      $email = $_POST['email']; 
      $p = mysql_query("SELECT * FROM Users WHERE Email='$email' AND Password='$password'"); 

      if (mysql_fetch_array($p) != 0){ 

       echo "WHAT GOES HERE?"; 
       $registered = mysql_query("SELECT * FROM Users WHERE Email='$email'"); 
       setcookie("PeopleHubLogged", ".$email."); 

      } else { 
      echo "<font color='red'>Login Failed</font>"; 
      } 
     } else { 
     echo "<font color='red'>You need to enter a password!</font>"; 
     } 
    } else { 
    echo "<font color='red'>You need to enter a email!</font>"; 
    } 
} 
+0

只是一對夫婦的建議。 1)這是易於注射的。不應該面對互聯網,這很容易打破。 2)在帖子上使用isset檢查並獲取,否則你的日誌會變成不可讀的亂七八糟(如果還沒有的話)。你是什​​麼意思,你需要做一個陣列,但你不知道如何? – gh123man

+0

http://php.net/manual/en/language.types.array.php –

+0

如何讓成功消息說「你好,那麼用戶的名字。」?用戶firstname作爲FirstName存儲在數據庫中。 – user2840637

回答

0

不知道你的桌子是什麼樣的,但這是你在找什麼?

if ($_POST['submit']) { 
    if ($_POST['email']) { 
     if ($_POST['password']) { 

      $password = md5($_POST['password']); 
      $email = $_POST['email']; 
      $p = mysql_query("SELECT * FROM Users WHERE Email='$email' AND Password='$password'"); 

      if (mysql_fetch_array($p) != 0){ 

       echo "WHAT GOES HERE?"; 
       $registered = mysql_query("SELECT * FROM Users WHERE Email='$email'"); 
       setcookie("PeopleHubLogged", ".$email."); 

       $outArr = mysql_fetch_array($registered); 
       echo "Hello " . $outArr["FirstName"]; 

      } else { 
      echo "<font color='red'>Login Failed</font>"; 
      } 
     } else { 
     echo "<font color='red'>You need to enter a password!</font>"; 
     } 
    } else { 
    echo "<font color='red'>You need to enter a email!</font>"; 
    } 
} 

我強烈建議你重新構造這個,消除嵌套並使用不同的SQL驅動程序。 (查找PDO)。你的代碼很危險。 SQL注入可以很容易地應用於這個代碼,所以我希望這個永遠不會面臨互聯網。如果您正確使用PDO驅動程序,它將使SQL注入幾乎不可能 - 因此我強烈建議使用它。

這裏是我會寫,否則你的代碼:

if (!isset($_POST['submit'])) { 
    echo "<font color='red'>You need to enter a email!</font>"; 
    return; 
} 
if (!isset($_POST['email'])) { 
    echo "<font color='red'>You need to enter a password!</font>"; 
    return; 
} 
if (!isset($_POST['password'])) { 
    echo "<font color='red'>Login Failed</font>"; 
    return; 
} 

$password = md5($_POST['password']); 
$email = $_POST['email']; 
$p = mysql_query("SELECT * FROM Users WHERE Email='$email' AND Password='$password'"); 

if (mysql_fetch_array($p) != 0){ 

    echo "WHAT GOES HERE?"; 
    $registered = mysql_query("SELECT * FROM Users WHERE Email='$email'"); 
    setcookie("PeopleHubLogged", ".$email."); 

    $outArr = mysql_fetch_array($registered); 
    echo "name: " . $outArr["FirstName"]; 
} 
相關問題