2014-09-08 6 views
0

Я довольно новичок в таблицах mysql, и я знаю, что должен использовать PDO или mysqli, но это всего лишь пример для школы.Проверка значений из базы данных

Вот мой проблематичный код:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 

if ($uporab != $row['uporabnisko'] || $pass != $row['geslo']){ 
    echo '<script language="javascript">'; 
    echo 'alert("Uporabnisko ime ali geslo ni pravilno! Prosim poskusi znova.")'; 
    echo '</script>'; 

    header('Location: index1.php'); 
} 
else{ 
    header('Location: Stranzaindexom.html'); 
} 
} 

Когда я использую «а» я получаю ошибку выскочила 5 раз (я думаю, что это зависит от того, сколько значений в таблице в базе данных), но когда я надеваю» t использовать пока, чем я проверил только первый идентификатор (первая строка) в таблице. Я проверил другие ответы, но я не нашел правильный. Любая помощь?

PS: соединение с базой данных является успешным, а значение таблицы полезно. Поэтому мои проблемы просто лежат где-то здесь.

+0

Пожалуйста, прекратите использование MySQL, так как он устарел, и начать использовать MySQLi и PDO вместо .. – Naruto

+0

выхода вызова; после заголовка («Местоположение ....»); чтобы остановить запуск кода после перенаправления – bumperbox

+0

Наруто, я сказал вам, что я новичок в этом, и мне нужно это, как простой школьный проект, где они учат нас таким образом. После этого я узнаю PDO. Bumperbox: спасибо, что решают одну проблему, но теперь я не получаю всплывающее окно с надписью «Неверное имя/пароль». –

ответ

0

Подумайте обратный проверить положительный случай и дать предупреждение о еще как:

if ($uporab == $row['uporabnisko'] && $pass == $row['geslo']){ 
    header('Location: Stranzaindexom.html'); 
    exit(); 
} else { 
    echo '<script language="javascript">'; 
    echo 'alert("Uporabnisko ime ali geslo ni pravilno! Prosim poskusi znova.")'; 
    echo '</script>'; 
} 

Или используйте имя пользователя и пароль в SQL и дать предел 1 так что вам не нужно какое-то время becouse этого garanteus, что приводит набор будет 1 строка или 0 строк:

mysql_query("SELECT * FROM users WHERE username='".$escapedUsername."' AND password='".$escapedPassword."' LIMIT 1"); 
1

может быть, вы можете попробовать это

Почему мы должны выбрать все записи и проверить все записи лучшее тянуть только это запись, которая необходима.

$result = mysql_query("SELECT * name FROM usertable WHERE uporabnisko='$uporab' AND geslo = '$pass'"); 
if($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    echo '<script language="javascript">'; 
    echo 'alert("Uporabnisko ime ali geslo ni pravilno! Prosim poskusi znova.")'; 
    echo '</script>'; 
    echo "<script language='javascript'> window.location='index1.php'; </script>"; 
} 
else 
{ 
    echo "<script language='javascript'> window.location='Stranzaindexom.html'; </script>"; 
} 
+0

Ну, это не дает никаких ошибок, но это не продвигается вперед, это держит меня на первой странице, не продолжается. Как ни один из параметров не является правильным. –

+0

Затем используйте это 'echo '"; 'вместо' header (' Location: index1.php '); ' – 2014-09-08 10:04:16

+0

Ну, когда я пробую окно .location он выдает ошибку за неправильный идентификатор/пароль (под его пустой страницей с предупреждающим сообщением о mysql_fetch_array, ожидающем 1 .. boolean ... и что-то вперед), но когда я нажимаю «Ok» на popout, он переводит меня обратно в index1 .php –

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