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 :: Версия для печати :: Помогите с session
Форумы портала PHP.SU » PHP » Программирование на PHP » Помогите с session

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

1. bgdankrlchuk - 01 Декабря, 2009 - 19:31:42 - перейти к сообщению
Помогите с определением есть ли пользователь на сайте...Как это сделать так чтоб
Определялось постоянно...или через какието промежутки времени....Гдето уже есть но я не нашел..
2. DeepVarvar - 02 Декабря, 2009 - 01:32:08 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. стартуем сессию;
  2. смотрим предоставленые юзером куки;
  3. if (есть нужные куки) {сессия(имя,значение)}
  4. else {ставим куки + сессия(имя,значение)}


и как Valenok говорил: привязать значение текущей сессии к IP и поставить время жизни 3 мин. А в куки писать не IP, а какое-то контрольное значение.
(Добавление)
Проверять на валидность значения и юнсетить куки и сессии это сами разберетесь?
3. bgdankrlchuk - 04 Декабря, 2009 - 10:16:45 - перейти к сообщению
ТАК?

CODE (text):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. if (!ini_get('session.use_trans_sid')) {
  4.     ini_set('session.use_trans_sid', 1);
  5. }
  6. $log=$_GET[log];
  7. $pass=$_GET[pass];
  8. session_start();
  9. $_SESSION[login]=$log;
  10. $uid=session_id( );
  11. if(isset($_COOKIE[$uid])&&($uid==$_COOKIE[$uid]){
  12. if(!sesion_is_registered($log)){
  13. sesion_register(log,$log);
  14. sesion_register(pass,$pass);
  15. }
  16. }
  17. else{
  18. setcookie($uid,$log,time()+180);
  19. setcookie($uid,$pass,time()+180);
  20. sesion_register(log,$log);
  21. sesion_register(pass,$pass);
  22. }
  23.  
  24. session_destroy();
  25. ?>
  26. <form action="http://worldforum.in.ua/registration.php?" method=GET>
  27. <input type="text" name="log">
  28. <input type="text" name="pass">
  29. <input type="submit" name="SEND" value=""></form>


Я хочу сделать скрипт реэстрации и перехода по страницам+ чтобы было как в чате-тоесть должно на AJAXe передаватся новые сообщения через промежутки времени если они есть...

Fatal error: Call to undefined function sesion_register() in /home/worldfor/public_html/regis tration.php on line 20
4. bgdankrlchuk - 05 Декабря, 2009 - 11:18:11 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. $log=$_GET[log];
  2. $pass=$_GET[pass];
  3. $s1=mysql_query("Select `login`,`pass`from `User` where `login`='$log' and `pass`='$pass'");
  4.  
  5. if(mysql_num_rows($s1)==1){
  6. unset($s);
  7. session_start();
  8. $_SESSION['log']=$log;
  9. $_SESSION['pass']=$pass;
  10. session_register("s");
  11. if(!isset($s['log'])){
  12. $s['log']=$log;
  13. }
  14. if(!isset($s['pass'])){
  15. $s['pass']=$pass;
  16. }
  17. session_destroy();
  18. }


Это более правильно????
5. biperch - 05 Декабря, 2009 - 13:15:31 - перейти к сообщению
Дружище сразу делаю замечание

PHP:
скопировать код в буфер обмена
  1. $pass=$_GET[pass];
  2. $s1=mysql_query("Select `login`,`pass`from `User` where `login`="$log" and `pass`="$pass"");


пасы в базе хранить в открытом виде не безопасно, кодируй их хоть md5()
6. Мелкий - 05 Декабря, 2009 - 14:05:34 - перейти к сообщению
1) не забудьте про экранирование данных. В текущем виде получить права любого пользователя никакого труда не составляет.
2) лучше индексы ассоциативных массивов брать в кавычки
$log=$_GET['log'];
Меньше проблем будет на случай, если вдруг нарвётесь на зарезервированное php слово, да и работает на пару мс быстрее Улыбка
7. biperch - 05 Декабря, 2009 - 17:53:27 - перейти к сообщению
точно в запросе в конце надо \" $pass\""

 

Powered by ExBB FM 1.0 RC1