2015-07-09 4 views
0

Это код PHP для входа на страницу.Php Вход в систему

if ($_POST['submit']=="Log In") { 

    $query = "SELECT * FROM user WHERE email='".mysqli_real_escape_string($link, $email)."' AND password='$md5' LIMIT 1"; 

    $result = mysqli_query($link, $query); 

    $row = mysqli_fetch_array($result); 

    print_r($row); 
} 

Но когда я отправлю логин, он не работает.

+0

Что такое $ md5? Кроме того, вы можете показать еще какой-нибудь код? – Mindastic

+0

Под «не работает» вы имеете в виду ...? Вы уже пытались повторить «$ query» и вставить его в phpMyAdmin, чтобы узнать, что он возвращает? –

+0

, если вы не знакомы с PDO, попробуйте это, проще в использовании и используете PDO: https://github.com/joshcam/PHP-MySQL-Database-Class – crazymoin

ответ

0
$userCheck = query("SELECT * FROM users WHERE users_email =?",$_POST['user']); 
if(count($userCheck)===1){ 
    //we found a match 
    $data = $userCheck[0]; 
    //now we compare the encryted password 
    if(crypt($_POST['password'],$data['users_hash'])===$data['users_hash']){ 
     //the password match... the encrypted password 
     $logged=1; 
     //so we set the cookie if the user checked the cookie box 
     //cookie and session code 

     echo 1; 
    }else{ 
     //meaning wrong password 
     echo 2; 
    } 
}else{ 
    //wrong username 
    echo 0; 
} 

Я использую пользовательскую функцию работы с PDO ... Я могу опубликовать функцию здесь, если вам нужно

пользовательской функции запроса с использованием PDO

function query(/* $sql [, ... ] */){ 
    // SQL statement 
    $sql = func_get_arg(0); 

    // parameters, if any 
    $parameters = array_slice(func_get_args(), 1); 

    // try to connect to database 
    static $handle; 
    if (!isset($handle)) 
    { 
     try 
     { 
      // connect to database 
      $handle = new PDO("mysql:dbname=" . DATABASE . ";host=" . SERVER, USERNAME, PASSWORD); 

      // ensure that PDO::prepare returns false when passed invalid SQL 
      $handle->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
     } 
     catch (Exception $e) 
     { 
      // trigger (big, orange) error 
      trigger_error($e->getMessage(), E_USER_ERROR); 
      exit; 
     } 
    } 

    // prepare SQL statement 
    $statement = $handle->prepare($sql); 
    if ($statement === false) 
    { 
     // trigger (big, orange) error 
     trigger_error($handle->errorInfo()[2], E_USER_ERROR); 
     exit; 
    } 

    // execute SQL statement 
    $results = $statement->execute($parameters); 

    // return result set's rows, if any 
    if ($results !== false) 
    { 
     return $statement->fetchAll(PDO::FETCH_ASSOC); 
    } 
    else 
    { 
     return false; 
    } 
} 

использовать его, см synthax на верхних

или: например:

$check = query("SELECT * FROM table WHERE column=?",$text); 
+0

Я не знаю, как работает PDO. Мне будет приятно узнать что-то из вашего поста PDO-функции. @ Jayo2k –

+0

PDO упрощает mysql-запрос по сравнению с исходным mysql_fetch, mysql_connect ... Но функция, которую я просто попробовал, еще больше, вызывающий запрос - это все, что вам нужно do, вот код в моем обновленном ответе – Jayo2k

Смежные вопросы