2012-06-03 86 views
1

因此,我查看了不同的帖子和其他資源,我仍然無法使其工作。 似乎基本和普通,但我迷路了。 這是我的代碼。 頁 「test_start.php」:通過重定向的頁面傳遞php變量

<html> 
<head> 
<title>Test</title> 
</head> 
<body> 
    <p>Click <a href="test_script.php">here</a></p> 
</body> 
</html> 

頁 「test_script.php」:

<?php 
    session_start(); 
    $_SESSION['passed']="My text!"; 
    header("Location: test_ultima.php"); 
?> 

頁 「test_ultima.php」:

<?php session_start(); ?> 
<html> 
<head> 
    <title>Something</title> 
</head> 
<body> 
    <p>This text shows, so redirect worked!</p> 
    <?php 
     echo "<p>Result isset: ".isset($_SESSION['passed'])."</p>"; 
     echo "<p>I passed:".$_SESSION['passed']."</p>"; 
    ?> 
</body> 
</html> 

當我點擊鏈接我看到以下內容:

此文本顯示,所以重定向工作!
結果isset:
我通過:

我在做什麼錯? 請,如果可以的話,也explein爲什麼它應是如何工作的?

注意添加:第一個文件名爲.php,因爲最終它也會包含一些PHP代碼......這顯然是一個例子,首先使其工作,並瞭解它是如何工作的...

+0

你在PHP中啓用了錯誤報告嗎? – PeeHaa

+0

我的PHP是非常在「默認」設置,默認啓用它?如果不是,我該如何啓用它? – rodedo

+0

在第二頁上放置print_r($ _ SESSION)以查看內容 – codingbiz

回答

1

由OP評論:

在session_start()[function.session啓動]:開放(C:\ PHP \會議\ sess_87ruc3n1gb0e5ivlsfurgr0nr0,O_RDWR)失敗:第3行的C:\ Inetpub \ wwwroot \ missione-berna.ch \ test_ultima.php中沒有這樣的文件或目錄(2)

這意味着PHP嘗試寫入會話的目錄不存在,或者它只是沒有在此目錄中讀/寫的權限。

所以你首先需要檢查目錄是否實際存在。如果存在,您應該檢查該目錄上的apache(或其他webservice)用戶的權限。

+1

所以這個問題是在我的PHP安裝設置,php.ini指向文件夾「會話」,但文件夾名稱拼寫(會話)。感謝這一切,這是有益的! – rodedo

+0

讓這成爲你的一課。 **總是**在開發時啓用錯誤報告。 :-) – PeeHaa