|
|
|
| на сайте имеется страница авторизации index.php, данные передаются в файл nmc_onp.php. После этого есть возможность перехода по разным ссылкам. Так вот, когда с какой-либо страницы возвращаюсь на nmc_onp.php, значение в сессии обнуляется. Подскажите пожалуйста как этого можно избежать, если конечно можно.
index.php
<?php
$usn="root";
$pasw="#";
$server="localhost";
$dbname="metod";
$servcon=mysql_connect($server,$usn,$pasw, 'true');
mysql_select_db($dbname, $servcon);
mysql_query("SET NAMES 'cp1251'");
<form action="nmc_onp.php" method="POST">
<p><b>Логін: </b><select name="login">
<?php
mysql_select_db($dbname, $servcon);
$sql="SELECT * FROM users";
$res=mysql_query($sql,$servcon);
while ($rs = mysql_fetch_array($res, MYSQL_ASSOC))
{
print"
<option value=". $rs['login'].">". $rs['Name']."</option>";
}
</select>
<p><b>Пароль:</b> <input type=password name=pass></p>
<p><input type=submit name=submit value=Ввійти ></p>
</form>
?>
|
nmc_onp.php.
<?php
session_start();
$usn=$_POST['login'];
$pasw=$_POST['pass'];
$server="localhost";
$dbname="metod";
$_SESSION['login']=$usn;
$servcon=mysql_connect($server,'root','1111', 'true');
mysql_select_db($dbname, $servcon);
mysql_query("SET NAMES 'cp1251'");
$sql="SELECT * FROM users WHERE login = '".$usn ."'";
$res=mysql_query($sql,$servcon);
if ($res)
{
while($row=mysql_fetch_object($res))
{
$log= $row->login;
$pswd=$row->password;
$priv=$row->privat;
}
}
if($log==$usn)
{
if($pasw==$pswd)
{
if ($priv=="1")
{
print"<p class=cite align=left>Ви ввійшли як ...</p>";
}
if ($priv=="2")
{
print"<p class=cite align=left>Ви ввійшли як ...</p>";
}
}
else
{
print"Неправильний ввод <a href=nmc_onp.php >Повторити</a>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: laki
(04.05.2010 в 19:34)
| | >возвращаюсь на nmc_onp.php
1) что значит возвращаюсь?
2) когда возвращаетесь Вы постите $_POST['login']?
3) включайте вывод ошибок.
UPD.
print"Неправильний ввод <a href=nmc_onp.php >Повторити</a>";
это Вы на каком написали? | |
|
|
|
|
|
|
|
для: root
(04.05.2010 в 19:40)
| | возвращаюсь - это с любой страницы на сайте, кроме index.php, перехожу опять на nmc_onp.php , и тут сессия обнуляется. p.s. с сессиями работаю первый раз
print"Неправильний ввод <a href=index.php >Повторити</a>"; - исправила, опечточка вышла) там все на украинском + адреса перепутала
при возврате постица $_POST['login'] и $_POST['pass'] | |
|
|
|
|
|
|
|
для: laki
(04.05.2010 в 19:48)
| | Проблемы с сессией тут нет в принципе.
$_SESSION['login'] получает своё значение из $_POST'a.
что покажет? | |
|
|
|
|
|
|
|
для: root
(04.05.2010 в 19:56)
| | выводит соответствующее значение из бд | |
|
|
|
|
|
|
|
для: laki
(04.05.2010 в 20:04)
| | Вы хотите сказать, Вы со всех страниц 'login' постите? | |
|
|
|
|
|
|
|
для: root
(04.05.2010 в 20:10)
| | ага, это не правильно? | |
|
|
|
|
|
|
|
для: laki
(04.05.2010 в 21:26)
| | уже сделала)) просто не знала что так можно, все оказалось банально просто:
session_start();
if ($_SESSION['loginq']=="")
{
$_SESSION['loginq']=$_POST['login'];
}
if($_SESSION['passq']=="")
{
$_SESSION['passq'] = $_POST['pass'];
}
$usn=$_SESSION['loginq'];
$pasw=$_SESSION['passq']; | |
|
|
|
|
|
|
|
для: laki
(30.05.2010 в 22:04)
| | (устало...)
Ну зачем, ради всего святого для Вас...
Зачем Вам пароль в сессии держать?
Ну ведь не нужен он вам там, хоть тресни... | |
|
|
|