2013-11-17 8 views
1

У меня возникли проблемы с моей формой входа, я пытаюсь ввести логин пользователя с их адресом электронной почты, паролем и парольной фразой, однако он не позволяет мне войти в систему, хотя я использую правильные учетные данные.Форма входа с парольной фразой

Вот мой код

<?php 
//set vars 
$userM = $_POST['userM']; 
$passphrase = $_POST['passphrase']; 
$pword = $_POST['pword']; 

if ($userM&&$pword&&$passphrase) 
{ 
//connect to db 
$connect = mysql_connect("localhost","cl49-XXX","XXX") or die("not connecting"); 

$query = mysql_query("SELECT * FROM member WHERE email='$userM'"); 

$numrows = mysql_num_rows($query); 


if ($numrows!=0) 
{ 
//while loop 
    while ($row = mysql_fetch_assoc($query)) 
    { 
    $email = $row['email']; 
    $password = $row['password']; 
    $passphrase = $row['passphrase']; 
    } 


     die("incorrect username/password/passphrase!"); 
    } 
else 
    echo "user does not exist!"; 
} 
else 
    die("please enter a username and password along with passphrase!"); 
?> 

Когда я заполнить регистрационную форму с правильными данными я показано user does not exist!

Может кто-нибудь помочь?

+0

Очистить ввод, там есть дыры в безопасности: o –

+0

Ваш скрипт уязвим для инъекций SQL, вы должны [исправить это] (http://stackoverflow.com/q/60174/53114). – Gumbo

+0

Существует ли $ userM в таблице участников? Это первая проверка. – jacouh

ответ

1

Вы забыли mysql_select_db():

//... 
$connect = mysql_connect("localhost","cl49-XXX","XXX") or die("not connecting"); 

// 
// here this misses!!! 
// 
mysql_select_db("MyDataBase"); 
// 

$query = mysql_query("SELECT * FROM member WHERE email='$userM'"); 
$numrows = mysql_num_rows($query); 

//... 

Более того, как было предложено в комментариях, весь ваш код должен быть преобразован в PDO или MySQLi.

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