2013-03-17 73 views
0

我正在創建一個配置文件頁面,該頁面將在用戶使用GET方法登錄後從該url獲取該id。 但我仍然收到錯誤消息,他們沒有在保護頁面上進行會話,雖然會話不是空任何人都可以幫助我嗎?php mysql會話

這是代碼的一大塊

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"; 
} 

?> 

回答

0

,試圖在PHP腳本的頂部移動session_start,這樣

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

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

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

?> 
+0

感謝您的幫助......我只是想從URL獲得ID,你可以幫我 – user2172837 2013-03-17 16:13:27

0

session_start()必須包含任何標題前輸出,如果有兩個文件包含的任何輸出,這將導致會議的問題。另外,我很好奇你的輸出緩衝區是否會影響會話。嘗試將session_start()放在您的ob_start()呼叫之上。

0

你應該使用在session_start();在頁面

,如果你正在使用的user_id一個尖端的起點是數值

if((isset($_GET['user_id']))&&(is_numeric($_GET["user_id"]))) 
{ 
    $userid = $_GET['user_id']; 
}