2011-06-16 114 views
1

我的index.php文件我已經somethingk,如:與PHP的問題導致圖像

<?php 
    session_start(); 
    $_SESSION[some_value] = 1; 
?> 
<img src="image.php" alt="some image"/> 
<?php 
    $_SESSION[some_value] = 0; 
?> 

我image.php文件我有看起來像(基本代碼):

<?php 
    session_start(); 
    header("Content-Type: image/png"); 
    $im = @imagecreate(400, 20) 
    or die("Cannot Initialize new GD image stream"); 
    $background_color = imagecolorallocate($im, 255, 255, 255); 
    $text_color = imagecolorallocate($im, 233, 14, 91); 
    imagestring($im, 1, 5, 5,"session value is : {$_SESSION[some_value]}", $text_color); 
    imagepng($im); 
    imagedestroy($im); 
?> 

現在,當我加載我的index.php頁面在瀏覽器中的圖像中的值是session value is : 0,如何使它顯示1,然後在index.php代碼將其設置爲0(將image.php代碼添加到設置值爲0是不是我要找的)

回答

0

您遇到了問題,因爲在您的代碼中,即使兩個腳本都使用$_SESSION陣列,兩個腳本也不共享會話的內存。

這就是PHP如何以及何時存儲$_SESSION數組值的性質。

相反,您需要一個像數據庫或共享內存這樣的共享存儲來交換腳本之間的值。

-1

問題是瀏覽器加載了image.php之後index.php被加載。

你可以做這樣的事情:

<img src="image.php?some_value=<?php echo $_SESSION[some_value]; ?>" alt="some image"/> 

但是這取決於你的特定目的。