2014-07-16 103 views
-1

即時通訊新的PHP和我想做一個登錄表單,讓人們可以用他們的電子郵件和密碼登錄。登錄PHP的MySQL

密碼和電子郵件地址在我的數據庫中。密碼是md5加密的。

當前,當我轉到表單時,它正在工作。然而,當我點擊連接時,它會轉到我的includes/login.php文件,並且它會在白頁中獲得。

<?php 

if (isset($_POST['email']) && isset($_POST['password'])) { 
    $user = $_POST['email']; 
    $pass = $_POST['password']; 
    $passmd5 = md5($pass); 
    include('connexiondb.php'); 
    $check = mysqli_query($mysqli, 'SELECT * FROM User WHERE EmailUser == $user'); 
    while($checkRow = mysqli_fetch_array($check)) { 
     $passmd5db = $checkRow['PassUser']; 
     $accessUser = $checkRow['AccessUser']; 
     $idUser = $checkRow['IDUser']; 
    } 
    if($passmd5 == $passmd5db) {  
     // dans ce cas, tout est ok, on peut démarrer notre session 

     // on la démarre :) 
     session_start(); 
     // on enregistre les paramètres de notre visiteur comme variables de session ($login et  $pwd) (notez bien que l'on utilise pas le $ pour enregistrer ces variables) 
     $_SESSION['id'] = $idUser; 
     $_SESSION['access'] = $accessUser; 

     // on redirige notre visiteur vers une page de notre section membre 
     header ('location: index.php'); 
    } 
} 
?> 

我有什麼不好嗎?

+4

你的代碼對SQL注入可疑 – Robus

+0

第一眼 - mysql使用'='而不是'==',字符串必須用引號封裝''''''''''',php不會分析變量在單引號中只有雙引號 - >''SELECT * FROM用戶WHERE EmailUser ='$ user''' – Sean

+1

'error_reporting(E_ALL); ini_set('display_errors',1);'在文件頂部的<?php'之後直接添加這兩行,然後重試,並向我們顯示錯誤 – Alex

回答