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]   

> Описание: Помогите с кодом пожалуйсто (сессия )
kazmikro
Отправлено: 10 Февраля, 2011 - 21:08:56
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




Немогу понять куда вставить код чтоб при авторизации сохранялась сессия помогите пожалуйста !

Вот код проверки авторизации как и куда вставить код с сессией обьясните плиз
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.  
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Февраля, 2011 - 21:18:08
Post Id



Активный участник


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


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




PHP:
скопировать код в буфер обмена
  1. session_name('mysitename');
  2. $user['id'] = 'id юзера из базы';
  3. $user['name'] = 'соответственно имя из базы';
  4. $_SESSION['user'] = $user;
  5. echo"Вы успешно авторизовались на сайте";

Что-то типа того...
 
 Top
kazmikro
Отправлено: 10 Февраля, 2011 - 21:25:04
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




скинь плиз уже готовый код
 
 Top
DeepVarvar Супермодератор
Отправлено: 10 Февраля, 2011 - 21:31:27
Post Id



Активный участник


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


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




Так у тебя там ошибок логики куча еще кроме всего прочего.. Я занят немного сейчас.
 
 Top
kazmikro
Отправлено: 11 Февраля, 2011 - 05:39:45
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




помогите плизззз ну не могу разобраться в сессиях
 
 Top
DiosPA
Отправлено: 11 Февраля, 2011 - 07:19:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 180
Дата рег-ции: Янв. 2011  
Откуда: Россия


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




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. Сорри если может на имя сессии ругаться, я после кодовой ночи не соображаю %) а мне ешё пол суток похать за проектом ((
 
 Top
Elio
Отправлено: 11 Февраля, 2011 - 10:45:01
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2011  
Откуда: Hell


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




а разве вместо
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.  


поидее быстрее будет работать...
 
 Top
kazmikro
Отправлено: 11 Февраля, 2011 - 11:26:12
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




я новичёк
 
 Top
Elio
Отправлено: 11 Февраля, 2011 - 11:40:48
Post Id



Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Февр. 2011  
Откуда: Hell


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




та я тоже... поэтому спрашиваю, лучше ли так будет или нет 8))
 
 Top
kazmikro
Отправлено: 11 Февраля, 2011 - 16:09:40
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




Elio пишет:
та я тоже... поэтому спрашиваю, лучше ли так будет или нет 8))


Можно и так тоже )) Однако
 
 Top
Starlord
Отправлено: 11 Февраля, 2011 - 16:13:21
Post Id



Новичок


Покинул форум
Сообщений всего: 50
Дата рег-ции: Окт. 2010  
Откуда: Россия


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




CODE (SQL):
скопировать код в буфер обмена
  1. mysql_query("SELECT * FROM `accaunts` WHERE `login`='$login' LIMIT 1;",$db);
  2.  

Мне кажется, лучше брать не только пасс, а вообще всю строку.


-----
Спасибо сообществу php.su за помощь...
 
 Top
kazmikro
Отправлено: 11 Февраля, 2011 - 16:23:01
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




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.  


Правильно ? Не понял
 
 Top
LEONeso
Отправлено: 11 Февраля, 2011 - 17:04:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




Глянь и почитай: Простейшая форма авторизации

все просто... далее только навороты и проверки.


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
kazmikro
Отправлено: 12 Февраля, 2011 - 09:33:07
Post Id



Гость


Покинул форум
Сообщений всего: 123
Дата рег-ции: Февр. 2011  


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




LEONeso

Спасибо )
 
 Top
JustUserR
Отправлено: 12 Февраля, 2011 - 13:35:21
Post Id



Активный участник


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


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




kazmikro В качестве возможного варианта оргиназции системы авторизации на целевом web-ресурсе возможно использование средств классической HTTP-аутенфикации - основанной на осуществлении передачи параметра сопоставленния текущей сессии работы пользователя с заданной область ассоциированных web-приложения - более подробное описания указанной схемы предоставлено здесь http://www[dot]netangels[dot]ru/support/php-http-auth/


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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