Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблемма авторизации не выводит по новой форму

62K
20 января 2011 года
sebastjan
16 / / 20.01.2011
Прошу помощи,
не работает вывод формы при неправильном вводе пароля или логина
Выводит только echo "Takogo Jusera net!";
Не могу понять причину?
Код:
<html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<?
$ok=$_POST['ok'];
$mail=$_POST['mail'];
$pass=$_POST['pass'];
if(!isset($_POST['ok'])) {//if-otkrit
$formlog="
<form method='POST' action='log_admin.php'>
Ihre E-Meil: <input type='text'name='mail' size='20' value='$mail'><br>
Ihre Password:<input type='password' name='pass' size='10'>
<input type='submit' name='ok' value='vhod'>
</form> "
;
echo $formlog;
}//if-zakrit

else{//else-2 podkljucenie iproverka po baze mail, pass
    $db=mysql_connect('localhost', 'sfnadmin', 'sebaMSF66Kp');
        mysql_select_db('bd_sfn', $db);

    $res=mysql_query("SELECT * FROM td_kunden WHERE mail='".$_POST['mail']."'AND pass='".$_POST['pass']."'", $db);
    if(mysql_num_rows($res)!=1){    //if-1
    echo "Takogo Jusera net!";
           echo $formlog;
    }//if-1
   

   
    mysql_close();
}//else-2
?>
</body>
</html>
278
20 января 2011 года
Alexander92
1.1K / / 04.08.2008
Код:
<html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<?php
$ok=$_POST['ok'];
$mail=$_POST['mail'];
$pass=$_POST['pass'];
$formlog=<<<EOD
<form method='POST' action='log_admin.php'>
Ihre E-Meil: <input type='text'name='mail' size='20' value='$mail'><br>
Ihre Password:<input type='password' name='pass' size='10'>
<input type='submit' name='ok' value='vhod'>
</form>
EOD
;

if(!isset($_POST['ok']))
 echo $formlog;

// podkljucenie iproverka po baze mail, pass
    $db = mysql_connect('localhost', 'sfnadmin', 'sebaMSF66Kp');
    mysql_select_db('bd_sfn', $db);

    $res = mysql_query("SELECT * FROM td_kunden WHERE mail='".mysql_real_escape_string($_POST['mail'], $db)."'AND pass='".mysql_real_escape_string($_POST['pass'], $db)."'", $db);
    if(mysql_num_rows($res) == 0) {   //if-1
       echo "Takogo Jusera net!";
       echo $formlog;
    } //if-1
     
    mysql_close();
?>
</body>
</html>
62K
20 января 2011 года
sebastjan
16 / / 20.01.2011
Цитата: Alexander92
Код:
<html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
<?php
$ok=$_POST['ok'];
$mail=$_POST['mail'];
$pass=$_POST['pass'];
$formlog=<<<EOD
<form method='POST' action='log_admin.php'>
Ihre E-Meil: <input type='text'name='mail' size='20' value='$mail'><br>
Ihre Password:<input type='password' name='pass' size='10'>
<input type='submit' name='ok' value='vhod'>
</form>
EOD
;

if(!isset($_POST['ok']))
 echo $formlog;

// podkljucenie iproverka po baze mail, pass
    $db = mysql_connect('localhost', 'sfnadmin', 'sebaMSF66Kp');
    mysql_select_db('bd_sfn', $db);

    $res = mysql_query("SELECT * FROM td_kunden WHERE mail='".mysql_real_escape_string($_POST['mail'], $db)."'AND pass='".mysql_real_escape_string($_POST['pass'], $db)."'", $db);
    if(mysql_num_rows($res) == 0) {   //if-1
       echo "Takogo Jusera net!";
       echo $formlog;
    } //if-1
     
    mysql_close();
?>
</body>
</html>


В восьмой строке показывает ошибку

285
21 января 2011 года
Romik
479 / / 24.11.2002
У вас создаётся переменная $formlog, только если отсутствует ok в $_POST, иначе вы обращаетесь к базе. И уж тут в случае проблемы пытаетесь использовать $formalog. Но переменной ведь нет! Она не создана, так как условие не отработало и вы попали в ветку ELSE.

Вынесите объявление переменной $formlog за пределы условия (до условия)
278
21 января 2011 года
Alexander92
1.1K / / 04.08.2008
Собственно, что я и сделал. Если где-то какую-то запятую потерял - не обессудьте.)
62K
21 января 2011 года
sebastjan
16 / / 20.01.2011
Цитата: Alexander92
Собственно, что я и сделал. Если где-то какую-то запятую потерял - не обессудьте.)



Просто не знаю как благодарить, ОГРОМНЕЙШЕЕ СПАСИБО ЗА ОРАЗЬЯСНЕНИЕ!
Я уж стал искать проблемму не в коде а голове.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог