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]   

> Описание: Выподающие списки в Авторизации пользователя
M@X
Отправлено: 03 Июля, 2007 - 11:00:00
Post Id


Новичок


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


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

[+]


Допустим я выбрал имя из предложенного списка
<form action="authorize.php" method='GET'
Login:<select name="user_name" size=1>
<option value=1>Max</option>
<option value=2>Petea</option>
<option value=3>Kolea</option>
<option value=4>Vasea</option>
</select><br><br>
дальше, мне не ясно, каким должно быть условие, чтобы обрабатывался этот список, пароль, к примеру 1,2,3,4 для каждого соответственно.
 
 Top
evgenijj
Отправлено: 03 Июля, 2007 - 11:10:41
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




http://forum.php.su/topic.php?fo...=1&topic=234

Какая задача стоит?
Что пытался сделать?
Что не получается?
Где исходные коды?

Цитата:

Выподающие списки в Авторизации пользователя (новые сообщения вверху)
................................ .........
дальше, мне не ясно, каким должно быть условие, чтобы обрабатывался этот список, пароль, к примеру 1,2,3,4 для каждого соответственно.

Бред...
 
 Top
M@X
Отправлено: 03 Июля, 2007 - 11:25:49
Post Id


Новичок


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


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

[+]


привет Евгении
У меня есть три файла, вот их коды:
1:
PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head><title>Enter your password</title></head>
  4. <body>
  5. <? echo "Enter your information";?><br><br>
  6. <form action="authorize.php" method='GET'>
  7. Login:<input type="text" name="user_name"><br>
  8. Password<input type="password" name="user_pass"></br>
  9. <input type="submit" name='Submit' value="Submit">
  10. </form>
  11. </body>
  12. </html>
  13.  

2:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if(isset ($_GET['Submit'])){
  5.         if(($_GET['user_name']=="max")&&($_GET['user_pass']=="a")){
  6.                 $logged_user=$_GET['user_name'];
  7.                 //session_register("logged_user");
  8.                 $_SESSION['logged_user'] = $logged_user;
  9.                 header("Location: secretpage.php");
  10.         }
  11. }
  12. ?>
  13. <html><body>
  14. You entered wrong login or password!<a href="index.php"> Try again, please</a>
  15. </body></html>
  16.  

3:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(isset($_SESSION['logged_user'])) {
  4.         $logged_user=$_SESSION['logged_user'];
  5. }
  6. if(!isset($logged_user)){
  7.         header("Location: index.php");
  8.         }
  9. ?>
  10. <html><body>
  11. Hello <? echo $logged_user; ?> ,you are in the secret page!!!
  12. </body></html>
  13.  

сейчас мне бы хотелось сделать не под конкретное имя(у меня - max и пароль - а), а со списком, например то, что я предложил выше, спасибо

(Добавление)
но мне хотелось бы использовать MySQL, я его не совсем знаю, хочу выучить пшп

(Добавление)
верней не хотелось бы использовать MySQL, а только пшп если можно что-то сделать
 
 Top
evgenijj
Отправлено: 03 Июля, 2007 - 12:41:07
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <html>
  3. <head><title>Enter your password</title></head>
  4. <body>
  5. <? echo "Enter your information";?>
  6.  
  7.  
  8. <form action="2.php" method='GET'>
  9. Login:<input type="text" name="user_name"><br/>
  10. Password<input type="password" name="user_pass"><br/>
  11. <input type="submit" name='Submit' value="Submit">
  12. </form>
  13. </body>
  14. </html>
  15.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if(isset ($_GET['Submit']))
  5. {
  6.   $logpass = file( "passwords.txt" );
  7.   foreach ( $logpass as $value )
  8.   {      
  9.         list( $login, $password ) = explode( "|", trim( $value ) );
  10.         if(($_GET['user_name']==$login) && ($_GET['user_pass']==$password))
  11.         {
  12.           $_SESSION['logged_user'] = $_GET['user_name'];
  13.           header("Location: 3.php");
  14.         }
  15.   }
  16. }
  17. ?>
  18. <html><body>
  19. You entered wrong login or password! <a href="1.php">Try again, please</a>
  20. </body></html>
  21.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(isset($_SESSION['logged_user']))
  4. {
  5.   $logged_user=$_SESSION['logged_user'];
  6. }
  7. if(!isset($logged_user))
  8. {
  9.   header("Location: 1.php");
  10. }
  11. ?>
  12. <html><body>
  13. Hello <? echo $logged_user; ?>, you are in the secret page!!!
  14. </body></html>
  15.  

Файл passwords.txt
 
 Top
M@X
Отправлено: 03 Июля, 2007 - 12:59:52
Post Id


Новичок


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


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

[+]


Евгений, спасибо огромное, вроде все работает, я сейчас буду разбираться, еще раз огромное спасибо!!!
 
 Top
M@X
Отправлено: 09 Июля, 2007 - 11:15:46
Post Id


Новичок


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


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

[+]


Hа этот раз мне хотелось бы сделать по другому. Я хочу сделать следующим образом, есть файл index.php, где проиходят все необходимые условия, в папке template(login.php(только с формой), secretpage.php(с любым текстом)) содержаться просто шаблоны. Например сначала в index.php походит пороверка, если пользователь был зарегестрирован на сайте, если да то сразу на secretpage.php, если нет, то вызывается форма login.php там он заполняет форму, которая скидывает его обратно на index.php, где проходит проверка его имени и пароля и если правельно на secretpage.php , если нет обратно на login.php. В общем весь код чтоб был в index.php. Хелп плиз.

(Добавление)
index.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  
  5. // Проверка, был ли юзер зарегистрирован раньше
  6.  
  7. if (isset($_POST['Submit'])){
  8.         $user_login = 'a';
  9.         $user_pass = 'b';
  10.         $login = $_POST['user_name'];
  11.         $pass = $_POST['user_pass'];
  12.         if ($user_login == $login && $pass == $user_pass){
  13.                 session_start();
  14.                 $_SESSION['logged'] = 1;
  15.                 header( "Location: templates/page1.php" );
  16.         }
  17.         else header ( "Location: index.php" );
  18. }
  19. ?>
  20.  

login.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <? echo "Enter your information";?>  
  3.  
  4.  <form action="?act=login" method='POST'><br>
  5.  Login: <input type="text" name="user_name"><br><br>  
  6.  Password: <input type="password" name="user_pass"><br><br>
  7.  <input type="submit" name='Submit' value="Submit">
  8.  </form>
  9.  
 
 Top
evgenijj
Отправлено: 09 Июля, 2007 - 11:56:27
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


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




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // Если форма для ввода логина и пароля была заполнена
  4. if (isset($_POST["auth"]))
  5. {
  6.     $logpass = file( "passwords.txt" );
  7.     foreach ( $logpass as $value )
  8.     {      
  9.         list( $login, $password ) = explode( "|", trim( $value ) );
  10.         if( ($_POST['login']==$login) && ($_POST['password']==$password) )
  11.         {
  12.             // авторизация прошла успешно
  13.             $_SESSION['login'] = $_POST['login'];
  14.         }
  15.     }
  16. }
  17. else
  18. {
  19.     echo '<form name="authForm" method="post" action="'.$SERVER["PHP_SELF"].'">';
  20.     echo 'Логин: <input type="text" name="login" value=""><br/>';
  21.     echo 'Пароль: <input type="password" name="password" value="">';
  22.     echo '<input type="submit" name="auth" value="Вход">';
  23.     echo '</form>';
  24. }
  25.  
  26. // Если пользователь не авторизован
  27. if ( !isset($_SESSION["login"]) )
  28. {
  29.     // перенаправляем для ввода логина и пароля
  30.     header("Location: ".$SERVER["PHP_SELF"]);
  31.     die();
  32. }
  33.  
  34. // Дальше идет сам скрипт
  35. echo "Hello, ".$_SESSION["login"];
  36. ?>
  37.  

Посмотрел - не слишком удачное решение. Форма для входа будет показываться постоянно
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. // Если пользователь не авторизован
  5. if ( !isset($_SESSION["login"]) )
  6. {
  7.         // Если форма для ввода логина и пароля была заполнена
  8.         if ( isset($_POST["auth"]) )
  9.         {
  10.                 $logpass = file( "passwords.txt" );
  11.                 foreach ( $logpass as $value )
  12.                 {      
  13.                         list( $login, $password ) = explode( "|", trim( $value ) );
  14.                         if( ($_POST['login']==$login) && ($_POST['password']==$password) )
  15.                         {
  16.                                 // авторизация прошла успешно
  17.                                 $_SESSION['login'] = $_POST['login'];
  18.                                 header( "Location: ".$_SERVER["PHP_SELF"] );
  19.                         }
  20.                 }
  21.         }
  22.         else
  23.         {
  24.                 echo '<form name="authForm" method="post" action="'.$_SERVER["PHP_SELF"].'">';
  25.                 echo 'Логин: <input type="text" name="login" value=""><br/>';
  26.                 echo 'Пароль: <input type="password" name="password" value="">';
  27.                 echo '<input type="submit" name="auth" value="Вход">';
  28.                 echo '</form>';
  29.         }
  30.         die();
  31. }
  32.  
  33. // Дальше идет сам скрипт
  34. echo "Hello, ".$_SESSION["login"];
  35.  
  36. ?>
  37.  
 
 Top
M@X
Отправлено: 09 Июля, 2007 - 12:26:06
Post Id


Новичок


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


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

[+]


Евгений СПАСИБО!!!
 
 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