Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > session_start()


Автор: Spiker 17.2.2007, 18:48
Когда я захожу через логин форму он меня переводит в мои акаунт но кода я перезажу на другую страницу и опять на главную я типерь другой акаунт!? что делать? хелп 

Заранее Спасибо!

Автор: mishaSL 17.2.2007, 19:09
Покажи код авторизации и код проверки пользователя после прохождения авторизации.

Автор: Spiker 17.2.2007, 19:14
Накаждои странице стоит
Код

<?php 
session_start();
$username=$_SESSION['username']; 
$password=$_SESSION['password']; 

mysql_connect("localhost", "root", "") or die("There was an error connecting to the mysql server."); 
mysql_select_db("game"); 

mysql_query("SELECT * FROM logsys WHERE username='$username' AND password='$password'");

для проверки

Автор: Spiker 17.2.2007, 19:35

Можеть ставить ето вначале каждой страници?

Код

<?php
ob_start();
session_start();
?>


и ето в конце каждой страници?

Код

<?php
ob_end_flush();
?>

Автор: mishaSL 17.2.2007, 19:39
Посмотри пожалуйста:
http://vingrad.ru/PHP-PHPSCRIPTS-002849
http://forum.vingrad.ru/topic-135561/hl/%25D0%25B0%25D0%25B2%25D1%2582%25D0%25BE%25D1%2580%25D0%25B8%25D0%25B7%25D0%25B0%25D1%2586%25D0%25B8%25D1%258F/index.html


Сравнивай по ID пользователя, а не по логину и паролю.

Автор: Spiker 17.2.2007, 19:40
Спасибо, сейчас посмотрю.

Автор: Spiker 18.2.2007, 20:17
Цитата(mishaSL @ 17.2.2007,  19:39)
Сравнивай по ID пользователя, а не по логину и паролю.

Вот так?

Код

$id=mysql_query("SELECT id FROM logsys WHERE username='$username' password='$password')

$result=mysql_query("SELECT * FROM logsys WHERE id='$id'"); 
if(mysql_num_rows($result) == 0){ 
die("Sorry, you are no longer logged in, please login again to continue playing."); 
} 

Автор: mishaSL 18.2.2007, 20:30
Цитата(Spiker @  18.2.2007,  20:17 Найти цитируемый пост)
Вот так?

Нет.

В сессии хранишь хэш и ID пользователя и соответственно проверяешь совпадения хэша по его ID.

Автор: helflip 19.2.2007, 09:26
Вот так если хочешь, самый простой способ и более-мене безопасный smile 
Код

<?php 
session_start();
if(isset($_POST['enter']) && $_POST['enter'] == 'Enter'){
    $username = $_SESSION['username'] = $_POST['login'];
    $password = $_SESSION['password']= md5($_POST['psw']);
    mysql_connect("localhost", "root", "") or die("There was an error connecting to the mysql server."); 
    mysql_select_db("game"); 
    $qyery = mysql_query("SELECT * FROM logsys");
    while ($row = mysql_fetch_array($qyery)){
        if($row['username'] == $username && md5($row['password']) == $password){
            //делай че надо
        }
    }

    //print $_SESSION['username'].' - '.$_SESSION['password'];
}?>
<form action="" method="POST">
Log In: <input type="text" name="login">
PSW:<input type="password" name="psw">
<input type="submit" name="enter" value="Enter">
</form>

Автор: Spiker 20.2.2007, 00:46
Большое спaси6о!  smile 

Я тут уже думал Nuke 'взламывать' и переделовать

Добавлено @ 00:53 
Моя.... 6ыла ... 

логин.пхп
Код

<table width="300px" height="110px" align="center" style="font-family:Verdana;">
<tr align="center"><td><h3>Login</h3></td></tr>
<form action="loginprocess.php" method="post">
<tr align="center"><td>Username: <input type="text" name="username"></td></tr>
<tr align="Center"><td>Password: <input type="password" name="password"></td></tr>
<tr align="center"><td><input type="submit" value="Login" name="login"></td></tr>
</form>
<tr align=center><td><a href=register.php>Register</a></td></tr>
</table>  



и логинпроцес.пхп
Код

<?php
session_start();
if(isset($_POST['login']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$password = md5($password);
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("game") or die(mysql_error());
$res = mysql_query("SELECT * FROM logsys WHERE username='$username' AND password='$password'");
if(mysql_num_rows($res) == 0)
{
 echo("<center><font face=\"Verdana\">We did not find your user details, please go <a href=\"logsys/login.php\">back</a> and try again.");
}
else
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("Location: ismember.php");
}
}
?> 

Автор: Spiker 20.2.2007, 01:17
... поиду 'ЧЕНИТь' портальные системы ... smile

Автор: DIAgen.G 20.2.2007, 16:04
Цитата(Spiker @ 19.2.2007,  23:17)
... поиду 'ЧЕНИТь' портальные системы ... smile

Вот только сделай проверку переменой 
Код

$username = $_POST['username'];

А то последствия будут не радужные!

Автор: helflip 21.2.2007, 10:55
Ломай Нюк 2 http://d2c-nuke.org/ и вот как он выглядит у меня - http://www.nexe.ru/ smile У него большие возможности!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)