2015-07-01 3 views
1

Я хочу, чтобы после регистрации страница продолжалась с сеансом. для этого я создал следующий код.php session не работает на сервере

if($_POST['action']=='finder_quick_reg') 
      { 
      extract($_POST); 
      print_r($_POST); 
      $result=$dbg->exec("INSERT INTO `login_register`(`email`, `password`, `reg_date`, `complite_register`, `type`) VALUES ('$client_mail','$client_password', now(),'0','c_finder')") or die("Insert Failed ".mysql_error()); 
      $lastId = $dbg->lastInsertId(); 
      $results=$dbg->exec("INSERT INTO `care_finder`(`postal_code`,`user_pic`, `login_id`,`f_name`, `l_name`, `gender`) VALUES ('$postal_code', 'default.jpg','$lastId', '$f_name', '$l_name', '$gender')")or die("Insert Failed ".mysql_error()); 

     } 
     else{echo 'error';} 

     if($results){ 
      include_once 'connection.php'; 
      $con=new connection(); 
      $dbg=$con->db; 
      $sql="SELECT * FROM `login_register` WHERE `login_id`='$lastId'"; 
      $stmt=$dbg->query($sql); 
      $rows=$stmt->fetch(PDO::FETCH_ASSOC); 
       session_start(); 
       //echo $lastId; 
       $_SESSION['Uname']=$rows['email']; 
       $_SESSION['pword']=$rows['password']; 
       $_SESSION['Utype']=$rows['type']; 
       $_SESSION['Uid']=$rows['login_id']; 

      } 

после этого db.php страницы он будет идти к user_index.php следующий код используется в user_index.php

<?php 
session_start(); 

if (!isset($_SESSION['Uname'])) { 
    //header("location:index.php"); 
    echo 'no sesseion'; 
} 
else { 
...... 
...... 
    } 

может кто-нибудь помочь мне

+0

Как я думаю, я думаю, вы должны использовать session_start(); наверху, как в файле заголовка или connection.php –

+0

Вы должны увидеть уведомление «не запускать сеанс, заголовки уже отправленные», установить надлежащее [сообщение об ошибках] (http://php.net/manual/en/errorfunc.configuration. php # ini.error-reporting) и [показать все ошибки] (http://php.net/manual/en/errorfunc.configuration.php#ini.display-errors) во время разработки. –

+0

Только в 1-й раз, когда я регистрирую сессию, не работает, в другое время это работает. Это проблема. – sanji

ответ

0
session_start(); 

должно поступать со страницы входа в систему.

1

Вы выводя перед тем начиная с сессии

if($_POST['action']=='finder_quick_reg') 
{ 
    // ... 
    print_r($_POST); 
    // ... 
} 
else { echo 'error'; } 

И из названия я бы предположил, что error_reporting выключен на сервере, в противном случае вы бы увидели сообщение об ошибке вдоль линий

Предупреждение: Не удается изменить информацию в заголовке - заголовки уже прислал ...

Вы должны начать сеанс точно так же, как и в вашем другом файле - в самом начале его, перед всеми другими утверждениями.


На стороне записки, посмотрите на точку notes in the documentation for export() function, там написано, почему/что это плохая идея, чтобы использовать его на непроверенных данных.