使用$ _GET时,通过URL传递值只是获取空白页面

时间:2011-04-17 09:19:31

标签: php url variables

这是用于从数据库获取信息的代码,我暂时从echo语句中取出的图像,以及产品的名称。当我点击产品名称时,它会将我发送到cart.php,并且当我将鼠标悬停在文本上时应该在浏览器中显示的URL中传递值,但是当我点击它时,请将我发送到cart.php并显示一个空白页面

$product_types = get_all_subjects2(); function is just the query

  while($products = mysql_fetch_array($product_types))
{
   $name = $products['name'];
   $address = $products['image_location'];


    echo '<ul>';
    echo "<li><a href=\"http://localhost/project/cart.php?subj="  .   urlencode($products["name"]) . 
        "\">{$products["name"]}</a></li>";

代码

<?php

if (isset($_POST['subj']))
{

    $a = $_POST['subj'];
    echo $a;
}

 else {
            echo"error";
         }
?>

2 个答案:

答案 0 :(得分:2)

$_POST请求后

POST存储的值。如果您通过普通链接进行导航,则表示您正在执行GET次请求。请查看$_GET

总是输出有效的HTML也是一个好主意。否则,浏览器可能会也可能不会呈现您正在输出的内容。

答案 1 :(得分:1)

您通过GET发送您的参数。所以要求$_POST不是正确的想法;)。

对于Debbugging,在目标站点中使用此语句非常好:

echo '<pre>', print_r($_REQUEST), '</pre>';

最佳, 基督教

添加:测试代码..工作正常:

<?php

echo '<pre>', print_r($_REQUEST), '</pre>';

if (isset($_GET['subj'])) {

    $a = $_GET['subj'];
    echo $a;

} else {

    echo 'error';

}

?>