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
Форумы портала PHP.SU :: Версия для печати :: Если можно срочно!!! Выподающие списки в Авторизации пользователя
Форумы портала PHP.SU » PHP » Программирование на PHP » Если можно срочно!!! Выподающие списки в Авторизации пользователя

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

1. M@X - 03 Июля, 2007 - 11:00:00 - перейти к сообщению
Допустим я выбрал имя из предложенного списка
<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 для каждого соответственно.
2. evgenijj - 03 Июля, 2007 - 11:10:41 - перейти к сообщению
http://forum.php.su/topic.php?fo...=1&topic=234

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

Цитата:

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

Бред...
3. M@X - 03 Июля, 2007 - 11:25:49 - перейти к сообщению
привет Евгении
У меня есть три файла, вот их коды:
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, а только пшп если можно что-то сделать
4. evgenijj - 03 Июля, 2007 - 12:41:07 - перейти к сообщению
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
PHP:
скопировать код в буфер обмена
  1.  
  2. Sasha|qwerty
  3. Masha|123456
  4.  
5. M@X - 03 Июля, 2007 - 12:59:52 - перейти к сообщению
Евгений, спасибо огромное, вроде все работает, я сейчас буду разбираться, еще раз огромное спасибо!!!
6. M@X - 09 Июля, 2007 - 11:15:46 - перейти к сообщению
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.  
7. evgenijj - 09 Июля, 2007 - 11:56:27 - перейти к сообщению
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.  
8. M@X - 09 Июля, 2007 - 12:26:06 - перейти к сообщению
Евгений СПАСИБО!!!

 

Powered by ExBB FM 1.0 RC1