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. Платинум - 09 Июня, 2009 - 05:49:10 - перейти к сообщению
Написал код вроде все отлично.
НО, запись в сессию почему то проходит после 2 захода.
Тоесть ввожу логин пароль. Жму "Войти" Ухожу гулять по сайту, сессия пропадает, еше раз ввожу логин пароль авторизация проходит, и уже в сессию записываются нужные мне данные.
Вопрос: ПОЧЕМУ ??
PHP:
скопировать код в буфер обмена
  1.  <?
  2.     if(isset($_GET['exit']))
  3. {
  4.   $_SESSION = Array();
  5. }
  6.        
  7.  
  8.         if(isset($_POST['account']))
  9.         {
  10.                 $check=mysql_query("SELECT * FROM users WHERE login='".$_POST['account']."'");
  11.                 $check1=mysql_fetch_array($check);
  12.                
  13.                
  14.                 if($check1['login'] == $_POST['account'] and $check1['password']==$_POST['password'])
  15.                 {      
  16.                 $_SESSION['login']=$account;
  17.                 $_SESSION['avator']=$check1['avator'];
  18.         $_SESSION['nick']= $check1['nick'];
  19.                 }
  20.                 else
  21.                 {
  22.                 echo '<p class="text_link">Такого логина либо пароля не сушествует</p>';
  23.                 }}
  24.                 if(!isset($_SESSION['login']) )
  25.         {
  26.   echo'  <form method="post" action="" onsubmit="return checkform(this)">
  27. <p class="text_link">Логин
  28. <input type="text" name="account" maxlength="15" /></p>
  29. <p class="text_link">Пароль
  30. <input type="password" name="password" maxlength="15" />
  31. </p>
  32.  <input type="submit" name="submit" value="Войти" />
  33.  
  34. </form>';
  35. }
  36. else
  37. {
  38. echo '<p class="text_link">'.$_SESSION['nick'].'</p>';
  39.         echo'<a href="index.php?exit=1">Выйти из ('.$_SESSION['login'].')  </a>';
  40. }
  41.         ?>
  42.  
  43.  

^^^^^^ Это тока кусок кода.
Вот еше.
CODE (text):
скопировать код в буфер обмена
  1.   <script type="text/javascript">//<![CDATA[
  2. function isAlphaNumeric(value)
  3. {
  4.   if (value.match(/^[a-zA-Z0-9]+$/))
  5.     return true;
  6.   else
  7.     return false;
  8. }
  9. function checkform(f)
  10. {
  11.   if (f.account.value=="")
  12.   {
  13.     alert("Заполните все поля формы");
  14.     return false;
  15.   }
  16.   if (!isAlphaNumeric(f.account.value))
  17.   {
  18.     alert("Заполните все поля формы");
  19.     return false;
  20.   }
  21.   if (f.password.value=="")
  22.   {
  23.     alert("Не введен пароль");
  24.     return false;
  25.   }
  26.   if (!isAlphaNumeric(f.password.value))
  27.   {
  28.     alert("444444");
  29.     return false;
  30.   }
  31.  
  32.   return true;
  33. }
  34. //]]></script>
2. Гость - 09 Июня, 2009 - 08:05:57 - перейти к сообщению
Может заместо action="" прописать явно ссылку самого на себя action="<?php echo $_SERVER['PHP_SELF'] ?>"
3. Платинум - 09 Июня, 2009 - 09:20:36 - перейти к сообщению
JustUserR
Куль)) Спасибо)!! Все работает)))

 

Powered by ExBB FM 1.0 RC1