За последние 24 часа нас посетили 17872 программиста и 1638 роботов. Сейчас ищут 1332 программиста ...

Значение сессии пропадает

Тема в разделе "Вопросы от блондинок", создана пользователем Есенин, 24 июл 2007.

  1. Есенин

    Есенин Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    4
    Симпатии:
    0
    Здравствуйте я пишу форум.и столкнулся с такой проблемой.
    когда пользователь авторизуется я выдераю с базы его ник и создаю две переменые сессии $_SESSION['log']=log-означает что авторизован и $_SESSION['nik']=$nik это для того что бы можно было получить его ник когда он будет создавать топик или отвечать.
    Код (Text):
    1.  
    2. <?php
    3.  session_start();
    4.  Error_Reporting(E_ALL & ~E_NOTICE);
    5.  include "../conf/config.php";
    6.  include "../class/auth_class.php";
    7.  
    8.  $login=$_POST['login'];
    9.  $password=$_POST['password'];
    10.  
    11.  $login=mysql_escape_string($login);
    12.  $password=mysql_escape_string($password);
    13.  
    14.  $query="SELECT `id` FROM `usvers` WHERE `loginn`='$login' AND `passww`='$password'";
    15.  $res=mysql_query($query);
    16.  
    17.  if (mysql_num_rows($res)>0)
    18.  {
    19.      print("Logged <a href=../index.php>назад</a>");
    20.      
    21.    
    22.      $ares=mysql_query("SELECT `nik` FROM `usvers` WHERE `loginn`='$login' AND `passww`='$password' LIMIT 1") or die("nik error");
    23.      while ($row=mysql_fetch_array($ares))
    24.      {
    25.         $nik=$row['nik'];
    26.         $_SESSION['nik']="$nik";
    27.         $_SESSION['log']="log";
    28.        
    29.        
    30.        
    31.        
    32.      } 
    33.  }
    34.  else
    35.  {
    36.    
    37.    print("
    38.         Not loginned<br>
    39.         <a href=../html/login.html>LOGIN</a>
    40.        
    41.         ");    
    42.  }
    43.  
    44. ?>
    далее я хожу по форуму и везде значения сессии сохраняются кроме этого скрипта


    Код (Text):
    1.  
    2. <?php
    3.    session_start();
    4.    Error_Reporting(E_ALL & ~E_NOTICE);
    5.    include "../conf/config.php";
    6.    
    7.    print("$_SESSION[nik]"); /выводит pr1de не зависимо от ника авторизовавшегося
    8.    print("$_SESSION[log]");
    9.  
    10.    $nik=$_SESSION['nik'];
    11.    $t_name=$_REQUEST['t_name'];
    12.    $author=$_REQUEST['author'];
    13.    $question=$_REQUEST['question'];
    14.      
    15.    print("<img src=../images/1.gif width=760px height=100px border=0></img>");
    16.    print("<a href=../index.php>PHP FORUM</a><a href=../topics/t_show.php?t_name=$t_name> <b>|</b> PHP FOR BEGINNERS</a><br>");
    17.    
    18.    //ВЫТАСКИВАЕМ С БАЗЫ КОЛ-ВО ПРОСМОТРОВ ДАННОЙ ТЕМЫ И УВЕЛИЧИВАЕМ НА ЕДИНИЦУ===============================================
    19.    
    20.    $q="SELECT `kol_pros` FROM `".$t_name."` WHERE `author`='$author' AND `question`='$question' LIMIT 1";
    21.    $r=mysql_query($q) or die("kolopros_error");
    22.    while ($row=mysql_fetch_array($r))
    23.    {
    24.       $kol_pros=$row['kol_pros'];
    25.       $kol_pros++;
    26.       $r2=mysql_query("UPDATE `".$t_name."` SET `kol_pros`='$kol_pros' WHERE `author`='$author' AND `question`='$question'") or die("schetchik error");
    27.    
    28.    }
    29.      
    30.    
    31.    
    32.    //ВЫВОД ВОПРОСА АВТОРА=====================================================================================================================
    33.    $query="SELECT `opisanie` FROM `".$t_name."` WHERE `author`='$author' AND `question`='$question'";
    34.    $res=mysql_query($query) or die("opisanie error");
    35.    while ($row=mysql_fetch_array($res))
    36.    {  
    37.       $res=mysql_query("SELECT `fotoname` FROM `usvers` WHERE `nik`='$author'");
    38.       $opisanie=$row['opisanie'];
    39.       while ($row=mysql_fetch_array($res))
    40.       {
    41.          
    42.          $fotoname=$row['fotoname'];
    43.          
    44.          print("<img src=../photos/users/$fotoname></img><br><a href=../usvers/user_info.php?author=$author>$author</a><br>
    45.                 <img src=../images/line.gif></img>$opisanie<hr>
    46.                ");
    47.       }
    48.    
    49.    }  
    50.    
    51.      
    52.    //ПОЛУЧАЕМ ID ЧТО БЫ ВЫВЕСТИ ВСЕ ОТВЕТЫ ПО ДАННОЙ ТЕМЕ===========================================================================
    53.    $query_2="SELECT `key` FROM `".$t_name."` WHERE `author`='$author' AND `question`='$question' LIMIT 1";
    54.    $res_2=mysql_query($query_2) or die("id error");
    55.    while ($row_2=mysql_fetch_array($res_2)) {$key=$row_2['key'];}
    56.  
    57.    
    58.    
    59.    //ВЫВОДИМ ВСЕ ОТВЕТЫ======================================================================================================================
    60.     $query_3="SELECT `nik`,`answers` FROM `messages` WHERE `id`='$key' ORDER BY `date`";
    61.     $res_3=mysql_query($query_3) or die("authors and answers error");
    62.     while ($row_3=mysql_fetch_array($res_3))
    63.     {      
    64.         $nik=$row_3['nik'];
    65.         $answers=$row_3['answers'];
    66.         //достаем фотку автора
    67.         $res=mysql_query("SELECT `fotoname` FROM `usvers` WHERE `nik`='$nik' LIMIT 1");
    68.         while ($row=mysql_fetch_array($res))
    69.         {
    70.            $fotoname=$row['fotoname'];     
    71.            print("<img src=../photos/users/$fotoname></img><a href=../usvers/user_info.php?author=$nik>$nik</a><br>
    72.                  <img src=../images/line.gif></img>$answers<hr>
    73.                 ");
    74.         }              
    75.    
    76.     }  
    77.    
    78.        
    79.    
    80.    
    81.     print("
    82.             <form action=../answers/add_ans.php method='POST'>
    83.             <textarea rows=10 cols=40 name='ans' ></textarea><br>
    84.             <input type=hidden name='key' value='$key'>
    85.             <input type=hidden name='t_name' value='$t_name'>
    86.             <input type=hidden name='nik' value='$nik'>
    87.             <input type=hidden name='question' value='$question'>
    88.             <input type=hidden name='author' value='$author'>
    89.             <input type=submit value='отправить'>
    90.             </form>        
    91.            
    92.          ");
    93.            
    94.          
    95.          
    96.    
    97.  
    98. ?>  
    99.    
    100.    
    101.    
    102.    
    103.    
    104.    
    105.    
    в итоге записывается в базу сообщение с этим ником и как сами понимаете никуда не годится
    Помогите кто чем может
     
  2. Есенин

    Есенин Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    4
    Симпатии:
    0
    можете объяснить почему моя тема перемещена и получу ли я помощь по данной теме?
     
  3. basist

    basist Активный пользователь

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    Есенин, глянь в готовом форуме как это реализовано