Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Форма логина / 18 сообщений из 18, страница 1 из 1
16.03.2005, 10:27
    #32962430
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Уважаемые! вот такое вопрос:
Вот мой код на странице входа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
if ($lgn = '' | $pwd = '')
{
print "<br><br>
<form action=$PHP_SELF method=\"post\" name=\"Âîéòè\" id=\"Log in form\">
 <p> </p><p> </p>
 <table width=\"30%\" border=\"0\" align=\"center\">
   <tr>
     <td align=right class=manager>Èìÿ ïîëüçîâàòåëÿ:</td>
     <td><input name=\"lgn\" type=\"text\" id=\"lgn\" class=edit></td>
   </tr>
   <tr>
     <td align=right class=manager>Ïàðîëü: </td>
     <td><input name=\"pwd\" type=\"password\"  id=\"pwd\" class=edit></td>
   </tr>
   <tr valign=\"bottom\">
     <td height=\"40\"><div align=\"center\"></div></td>
     <td height=\"40\"><div align=\"center\"><input type=\"submit\" name=\"Submit\" value=\"Âîéòè\" class=btnOk></div></td>
   </tr></table></div>
</form>";
}
else
{
$strconnect = 'localhost:D:\HelpDesk\DB\HelpDesk.GDB';
if (!($db=ibase_connect($strconnect, 'sysdba', 'masterkey')))
   die('Ошибка при подключении: ' .  ibase_errmsg());

 $sql_login  = 'SELECT USERNAME,PASS,ADMINSTATUS FROM USERS WHERE USERNAME = :'.$lgn.' and PASS =:'.$pwd;
 $cursor = ibase_query($sql_login);
  if (!(ibase_fetch_row($cursor)))
   {
    print 'Ошибка в запросе';
    print $sql_login;
   }
    {
     print 'OK';
    }
}

не могу понять почему даже не показывает форму для ввода имени пользоавтеля и пароля, вроде все делаю по порядку: вывожу форму если пароль и логин пустые иначе делаю подключени и один запрос с параметрами...
подскажите что не так делаю?
...
Рейтинг: 0 / 0
16.03.2005, 10:37
    #32962473
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Код: plaintext
1.
2.
  <?  error_reporting(E_ALL);
ini_set('display_errors', true
ini_set('html_errors', false); ?>
...
Рейтинг: 0 / 0
16.03.2005, 10:40
    #32962485
Scey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
В PHP проверка на равенство осуществляется с помощью операторов == и ===. А Вы используете оператор присваивания =. Его результатом является собственно присваиваемое значение, в данном случае пустая строка, без жесткой типизации эквивалент false.
В итоге
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if (false | false)  // false!
{
// Отобразить форму
}
else
{
...
}
...
Рейтинг: 0 / 0
16.03.2005, 10:47
    #32962514
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Спасибо Scey, помогло...
и еще один вопрос...
как после логина переходить на другую страницу?
это наверно надо сделать в этом отрезке кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if (!(ibase_fetch_row($cursor)))
   {
    print 'Нет записей';
    print $sql_login;
   }
    {
     print 'OK';
    }
тут я проверяю есть ли записи(если такой пользователь), и как после этого прей ти на следующую страницу?
...
Рейтинг: 0 / 0
16.03.2005, 10:48
    #32962525
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Не в тему, но.... DenisUA, выводить через print солидный кусок HTML-кода не есть хорошо.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
16.03.2005, 10:58
    #32962566
Scey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Проще всего вместо
Код: plaintext
print 'OK';
в случае удачного входа сделать
Код: plaintext
include (<файл с нужной страницей>);
...
Еще вариант: форму входа сделать именно формой и задать у нее нужный action, а собственно проверку подключения и всего остального сделать уже на следующей странице.
...
Рейтинг: 0 / 0
16.03.2005, 11:01
    #32962587
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
24m@t!c, я попробовал....сделать вывод формы читсым хтмл-ом, тогда получаеться что в теге form в action ничего писать не надо? или опять в чем не прав?
...
Рейтинг: 0 / 0
16.03.2005, 11:04
    #32962594
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
пример обработки формы
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
16.03.2005, 11:10
    #32962624
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
2 4m@t!c
в твоем примере в action у формы пишеться <? echo $_SERVER['PHP_SELF'] ?>
это значит что обработка входа делается на той же странице, а как предать параметры входа (логин и пароль) на другую страницу?
то есть вот у меня акшин сейчас просто вот так выглядит action=Main.php
а как надо?
...
Рейтинг: 0 / 0
16.03.2005, 11:19
    #32962657
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
передавать надо на ту страницу, которая производит авторизацию. Если нужно перенаправлять странцу, для это есть функция header
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
16.03.2005, 11:32
    #32962702
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Мне пока перенаправлять не надо, мне просто надо передать парамерты входа на другую страницу....как то сделать?
...
Рейтинг: 0 / 0
16.03.2005, 11:45
    #32962758
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
вот сейчас попробовал сделть вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
print "
<form action=Main.php?lgn=$lgn&pwd=$pwd method=\"post\" name=\"Âîéòè\" id=\"Log in form\">
 <p> </p><p> </p>
 <table width=\"30%\" border=\"0\" align=\"center\">
   <tr>
     <td align=right class=manager>Èìÿ ïîëüçîâàòåëÿ:</td>
     <td><input name=\"lgn\" type=\"text\" id=\"lgn\" class=edit></td>
   </tr>
   <tr>
     <td align=right class=manager>Ïàðîëü: </td>
     <td><input name=\"pwd\" type=\"password\"  id=\"pwd\" class=edit></td>
   </tr>
   <tr valign=\"bottom\">
     <td height=\"40\"><div align=\"center\"></div></td>
     <td height=\"40\"><div align=\"center\"><input type=\"submit\" name=\"Submit\" value=\"Âîéòè\" class=btnOk></div></td>
   </tr></table></div>
</form>";

открываеться страница Main.php но вот в таком виде
Main.php?lgn=&pwd=
то есть без параметров...почему?

попробовал вывод все формы на читом хтмле только в акшине написал <?php Main.php?lgn=$lgn&pwd=$pwd ?>
та же прблема? вроде бы все правильно делаю...почему не передаются параметры?
...
Рейтинг: 0 / 0
16.03.2005, 11:56
    #32962808
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
...
Рейтинг: 0 / 0
16.03.2005, 12:00
    #32962827
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
в атрибуте action указывается, тот скрипт, который обрабатывает данные формы.. В примере, что я дал это тот же скрипт... сли тебе надо другой скритп, пиши его имя... В чем проблема?
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
16.03.2005, 12:02
    #32962835
Scey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
В action'е формы не нужно прописывать параметры. При submit'е они передадутся автоматически парами name=value методом, указанном в method формы.
...
Рейтинг: 0 / 0
16.03.2005, 12:07
    #32962865
DenisUA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
фух...работает
я просто думал что эти параметры должны быть видны в строке адреса...а когда посмотрел через $_POST['pwd'] то все оказалось передаеться...
большое спасибо всем...
...
Рейтинг: 0 / 0
16.03.2005, 12:08
    #32962872
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
Прогугили два вопроса. "метод POST" и "метод GET"... Надйи, чем они отличаются, и сам ответь на вопросы, которые ты задавал...
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
16.03.2005, 12:19
    #32962928
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Форма логина
И всё ж таки, зачем это всё через print выдаётся?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Форма логина / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]