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]   

> Описание: Регитсрация и авторизация
Volt
Отправлено: 23 Января, 2011 - 12:58:52
Post Id


Гость


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


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




ребята скажите пожалуйста у вас есть скрипт регистрации/авторизации но так чтобы сессия сохранялась долго и если юзер не зареган в строке написано авторизация/ авторизация а если зареган то его ник и его профиль..
 
 Top
voskan
Отправлено: 23 Января, 2011 - 22:24:42
Post Id


Посетитель


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


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




вот проверка на то авторизован ли пользователь Улыбка

if(empty($_SESSION['login'])){echo "Вы не авторизованы!";}
else{echo "Ваш ник: ".$login." ";}
(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
  4. echo 'Ваш логин:<br/>';
  5. echo '<input type="text" name="login">';
  6. echo 'Ваш пароль:<br/>';
  7. echo '<input type="password" name="password">';
  8. echo '<input type="submit" name="rega" value="Отправить">';
  9. echo '</form>';
  10.  
  11. if(isset($_POST['rega']))
  12. {
  13. if(isset($_POST['login'])){$login=$_POST['login']}
  14. if(isset($_POST['password'])){$password=$_POST['password']}
  15.  
  16. if(empty($login) and empty($password))
  17. {exit ("Заполните все поля!");}
  18.  
  19.  $login = stripslashes($login);
  20.  $login = htmlspecialchars($login);
  21.  $password = stripslashes($password);
  22.  $password = htmlspecialchars($password);
  23.  $login = trim($login);
  24.  $password = trim($password);
  25.  
  26.     $db = mysql_connect ("localhost","пользователь","пароль от базы данных");
  27.     mysql_select_db ("имя базы данных",$db);
  28.  
  29. $result = mysql_query("SELECT id FROM имя таблицы WHERE login='$login'",$db);
  30.     $myrow = mysql_fetch_array($result);
  31.     if (!empty($myrow['id'])) {
  32.     exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");
  33.     }
  34.  
  35.     $result2 = mysql_query ("INSERT INTO имя таблицы(login,password) VALUES('$login','$password')");
  36.     // Проверяем, есть ли ошибки
  37.     if ($result2=='TRUE')
  38.     {
  39.     echo "Вы успешно зарегистрированы!
  40.    }
  41. else {
  42.    echo "Ошибка! Вы не зарегистрированы.";
  43.    }
  44.  
  45.  
  46. }
  47.  
  48.  
  49. ?>
  50.  

(Добавление)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
  4. echo 'Ваш логин:<br/>';
  5. echo '<input type="text" name="login">';
  6. echo 'Ваш пароль:<br/>';
  7. echo '<input type="password" name="password">';
  8. echo '<input type="submit" name="vhod" value="Войти">';
  9. echo '</form>';
  10.  
  11. if(isset($_POST[vhod'])){
  12.  
  13.    session_start();
  14. if(isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
  15.    if(isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
  16.  
  17. if(empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
  18.    {
  19.    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
  20.    }
  21.        
  22.    $login = stripslashes($login);
  23.    $login = htmlspecialchars($login);
  24.    $password = stripslashes($password);
  25.    $password = htmlspecialchars($password);
  26.    $login = trim($login);
  27.    $password = trim($password);
  28.        
  29. $db = mysql_connect ("localhost","пользователь","пароль от базы данных");
  30.    mysql_select_db ("имя базы данных",$db);
  31.  
  32. $result = mysql_query("SELECT * FROM user WHERE login='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином
  33.    $myrow = mysql_fetch_array($result);
  34.    if(empty($myrow['password']))
  35.    {
  36.    //если пользователя с введенным логином не существует
  37.    exit ("Извините, введённый вами login или пароль неверный.");
  38.    }
  39.    else {
  40.    //если существует, то сверяем пароли
  41.    if($myrow['password']==$password) {
  42.    //если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
  43.    $_SESSION['login']=$myrow['login'];
  44.    $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
  45.    echo "Вы успешно вошли на сайт!";
  46.    }
  47. else {
  48.    //если пароли не сошлись
  49.  
  50.    exit ("Извините, введённый вами login или пароль неверный.");
  51.    }
  52.  
  53.  
  54. }
  55.  
  56.  
  57.  
  58.  
  59. ?>
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  

(Отредактировано автором: 23 Января, 2011 - 22:50:08)

 
 Top
dima4321
Отправлено: 24 Января, 2011 - 07:54:10
Post Id


Новичок


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


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




терзают меня смутные сомнения , что stripslashes здесь не к чему. Что ты собрался очищать, если изначльно не было addslashes.

правильней как раз было бы перед занесением в базу сделать addslashes

а еще можно заставить вводящего вводить только цифры и буквы например так

if(!preg_match('/[a-z0-9]{3,20}/si',$login,$match))

{
echo "не корректно введено имя";
}
 
 Top
Volt
Отправлено: 24 Января, 2011 - 09:31:37
Post Id


Гость


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


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




спасиб
 
 Top
Demal
Отправлено: 15 Февраля, 2011 - 04:55:00
Post Id


Новичок


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


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




Народ всем привет, скажите пожалуйста а если реализовывать подобную задачку токо на пхп и постгре кто нить может с этим помочь. Если что напишите мне в аську пожалуйста 348079601 буду ждать Хорошо
 
 Top
DiosPA
Отправлено: 16 Февраля, 2011 - 10:41:42
Post Id



Частый гость


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


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




Volt ))
Цитата:
но так чтобы сессия сохранялась долго

для этого надо изменить директорию сохранения сессий и задать время жизни сесии Улыбка
к томуже также потом ещё куки прикрутить ))
(Добавление)
в смысле куки для удобства )))))))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB