[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация
blase
PHP
---*LOGIN_BASE.PHP:*---
$login="SELECT name, password FROM $table WHERE name ='$_aname'";
$res=mysql_query($login, $lonk) or die(mysql_error());

if (mysql_num_rows($res) < 1) {
         mysql_close();
         die('Такого пользователя нет!');
      }
$lname=mysql_result($res, 0,'name');
$lpass=mysql_result($res, 0,'password');

if ($lpass==$_apass){
echo "You enter how - $lname!";

вот такая у меня авторизация, правда долго думал, в результате попробовал с mysql_result и все заработало

теперь вопросец, мне надо для гостевой книги данные этого кода,
тоесть, вот этот $lname и его данные мне нужно перенести в файл ---*GUEST.PHP*---, где именно там я хочу написать "You enter how - $lname!" и остальную информацию о пользователе который авторизировался



я думал думал, думал думал как это сделать, и в итоге кроме этого ничего не придумал:
HTML
<form method=post action="GUEST.PHP">
$lname
</form>

знаю что глупость)) аж самому смешно), но мне надо какнибуть перенести эту переменную(с данными внутри) в файл guest.php

если вопрос непонятен, постараюсь переформулировать иначе



Спустя 50 минут, 58 секунд (14.08.2009 - 23:48) Gabriel написал(а):

Спустя 2 минуты, 38 секунд (14.08.2009 - 23:51) blase написал(а):
такое уже видел, но у меня же вовсе другой вопросец, название темы несовсем корректное

Спустя 23 минуты, 41 секунда (15.08.2009 - 00:14) Gabriel написал(а):
PHP
$lname $_SESSION['???'];

такое не подходит?

Спустя 9 часов, 47 минут, 54 секунды (15.08.2009 - 10:02) ИНСИ написал(а):
я обычно делаю так: есть файл ini.php в котором я пишу так:
PHP
if(isset($sessionlogin)) {
    
$check mysql_query("SELECT id,name,lastname FROM users WHERE login='{$sessionlogin}'",$db);
    
$myrow mysql_fetch_array($check);
    
    if(!isset(
$_POST['name'])) $myname mysql_real_escape_string(stripslashes($myrow["name"]));
}


а в файле "аторизации" просто создаю $_SESSION['login']. Потом где надо, я просто вытаскиваю имя $myname;

Спустя 1 день, 7 часов, 12 минут, 51 секунда (16.08.2009 - 17:15) blase написал(а):
спасибо!
и за ссылку тоже!
но мне всеравно не все понятно
как лучше в моем случае сделать? Дело в том что я еще тренируюсь, мне бы хотелось по подробнее узнать как использовать $_SESSION на моём примере, ибо в книжках непонятно, да и в ссылке Gabriel, ничего не объясняется

Спустя 6 часов, 7 минут (16.08.2009 - 23:22) Raito-kun написал(а):
создаешь сессию на всех нужных страницах в самом начале - session_start();

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

PHP
$row mysql_fetch_assoc($res);

$_SESSION['username'] = $row['username'];
$_SESSION['fullname'] = $row['fullname'];
...
и так далее. таким образом переписав все нужные параметры пользователя в переменные сессии. теперь на любой странице ты можешь оперировать этими данными. Например:

PHP
echo "Вы зашли как " $_SESSION['username'];


думаю понятно. естесственно нужно создать и ссылку на логаут. например так:

PHP
echo "Вы зашли как " $_SESSION['username'] . "<a href='logout.php'>Выйти</a>";


в logout.php достаточно просто создать и уничтожить сессию, а также можно перенаправить на главную:

PHP
session_start();
 
session_destroy();

 
header("Location: index.php");


и еще замечание по коду - слышал что mysql_result() достаточно медленная функция, лучше делать как я описал. и второе - пассы нужно хранить как минимум в md5 хэше, сравнивать так:

PHP
if (md5($lpass) == $_apass){


это из соображений безопасности.

Спустя 30 минут, 51 секунда (16.08.2009 - 23:53) blase написал(а):
ухты, ну ты просто выручил, щас буду кодить, спасибо огромное!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.