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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
cIIeIL
Отправлено: 23 Мая, 2011 - 16:10:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




каким кодом можно узнать, что юзверь вошел


-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
OrmaJever
Отправлено: 23 Мая, 2011 - 16:13:51
Post Id



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


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


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




cIIeIL что за бред? куда он вошёл? в НАТО? Хм


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
cIIeIL
Отправлено: 23 Мая, 2011 - 16:28:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




мейби. на сайт естестно. я знаю что это делается с помощью сессий, но я не понимаю как Не понял

(Отредактировано автором: 23 Мая, 2011 - 16:28:26)



-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
OrmaJever
Отправлено: 23 Мая, 2011 - 16:36:16
Post Id



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


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


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




вошёл в плане авторизации или просто открыл страницу сайта? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
cIIeIL
Отправлено: 23 Мая, 2011 - 16:36:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




Цитата:
в плане авторизации


-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
OrmaJever
Отправлено: 23 Мая, 2011 - 16:41:54
Post Id



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


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


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




авторизация то есть? Однако


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
cIIeIL
Отправлено: 23 Мая, 2011 - 17:04:02
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




Радость есть. дял кода нужны поля или что?(или ты так просо спрашиваешь Хм )


-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
destus
Отправлено: 23 Мая, 2011 - 18:37:02
Post Id


Гость


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


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




заведи какую-нибудь переменную $_SESSION['state'], которая будет равна 1, если пользователь авторизован, 0-нет. Как узнать авторизован он или нет?
0) проверять куки и сверять с БД и присваивать $_SESSION['state'] 1 или 0
1) построить сайт на сессиях, т.е. при закрытии браузера заного входим. Тогда как только ввёл логин, пас, опять сверяешь по базе и присваиваешь $_SESSION['state'] 1

Могу сделать, но не бесплатно )

(Отредактировано автором: 23 Мая, 2011 - 18:38:08)

 
 Top
cIIeIL
Отправлено: 23 Мая, 2011 - 19:18:27
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




какая безвыходная ситуацияХм

(Отредактировано автором: 23 Мая, 2011 - 19:18:41)



-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
energ
Отправлено: 23 Мая, 2011 - 22:37:41
Post Id



Гость


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


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




Делаешь отправку скрытого поля после логинезации зверька делаеш на странице обработчика скрипт вида если срытое прилетело то вешаем куку зверьку на браузер готово

в общем это все должно выгладить так

PHP:
скопировать код в буфер обмена
  1. <form action=''>
  2.       <input type="hidden" name="ind" value="1">
  3.       <input type="submit">
  4. </form>
  5.  
  6.  
  7.  
  8.  
  9.   if ($_POST['ind']==1)
  10.       setcookie ("TestCookie", $value,time()+3600);


зверек после этого будет помечен на 1 час если хочешь больше ставь через mktime дату скок метка на нем будет висеть, после этого просто в скрипте проверяешь если есть метка зверек вошел если нет значит не вошел.

Если зверь прогулять захотел и нажал кнопку выход то просто после её нажатия куку удаляй и все готово, скрип авто входа готов
 
 Top
Andruxa
Отправлено: 24 Мая, 2011 - 16:06:18
Post Id



Частый гость


Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010  


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




Очень много способов решения авторизации есть в гугле на запрос "Авторизация на php" Улыбка
 
 Top
cIIeIL
Отправлено: 27 Мая, 2011 - 15:11:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




energ, сделал все как ты показал, но почему-то не срабатывают куки

форма входа
CODE (html):
скопировать код в буфер обмена
  1. <form action="login.php" method="post">
  2.  <input type="hidden" name="logid" value="1">
  3. <label>логин:<br></label>
  4. <input class="upfield" name="login" type=text ><br>
  5. <label>пароль:<br></label>
  6. <input  class="upfield"  name="password" type=password><br>
  7. <br>
  8. <input class="upbutton" type="submit" value="вход" >
  9. </form>


сам login.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     session_start();//  вся процедура работает на сессиях. Именно в ней хранятся данные  пользователя, пока он находится на сайте. Очень важно запустить их в  самом начале странички!!!
  3. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
  4.     if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
  5.     //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
  6. if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
  7.     {
  8.     exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
  9.     }
  10.     //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
  11.     $login = stripslashes($login);
  12.     $login = htmlspecialchars($login);
  13. $password = stripslashes($password);
  14.     $password = htmlspecialchars($password);
  15. //удаляем лишние пробелы
  16.     $login = trim($login);
  17.     $password = trim($password);
  18. // подключаемся к базе
  19.     include ("db.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
  20.  
  21. $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином
  22.     $myrow = mysql_fetch_array($result);
  23.     if (empty($myrow['password']))
  24.     {
  25.     //если пользователя с введенным логином не существует
  26.     exit ("Извините, введённый вами login или пароль неверный.");
  27.     }
  28.     else {
  29.     //если существует, то сверяем пароли
  30.     if ($myrow['password']==$password) {
  31.     //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
  32.          if ($_POST['login']==1)
  33.             {
  34.                  $userlogin = $_POST['logid'] ;
  35.               setcookie("userlogincookie", $userlogin);
  36.             }
  37.     $_SESSION['groupid']=$myrow['groupid'];
  38.         $_SESSION['login']=$myrow['login'];
  39.     $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
  40.     echo "Вы успешно вошли на сайт! <a href='http://filehost/'>Главная страница</a> ";
  41.                echo  ( '<hr />');
  42.                  echo  (  $_SESSION['groupid']);
  43.                   echo  ( '<hr />');
  44.               echo  ( $_COOKIE['userlogincookie']);
  45.     }
  46.  else {
  47.     //если пароли не сошлись
  48.  
  49.     exit ("Извините, введённый вами login или пароль неверный.");
  50.     }
  51.     }
  52.     ?>


и проверка testlogin.php

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $logid = $_COOKIE['userlogincookie'] ;
  4.  
  5. if($logid = 1)
  6.   {
  7.  echo 'привет %USERNAME%'
  8.   }
  9. ?>
  10.  


сори. все уже пашет . забыл закрыть echo

(Отредактировано автором: 27 Мая, 2011 - 15:13:09)



-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
VLADK0
Отправлено: 27 Мая, 2011 - 16:35:40
Post Id



Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Апр. 2011  
Откуда: -=UKRAINA=-


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




Парень, убери то что ты поставил и во второй скрипт добавь:

Это добавляет сессию с инфой о том, что юзер авторизовался.
А вот так теперь будешь проверять:
PHP:
скопировать код в буфер обмена
  1.  
  2. $ses = $_SESSION['autoriz'];
  3. if ($ses != 1)
  4.     {
  5. тут то что будет исполнятся если юзер не авторизирован
  6.     }
  7. else
  8. {
  9. тут то что будет исполнятся если авторизирован
  10. }

(Добавление)
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.     session_start();//  вся процедура работает на сессиях. Именно в ней хранятся данные  пользователя, пока он находится на сайте. Очень важно запустить их в  самом начале странички!!!
  3. if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
  4.     if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
  5.     //заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
  6. if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
  7.     {
  8.     exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
  9.     }
  10.     //если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
  11.     $login = stripslashes($login);
  12.     $login = htmlspecialchars($login);
  13. $password = stripslashes($password);
  14.     $password = htmlspecialchars($password);
  15. //удаляем лишние пробелы
  16.     $login = trim($login);
  17.     $password = trim($password);
  18. // подключаемся к базе
  19.     include ("db.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь
  20.  
  21. $result = mysql_query("SELECT * FROM users WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином
  22.     $myrow = mysql_fetch_array($result);
  23.     if (empty($myrow['password']))
  24.     {
  25.     //если пользователя с введенным логином не существует
  26.     exit ("Извините, введённый вами login или пароль неверный.");
  27.     }
  28.     else {
  29.     //если существует, то сверяем пароли
  30.     if ($myrow['password']==$password) {
  31.     //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
  32.         $_SESSION['autoriz'] = 1;
  33.         $_SESSION['login'] = $login;
  34.        header("Location: файл на который должен попасть юзер");
  35.     }
  36.  else {
  37.     //если пароли не сошлись
  38.  
  39.     exit ("Извините, введённый вами login или пароль неверный.");
  40.     }
  41.     }
  42.     ?>


файл на который должен попасть юзер - это замени на файл на который должен попасть авторизированый юзер. Пример: index.php

З.Ы. Уже тебе сделал как нужно, пробуй.
(Добавление)
А вот страница с проверкой на авторизацию.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  $ses = $_SESSION['autoriz'];
  4.  $ses2 = $_SESSION['login'];
  5. if($ses !=)
  6.     {
  7. echo 'Вы не авторизированы';
  8. }
  9. else
  10.     {
  11. echo "Привет $login !";
  12. }
  13. ?>

(Добавление)
И форму входа замени на эту:
PHP:
скопировать код в буфер обмена
  1. <form action="login.php" method="post">
  2.  <input type="hidden" name="logid" value="1">
  3. <label>логин:<br></label>
  4. <input class="upfield" name="login" type="text" ><br>
  5. <label>пароль:<br></label>
  6. <input  class="upfield" name="password" type="password"><br>
  7. <br>
  8. <input class="upbutton" type="submit" value="вход" >
  9. </form>

(Добавление)
Еще вот так можно сделать страницу выхода:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. header("Content-Type: text/html; charset=windows-1251");
  3. session_start();       
  4. session_destroy();     
  5. Header("Location: index.php"); 
  6. ?>

(Отредактировано автором: 27 Мая, 2011 - 16:55:03)



-----
Если помог - нажмите Спасибо.
Вам несложно, мне приятно)
 
 Top
cIIeIL
Отправлено: 27 Мая, 2011 - 18:02:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Апр. 2011  
Откуда: C:/server/


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




спс канешн, но я внизу напсал, что нашел ошибку Радость


-----
конспи*ация , конспи*ация и еще раз конспи*ация
 
 Top
energ
Отправлено: 27 Мая, 2011 - 18:29:32
Post Id



Гость


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


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




cIIeIL пишет:



energ, сделал все как ты показал, но почему-то не срабатывают куки


Так в строке где ты посто логин проверяшь должен не логин проверяться а твое крытое поле в данном случае logid т.е. if ($_POST['logid'])==1 забацать куку
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB