2013-10-28 27 views
-2

我有一个脚本picture.php包含此代码PHP:试图隐藏图像,如果会议没有启动

<?php 
if(isset($_GET['pic']) && isset($_SESSION)) 
{ 
    $img = imageCreateFromPng($_GET['pic']); 
    header("Content-type: image/png"); 
    imagePng($img); 
    imagedestroy($img); 
} 

else 
{ 
    echo 'hidden'; 
    die; 
} 
?> 

我试图隐藏从picture.php时产生的图像会话未启动。 我有其他的页面命名show.php其中包含一个代码

<?php 
    session_start(); 

    echo '<img src="picture.php?pic=apple.png" />' ; 
?> 

的问题是图像不会show.php甚至会议节目开始显示。 php为什么?

回答

0

如果你要检查一些会话变量,然后不要忘了在上面

尝试启动会话:

<?php 
session_start(); 
if(empty($_GET['pic']) && empty($_SESSION)) 
{ 

    echo 'hidden'; 
    die; 
} 

else 
{ 
    $img = imageCreateFromPng($_GET['pic']); 
    header("Content-type: image/png"); 
    imagePng($img); 
    imagedestroy($img); 
} 
?> 

可以此帮助... start_session();

+0

无无无它生成使用** picture.php PIC = apple.png **就是我的形象呢?试图做的是在** show.php **它会产生图像,但加入URL ** picture.php?pic = apple.png **不会显示它必须被隐藏的图像。 – Detention

0

实际上,你可能想如果会话被认为已经开始,则为“flag”。

picture.php:

session_start(); 
if(isset($_GET['pic']) && isset($_SESSION['initialized'])) 
{ 
    unset($_SESSION['initialized']); 
    $img = imageCreateFromPng($_GET['pic']); 
    header("Content-type: image/png"); 
    imagePng($img); 
    imagedestroy($img); 
} 
else 
{ 
    echo 'hidden'; 
    die; 
} 

show.php:

session_start(); 
$_SESSION['initialized'] = true; 

echo '<img src="picture.php?pic=apple.png" />' ;