2013-03-17 79 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']; 
}