Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблемы с сессией((
 
 автор: laki   (04.05.2010 в 19:34)   письмо автору
 
 

на сайте имеется страница авторизации 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($resMYSQL_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>";
         
       }
    }
?>

  Ответить  
 
 автор: root   (04.05.2010 в 19:40)   письмо автору
 
   для: laki   (04.05.2010 в 19:34)
 

>возвращаюсь на nmc_onp.php

1) что значит возвращаюсь?
2) когда возвращаетесь Вы постите $_POST['login']?
3) включайте вывод ошибок.

UPD.
print"Неправильний ввод <a href=nmc_onp.php >Повторити</a>";

это Вы на каком написали?

  Ответить  
 
 автор: laki   (04.05.2010 в 19:48)   письмо автору
 
   для: root   (04.05.2010 в 19:40)
 

возвращаюсь - это с любой страницы на сайте, кроме index.php, перехожу опять на nmc_onp.php , и тут сессия обнуляется. p.s. с сессиями работаю первый раз
print"Неправильний ввод <a href=index.php >Повторити</a>"; - исправила, опечточка вышла) там все на украинском + адреса перепутала
при возврате постица $_POST['login'] и $_POST['pass']

  Ответить  
 
 автор: root   (04.05.2010 в 19:56)   письмо автору
 
   для: laki   (04.05.2010 в 19:48)
 

Проблемы с сессией тут нет в принципе.
$_SESSION['login'] получает своё значение из $_POST'a.

<? print_r($_POST)
что покажет?

  Ответить  
 
 автор: laki   (04.05.2010 в 20:04)   письмо автору
 
   для: root   (04.05.2010 в 19:56)
 

выводит соответствующее значение из бд

  Ответить  
 
 автор: root   (04.05.2010 в 20:10)   письмо автору
 
   для: laki   (04.05.2010 в 20:04)
 

Вы хотите сказать, Вы со всех страниц 'login' постите?

  Ответить  
 
 автор: laki   (04.05.2010 в 21:26)   письмо автору
 
   для: root   (04.05.2010 в 20:10)
 

ага, это не правильно?

  Ответить  
 
 автор: laki   (30.05.2010 в 22:04)   письмо автору
 
   для: 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'];

  Ответить  
 
 автор: Trianon   (31.05.2010 в 01:50)   письмо автору
 
   для: laki   (30.05.2010 в 22:04)
 

(устало...)
Ну зачем, ради всего святого для Вас...
Зачем Вам пароль в сессии держать?
Ну ведь не нужен он вам там, хоть тресни...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования