Регистрация в php, запуск и перенаправление сессии - PullRequest
2 голосов
/ 30 декабря 2011

У меня есть следующий файл registration.php:

<?php 
include_once("QueryNew.php"); 

if (!get_magic_quotes_gpc()) {

$email=addslashes($_POST["email"]);
$password=addslashes($_POST["password"]);
$confirmpassword=addslashes($_POST["confirmpassword"]);
$uid=uniqid();

}

if (trim($email," ") == "" || trim($password," ") == "" && trim($confirmpassword," ") == ""){
    echo "<script type='text/javascript'>window.location='logintips.php?regErr=All fields are mandatory'</script>";
}

if (trim($password," ") != trim($confirmpassword," ")){
    echo "<script type='text/javascript'>window.location='logintips.php?regErr=Passwords didnot match'</script>";
}

if (trim($email," ") != "" || trim($password," ") != "" && trim($confirmpassword," ") != ""){

        $insertQuery = "INSERT INTO user VALUES('".$uid."','".$email."','".$password."','',1,".CURRENT_TIMESTAMP.")";
        $qry = new QueryNew();
        $insert = $qry->executeSelect($insertQuery);

        $SELECT_STAR = "select uid, email, timezone from ";

        $selectQuery = $SELECT_STAR . "user" . " where email = '".$email."'";

        $qry = new QueryNew();
        $select = $qry->executeSelect($selectQuery);

        while($row = mysql_fetch_assoc($select)) {
            $uidS = $row['uid'];
            $emailS = $row['email'];
        }

**//store $uidS and $emailS in a session variable and redirect to a (home) page**

}
?>

Как только я закончу с запросами на вставку и выделением, я хочу создать сеанс и перенаправить на другую страницу.

Я попытался использовать session_start (), как показано ниже:

        session_start();
        $_SESSION[uid] = $uidS;
        $_SESSION[email] = $emailS;

        echo $_SESSION[uid];
        echo $_SESSION[email];

Что выдает ошибку:

**Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\website\try\MAIN\HOME\QueryNew.php:43) in C:\xampp\htdocs\website\try\MAIN\HOME\register.php on line 45**

Если есть способ лучше, чем выше, предложите.

Ответы [ 4 ]

1 голос
/ 30 декабря 2011

Прочитайте ваше сообщение об ошибке.

QueryNew.php генерирует некоторый вывод (в строке 43).Вы не должны ничего повторять или печатать перед началом сеанса.Вы можете начать сеанс до , включая QueryNew.php.

0 голосов
/ 30 декабря 2011

Просто поместите ob_start () в верхней части страницы, чтобы устранить эту ошибку

0 голосов
/ 30 декабря 2011
<?php ob_start();
if(session_id()){
//Session is already started
}else{
session_start();
}
?>
0 голосов
/ 30 декабря 2011
 ob_start();

------------------
-----------
-------

ob_end_flush() ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...