2012-07-20 94 views
1

在我的網站的一個頁面上,變量存儲在會話和另一個頁面中,我需要它們再次使用,但它不起作用。PHP會話不能正常工作

這是第一頁。

<?php 
session_start(); 
$_SESSION['email']=$_POST["email"]; 
$_SESSION['username']=$_POST["uname"]; 
$_SESSION['password']=$_POST["cpass"]; 
?> 

<html> 

這是第二頁,只是這個簡單,但我不能得到它的工作。

<html> 
<body> 
$emailcc = $_SESSION['email']; 
$usernamecc = $_SESSION['uname']; 
$passcc = $_SESSION['cpass']; 

我的第二個頁面更新

<?php 
session_start(); 
?> 

<html> 
<body> 

<?php 

$emailcc = $_SESSION['email']; 
$usernamecc = $_SESSION['uname']; 
$passcc = $_SESSION['cpass']; 

它仍然當我嘗試將其添加到SQL或輸出變量是空白不起作用。

mysql_query("INSERT INTO Users (Username, Password, Email, Notes, Pass) 
VALUES ('$usernamecc', '$passcc', '$emailcc', 3, 1)"); 

回答

10

你在第二頁的頂部需要<?php session_start(); ?>,或之前的任何輸出發送到瀏覽器(除非你使用的輸出緩衝)。

此外,您的第二個文件需要由PHP解析,因此如果它是HTML文件,則需要將其重命名爲.php或配置服務器以解析.html文件。

+0

我只想補充一點,或者我有權利要求在html標籤上方的變量,如上述回答說? – 2012-07-20 19:58:28

+0

您只需添加 - 只要您已經調用了'session_start();''''',您就可以隨時從'$ _SESSION'中獲取變量。 – nickb 2012-07-20 19:59:09

+0

你會看看我所做的代碼更新嗎?它似乎仍然不起作用。 – 2012-07-20 20:06:41

2

試試這個第二頁上:

<?php 
session_start(); 
$emailcc = $_SESSION['email']; 
$usernamecc = $_SESSION['uname']; 
$passcc = $_SESSION['cpass']; 
?> 

使用會話之前,你必須調用在session_start()

0

試試這個第一頁上:

<?php 
session_start(); 
$_SESSION['email']=$_REQUEST["email"]; 
$_SESSION['username']=$_REQUEST["uname"]; 
$_SESSION['password']=$_REQUEST["cpass"]; 
?> 

試試這個第二頁:(您在本頁使用了錯誤的會話名稱)

<?php 
session_start(); 
$emailcc = $_SESSION['email']; 
$usernamecc = $_SESSION['username']; 
$passcc = $_SESSION['password']; 
?> 

MYSQL

mysql_query("INSERT INTO Users (Username, Password, Email, Notes, Pass) 
VALUES ($usernamecc, $passcc, $emailcc, 3, 1)");