Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по формам

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kily_kily
Отправлено: 18 Февраля, 2010 - 17:56:55
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Добрый день!

Недавно оказался на это чудесном(без толики лести) ресурсе! Так много всего собрано, а раз есть инфа, должен быть и читатель))) Собственно начал изучать. Изучаю простенькую авторизацию исходя из этого примера http://php.su/articles/?cat=exam...les&page=068 .

Сделал подобный скрипт "нуля". Почему-то не приходит подтверждение от формы. Вот код.
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.         if (!defined("IN_ADMIN"))
  4.                 die;
  5.  
  6.         // Начинаем сессию
  7.         session_start();
  8.         // Помещаем содержимое файла в массив
  9.         $access = array();
  10.         $access = file("access.php");
  11.         // Разносим значения по переменным – пропуская первую строку файла - 0
  12.         $login = trim($access[1]);
  13.         $passw = trim($access[2]);
  14.         // Проверям были ли посланы данные
  15.  
  16.        
  17.         if (!empty($_POST['enter']))
  18.   {
  19.         print "hello data";
  20.        $_SESSION['login'] = $_POST['login'];
  21.        $_SESSION['passw'] = $_POST['pwd'];
  22.         }
  23.  
  24.  
  25.         // Если ввода не было, или они не верны
  26.         // просим их ввести
  27.         if (empty($_SESSION['login']) or $login != $_SESSION['login'] or $passw != $_SESSION['passw']    )
  28.         {
  29. ?>
  30. <html>
  31.         <head>
  32.                 <title>PHP</title>
  33.                 <style type="text/css">
  34.                         .header
  35.                         {
  36.                                 text-align: center;
  37.                                 font-family: Terminal;
  38.                                 font-size: 70pt;
  39.                         }
  40.                         .menu
  41.                         {
  42.                                 text-align: center;
  43.                                 font-family: Terminal;
  44.                                 font-size: 30pt;
  45.                         }
  46.                         .bottom
  47.                         {
  48.                                 text-align: right;
  49.                                 font-family: Terminal;
  50.                                 font-size: 30pt;
  51.                         }
  52.                         .textbox
  53.                         {
  54.                                 width:800px;
  55.                                 font-family: Terminal;
  56.                                 font-size: 20pt;
  57.                         }
  58.                         .submit
  59.                         {
  60.                                 font-family: Terminal;
  61.                                 font-size: 16pt;
  62.                         }
  63.                 </style>
  64.         </head>        
  65.         <body>         
  66.                 <table align="center" border=0>
  67.                         <tr valign=bottom>
  68.                                 <td class="header" height=250px colspan=2><?php require "..\php\getversion.php"; ?></td>
  69.                                 </tr>
  70.                                 <tr>
  71.                                         <td colspan=2>&nbsp </td>
  72.                                 </tr>
  73.                                 <form action=index.php method="post">
  74.                                         <tr>
  75.                                                 <td class=bottom>Login:</td>
  76.                                                 <td align="left"><input type=text class=textbox name=login size="50"></td>
  77.                                         </tr>                  
  78.                                         <tr>                                                   
  79.                                                 <td class=bottom>Password:</td>
  80.                                                 <td align="left"><input type=password class=textbox name=pwd size="50"></td>
  81.                                         <tr>   
  82.                                                 <td align="center" colspan=2>
  83.                                                        
  84.                                                         <input type=submit name=enter class=submit value=Enter>
  85.                                                 </td>
  86.                                         </tr>                          
  87.                                 </form>
  88.                 </table>
  89.         </body>
  90. </html>
  91.   <?php
  92.   die;
  93. }
  94. ?>
  95.  


Код index.php к которому обращаюсь.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. define("IN_ADMIN", TRUE);
  4. include "auth.php";
  5. print "hello";
  6. $op = $_GET['op'];
  7. ?>
  8.  


Не работает этот if

if(!empty($_POST['enter']))
{
$_SESSION['login'] = $_POST['login'];
$_SESSION['passw'] = $_POST['passw'];
}

$_POST['login'] тут и тут $_POST['passw'] данные верны, тут $_POST['enter'] ничего нет! Заранее спасибо.
 
 Top
kochan10
Отправлено: 18 Февраля, 2010 - 19:32:16
Post Id


Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Хм...действительно странно. этот же код у меня показывает, что $_POST['enter']='Enter'
Возможно, вы что-то напутали, ведь у вас в коде нету $_POST['passw'], а есть $_POST['pwd']. Может с именами напутали.
 
 Top
RomAndry Администратор
Отправлено: 18 Февраля, 2010 - 20:07:28
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




print_r($_POST) поможет понять что в массиве POST пришло
 
My status
 Top
kily_kily
Отправлено: 19 Февраля, 2010 - 14:06:33
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




поковырялся в примере. при удалении строки

CODE (html):
скопировать код в буфер обмена
  1. <input type=hidden name=enter value=yes>


ничего не происходит.

Объясните плиз, почему такая запись неверна

CODE (html):
скопировать код в буфер обмена
  1. <input type=submit name=enter class=submit value=Enter>


?! и почему в верхней строке value=yes ?
(Добавление)
RomAndry пишет:
print_r($_POST) поможет понять что в массиве POST пришло


угу, спасибо, это помогло.

вопрос снят, огромное спасибо
 
 Top
JustUserR
Отправлено: 19 Февраля, 2010 - 20:37:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




kily_kily пишет:
Это помогло
Кстати в HTML-тегах лучше обрамлять значения аттрибутов в кавычки ибо так во-первыз валидно а во-вторых при подстановки значений из PHP е будет проблем если там будут русские буквы ли пробелы


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
kily_kily
Отправлено: 02 Марта, 2010 - 14:55:56
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Спасибо, учту!
 
 Top
JustUserR
Отправлено: 02 Марта, 2010 - 15:31:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




kily_kily пишет:
Спасибо, учту!
Пожалуйста! И не забывайте про addslashes и htmlentities перед выводом данные в соответствующие поля


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB