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 »   

> Описание: авторизация
DarK
Отправлено: 18 Мая, 2009 - 10:40:01
Post Id


Новичок


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


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




всем привет !!!

я хочу файл auht.php работала через сессии но незнаю как надо это делать я прочитал про сессии но не чего не понял но попробовал PHPSESSID добавить при нажатии кнопки Object not found!


вот сам код

<?php

require "db.php";
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = $_POST['pass'];
//md5($_POST['pass']) - hash functiya
$result=mysql_query("SELECT uname, surname FROM users WHERE login='".$login."' AND password='".$pass."' " );

$key=mysql_fetch_array($result);
if (!empty($key)){
echo '<br><br><font color=green> Добро пожаловать '.$key['uname'].' '.$key['surname'].'</font> ';
$_SESSION['auth'] = 'yes';
echo '<meta http-equiv="refresh" content="4, student.php"><input type="hidden" name="PHPSESSID" value="9ebca8bd62c830d3e79272b4f585ff8f" />';
}else{
echo '<br><br><font color=red> Ваш логин или пароль не правилен </font>';
}
}
?>
(Добавление)
вот правильный код !!!!
<?php
//$sql=mysql_connect('localhost','root','' ) or die('Ne smog podkluchitsya' );
//$db=mysql_select_db('regis' );
//mysql_query("set charset utf8" );
require "db.php";
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = $_POST['pass'];
//md5($_POST['pass']) - hash functiya
$result=mysql_query("SELECT uname, surname FROM users WHERE login='".$login."' AND password='".$pass."' " );

$key=mysql_fetch_array($result);
if (!empty($key)){
echo '<br><br><font color=green> Добро пожаловать '.$key['uname'].' '.$key['surname'].'</font> ';
$_SESSION['auth'] = 'yes';
echo '<meta http-equiv="refresh" content="4, student.php"><input type="hidden" name="PHPSESSID" value="9ebca8bd62c830d3e79272b4f585ff8f" />';
}else{
echo '<br><br><font color=red> Ваш логин или пароль не правилен </font>';
}
}
?>
(Добавление)
"echo '<meta http-equiv="refresh" content="4, student.php"><input type="hidden" name="PHPSESSID" value="9ebca8bd62c830d3e79272b4f585ff8f" />';"
 
 Top
valenok Модератор
Отправлено: 18 Мая, 2009 - 11:33:09
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


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






-----
Truly yours, Sasha.
 
My status
 Top
DarK
Отправлено: 18 Мая, 2009 - 11:44:04
Post Id


Новичок


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


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




http://phpfaq[dot]ru/sessions как раз так и я здеся прочитал
 
 Top
Гость
Отправлено: 18 Мая, 2009 - 12:14:07
Post Id


УДАЛЁН










DarK Эээ а зачем вручную прописывать PHPSESSID елси он должен генерироватьс самим механизмом сессий при session_start()
 
 Top
DarK
Отправлено: 18 Мая, 2009 - 12:16:13
Post Id


Новичок


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


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




Радость а как мне session_start() -том работать ??? я хочу у себя сделать Не понял


Пример авторизации с помощью сессий

<?
if (isset($_POST['auth_name'])) {
$name=mysql_real_escape_string($_POST['auth_name']);
$pass=mysql_real_escape_string($_POST['auth_pass']);
$query = "SELECT * FROM users WHERE name='$name' AND pass='$pass'";
$res = mysql_query($query) or trigger_error(mysql_error().$query);
if ($row = mysql_fetch_assoc($res)) {
session_start();
$_SESSION['user_id'] = $row['id'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
}
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
if (isset($_GET['action']) AND $_GET['action']=="logout") {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/");
exit;
}
if (isset($_REQUEST[session_name()])) session_start();
if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
else {
?>
<form method="POST">
<input type="text" name="auth_name"><br>
<input type="password" name="auth_pass"><br>
<input type="submit"><br>
</form>
<?
}
exit;
?> у меня не работает незнаю почему

(Отредактировано автором: 18 Мая, 2009 - 12:20:02)

 
 Top
Платинум
Отправлено: 18 Мая, 2009 - 12:24:06
Post Id



Частый гость


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


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




DarK пишет:
if (isset($_GET['action']) AND $_GET['action']=="logout" {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/";

Сессия началась и сразу закончилась....странно очень...
А сессию надо в начало скрипта ставить, притом 1 раз.

(Отредактировано автором: 18 Мая, 2009 - 12:24:53)

 
My status
 Top
DarK
Отправлено: 18 Мая, 2009 - 12:28:46
Post Id


Новичок


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


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




а как правильно должно быть ???? Не понял
(Добавление)
Платинум пишет:
DarK пишет:
if (isset($_GET['action']) AND $_GET['action']=="logout" {
session_start();
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']."/";

Сессия началась и сразу закончилась....странно очень...
А сессию надо в начало скрипта ставить, притом 1 раз.





а как правильно должно быть исправте пож мой код :

<?php

require "db.php";
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = $_POST['pass'];
//md5($_POST['pass']) - hash functiya
$result=mysql_query("SELECT uname, surname FROM users WHERE login='".$login."' AND password='".$pass."' " );

$key=mysql_fetch_array($result);
if (!empty($key)){
echo '<br><br><font color=green> Добро пожаловать '.$key['uname'].' '.$key['surname'].'</font> ';
$_SESSION['auth'] = 'yes';
echo '<meta http-equiv="refresh" content="4, student.php"><input type="hidden" name="PHPSESSID" value="9ebca8bd62c830d3e79272b4f585ff8f" />';
}else{
echo '<br><br><font color=red> Ваш логин или пароль не правилен </font>';
}
}
?>
(Добавление)
вот правильный код !!!!
<?php
//$sql=mysql_connect('localhost','root','' ) or die('Ne smog podkluchitsya' );
//$db=mysql_select_db('regis' );
//mysql_query("set charset utf8" );
require "db.php";
if (isset($_POST['login'])){
$login = $_POST['login'];
$pass = $_POST['pass'];
//md5($_POST['pass']) - hash functiya
$result=mysql_query("SELECT uname, surname FROM users WHERE login='".$login."' AND password='".$pass."' " );

$key=mysql_fetch_array($result);
if (!empty($key)){
echo '<br><br><font color=green> Добро пожаловать '.$key['uname'].' '.$key['surname'].'</font> ';
$_SESSION['auth'] = 'yes';
echo '<meta http-equiv="refresh" content="4, student.php">;
}else{
echo '<br><br><font color=red> Ваш логин или пароль не правилен </font>';
}
}
?> заранее благодарю !!!!
 
 Top
Платинум
Отправлено: 18 Мая, 2009 - 13:52:22
Post Id



Частый гость


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


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




Вот ваш код, немного переделал, думаю подстроить под себя сможете =)!


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //$sql=mysql_connect('localhost','root','' ) or die('Ne smog podkluchitsya' );
  3. //$db=mysql_select_db('regis' );
  4. //mysql_query("set charset utf8" );
  5.  
  6. include ("db.php");
  7. if (isset($_POST['login']))
  8. {
  9. $login = $_POST['login'];
  10. $pass = $_POST['pass'];
  11. //md5($_POST['pass']) - hash functiya
  12. $result=mysql_query("SELECT uname, surname FROM users WHERE login='".$login."' AND password='".$pass."' ");
  13.  
  14. $key=mysql_fetch_array($result);
  15.  
  16.  
  17. if (!empty($key)){
  18. echo '<br><br><font color=green> Добро пожаловать '.$key['uname'].' '.$key['surname'].'</font> ';
  19. $_SESSION['login'] = $login;
  20. $_SESSION['pass'] = $pass;}
  21. else
  22. {
  23. echo 'Пароль, и логин неверны!';
  24. }}
  25. ?>

(Отредактировано автором: 18 Мая, 2009 - 14:02:16)

 
My status
 Top
Гость
Отправлено: 18 Мая, 2009 - 14:19:01
Post Id


УДАЛЁН










DarK Все равно не понятно откуда вы берете число 9eb (И там дале 16 знаков) и почему не пользуетесь настоящим идентификатором сессия и чем функция session_start() вам не угодила И еще зачем вам md5 который никуда ничего не возвращает
 
 Top
DarK
Отправлено: 18 Мая, 2009 - 15:09:13
Post Id


Новичок


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


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




Платинум пишет:
Вот ваш код, немного переделал, думаю подстроить под себя сможете =)!


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //$sql=mysql_connect('localhost','root','' ) or die('Ne smog podkluchitsya' );
  3. //$db=mysql_select_db('regis' );
  4. //mysql_query("set charset utf8" );
  5.  
  6. include ("db.php");
  7. if (isset($_POST['login']))
  8. {
  9. $login = $_POST['login'];
  10. $pass = $_POST['pass'];
  11. //md5($_POST['pass']) - hash functiya
  12. $result=mysql_query("SELECT uname, surname FROM users WHERE login='".$login."' AND password='".$pass."' ");
  13.  
  14. $key=mysql_fetch_array($result);
  15.  
  16.  
  17. if (!empty($key)){
  18. echo '<br><br><font color=green> Добро пожаловать '.$key['uname'].' '.$key['surname'].'</font> ';
  19. $_SESSION['login'] = $login;
  20. $_SESSION['pass'] = $pass;}
  21. else
  22. {
  23. echo 'Пароль, и логин неверны!';
  24. }}
  25. ?>











вот такая ошибка Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\xampp\htdocs\reg\index.php:5) in D:\xampp\htdocs\reg\auth.php on line 6
 
 Top
Платинум
Отправлено: 18 Мая, 2009 - 15:14:20
Post Id



Частый гость


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


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




DarK пишет:
вот такая ошибка Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\xampp\htdocs\reg\index.php:5) in D:\xampp\htdocs\reg\auth.php on line 6

Уберите session_start(); она уже у вас похожа что включена по умол.
 
My status
 Top
DarK
Отправлено: 18 Мая, 2009 - 15:18:19
Post Id


Новичок


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


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




Платинум пишет:
DarK пишет:
вот такая ошибка Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\xampp\htdocs\reg\index.php:5) in D:\xampp\htdocs\reg\auth.php on line 6

Уберите session_start(); она уже у вас похожа что включена по умол.


вот я тоже обетом же что получается если буду переносить сайт то сессия не будет ратотать или будет работать ???
 
 Top
Платинум
Отправлено: 18 Мая, 2009 - 15:21:05
Post Id



Частый гость


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


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




DarK пишет:
вот я тоже обетом же что получается если буду переносить сайт то сессия не будет ратотать или будет работать ???

Должно быть все нормально, когда перенесете пробуйте, если кинет ошибку то уберите
session_start();
 
My status
 Top
DarK
Отправлено: 18 Мая, 2009 - 15:23:39
Post Id


Новичок


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


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




Платинум пишет:
DarK пишет:
вот я тоже обетом же что получается если буду переносить сайт то сессия не будет ратотать или будет работать ???

Должно быть все нормально, когда перенесете пробуйте, если кинет ошибку то уберите
session_start();
спасибо за помошь !!!!
 
 Top
CodeWarrior
Отправлено: 19 Мая, 2009 - 16:31:40
Post Id



Частый гость


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


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




Про авторизацию еще можно прочитать тут:
http://gtahelp[dot]md6[dot]ru/php/9-pros[dot][dot][dot]vtorizacija[dot]html
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB