0

ユーザーがGETメソッドを使用してログインした後、URLからIDを取得するプロファイルページを作成しています。しかし、セッションが空ではありませんが、保護ページでセッションが実行されていないというエラーメッセージが表示されますが、誰か助けてもらえますか?

これはコードの一部です

profile.php

<?php
ob_start();
require_once('for members/scripts/connect.php'); 
require_once('send_post.php'); 
   session_start();
   $sessionlogin = ($_SESSION['login']);
   $userid = ($_SESSION['user_id']);
   $username = ($_SESSION['username']);
   $fname = ($_SESSION['first_name']);
   $lname = ($_SESSION['last_name']);
   $sessionaddres =($_SESSION['address']);
    //echo "your do not have a session";
    var_dump($sessionlogin);
   var_dump($userid);
   var_dump($username);
// updatede for using the GET methode for ge the data nedded from the url 
if(isset($_GET['user_id']))
{
     $userid = $_GET['user_id'];
}
else
{
    echo "this is an error";
}

?>
4

3 に答える 3

0

session_startこのように、phpスクリプトの先頭に移動してみてください

<?php
session_start(); //SET SESSION START HERE
ob_start();

require_once('for members/scripts/connect.php'); 
require_once('send_post.php'); 

$sessionlogin = ($_SESSION['login']);
...
...
...

?>
于 2013-03-17T15:57:53.383 に答える
0

session_start()2 つのインクルード ファイルに出力がある場合、ヘッダーが出力される前にインクルードする必要があります。これにより、セッションで問題が発生します。また、出力バッファリングがセッションに影響を与えているかどうかも知りたいです。電話session_start()の上に置いてみてください。ob_start()

于 2013-03-17T15:57:30.853 に答える
0

session_start();を使用する必要があります。 ページの先頭に

user_id を使用している場合の 1 つのヒントは数値です

if((isset($_GET['user_id']))&&(is_numeric($_GET["user_id"]))) 
 {
   $userid = $_GET['user_id'];
 }
于 2013-03-17T16:02:06.640 に答える