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. kazmikro - 10 Февраля, 2011 - 21:08:56 - перейти к сообщению
Немогу понять куда вставить код чтоб при авторизации сохранялась сессия помогите пожалуйста !

Вот код проверки авторизации как и куда вставить код с сессией обьясните плиз
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  $db = mysql_connect ("localhost","admin","admin");
  5.       mysql_select_db("CMS",$db);
  6.  
  7. if (isset($_POST['login'])) { $login = $_POST['login']; }
  8. if (isset($_POST['pass'])) { $pass = $_POST['pass']; }
  9.  
  10. if ($login == '' or $pass == '')
  11. {echo"<p>Введите Логин или Пароль ! (заполните все поля)</p>";}
  12.  
  13. $result = mysql_query("SELECT login,pass FROM accaunts",$db);
  14. $myrow = mysql_fetch_array($result);
  15.  
  16. if ($login == $myrow['login'] and $pass == $myrow['pass'])
  17.  
  18. {
  19.     echo"Вы успешно авторизовались на сайте";
  20. }
  21.  
  22. else
  23.  
  24. echo "Вы ввели неправельный логин или пароль";
  25.  
  26. ?>
  27.  
2. DeepVarvar - 10 Февраля, 2011 - 21:18:08 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. session_name('mysitename');
  2. $user['id'] = 'id юзера из базы';
  3. $user['name'] = 'соответственно имя из базы';
  4. $_SESSION['user'] = $user;
  5. echo"Вы успешно авторизовались на сайте";

Что-то типа того...
3. kazmikro - 10 Февраля, 2011 - 21:25:04 - перейти к сообщению
скинь плиз уже готовый код
4. DeepVarvar - 10 Февраля, 2011 - 21:31:27 - перейти к сообщению
Так у тебя там ошибок логики куча еще кроме всего прочего.. Я занят немного сейчас.
5. kazmikro - 11 Февраля, 2011 - 05:39:45 - перейти к сообщению
помогите плизззз ну не могу разобраться в сессиях
6. DiosPA - 11 Февраля, 2011 - 07:19:39 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  session_start(); // И смотри чтобы до старта ничего не выводилось! (текст и вобще лучше 1 строчкой стартовать :))
  4.  
  5.  $db = mysql_connect ("localhost","admin","admin");
  6.       mysql_select_db("CMS",$db);
  7.  
  8. if (isset($_POST['login'])) { $login = $_POST['login']; }
  9. if (isset($_POST['pass'])) { $pass = $_POST['pass']; }
  10.  
  11. if ($login == '' or $pass == '')
  12. {echo"<p>Введите Логин или Пароль ! (заполните все поля)</p>";}
  13.  
  14. $result = mysql_query("SELECT login,pass FROM accaunts",$db);
  15. $myrow = mysql_fetch_array($result);
  16.  
  17. if ($login == $myrow['login'] and $pass == $myrow['pass'])
  18.  
  19. {
  20.     session_name('mysitename');
  21.     $_SESSION['user'] = $user; // Присваеваем из БД... DeepVarvar всё описал
  22.     echo"Вы успешно авторизовались на сайте";
  23. }
  24.  
  25. else
  26.  
  27. echo "Вы ввели неправельный логин или пароль";
  28.  
  29. ?>
  30.  
  31.  


а в скрипте где надо смотреть авторизован ли пользователь

PHP:
скопировать код в буфер обмена
  1.  
  2. if (!isset($_SESSION['user'] )){ exit ('прости чел ты не авторизован';);
  3.  

(Добавление)
Ps. Сорри если может на имя сессии ругаться, я после кодовой ночи не соображаю %) а мне ешё пол суток похать за проектом ((
7. Elio - 11 Февраля, 2011 - 10:45:01 - перейти к сообщению
а разве вместо
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query("SELECT login,pass FROM accaunts",$db);
  2. $myrow = mysql_fetch_array($result);
  3.  
  4. if ($login == $myrow['login'] and $pass == $myrow['pass']){.....


не лучше:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT `pass` FROM `accaunts` WHERE `login`='$login' LIMIT 1;",$db);
  3. $mypass = mysql_result($result,0);
  4.  
  5. if ($pass == $mypass){...
  6.  


поидее быстрее будет работать...
8. kazmikro - 11 Февраля, 2011 - 11:26:12 - перейти к сообщению
я новичёк
9. Elio - 11 Февраля, 2011 - 11:40:48 - перейти к сообщению
та я тоже... поэтому спрашиваю, лучше ли так будет или нет 8))
10. kazmikro - 11 Февраля, 2011 - 16:09:40 - перейти к сообщению
Elio пишет:
та я тоже... поэтому спрашиваю, лучше ли так будет или нет 8))


Можно и так тоже )) Однако
11. Starlord - 11 Февраля, 2011 - 16:13:21 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. mysql_query("SELECT * FROM `accaunts` WHERE `login`='$login' LIMIT 1;",$db);
  2.  

Мне кажется, лучше брать не только пасс, а вообще всю строку.
12. kazmikro - 11 Февраля, 2011 - 16:23:01 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  
  5.  $db = mysql_connect ("localhost","admin","admin");
  6.       mysql_select_db("CMS",$db);
  7.  
  8. if (isset($_POST['login'])) { $login = $_POST['login']; }
  9. if (isset($_POST['pass'])) { $pass = $_POST['pass']; }
  10.  
  11. if ($login == '' or $pass == '')
  12.  
  13. {echo"<p>Введите Логин или Пароль ! (заполните все поля)</p>";}
  14.  
  15. $result = mysql_query("SELECT id,login,pass FROM accaunts WHERE `login`='$login'",$db);
  16. $myrow = mysql_fetch_array($result);
  17.  
  18. $id == $myrow['id'];
  19. $login == $myrow['login'];
  20.  
  21. if ($login == $myrow['login'] and $pass == $myrow['pass'])
  22.  
  23. {
  24.    session_name('fly');
  25.    
  26.     $user['id'] = '$id';
  27.     $user['name'] = '$login';
  28.     $_SESSION['user'] = $user;
  29.  
  30.     echo"Вы успешно авторизовались на сайте";
  31. }
  32.  
  33. else
  34. echo "Вы ввели неправельный логин или пароль";
  35.  
  36. ?>
  37.  


Правильно ? Не понял
13. LEONeso - 11 Февраля, 2011 - 17:04:12 - перейти к сообщению
Глянь и почитай: Простейшая форма авторизации

все просто... далее только навороты и проверки.
14. kazmikro - 12 Февраля, 2011 - 09:33:07 - перейти к сообщению
LEONeso

Спасибо )
15. JustUserR - 12 Февраля, 2011 - 13:35:21 - перейти к сообщению
kazmikro В качестве возможного варианта оргиназции системы авторизации на целевом web-ресурсе возможно использование средств классической HTTP-аутенфикации - основанной на осуществлении передачи параметра сопоставленния текущей сессии работы пользователя с заданной область ассоциированных web-приложения - более подробное описания указанной схемы предоставлено здесь http://www[dot]netangels[dot]ru/support/php-http-auth/

 

Powered by ExBB FM 1.0 RC1