如何检查是否未设置$ id

时间:2014-01-06 09:34:34

标签: php

所以我得到了一些代码,我需要检查id是否未设置。

$id = mysql_real_escape_string($_GET['id']);
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
    if (!isset($_GET["id"])){
        echo "Vælg en underside";
    } else {
        echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
    }
}

当我在网址中输入genrer.php?id=1时,它工作正常,但当我只输入genrer.php时,它不输出“Vælgenunderide”

7 个答案:

答案 0 :(得分:3)

你能试试吗,

    if (!isset($_GET["id"])){
         echo "Vælg en underside";
    } else {        
        $id = mysql_real_escape_string($_GET['id']);
        $genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
        while($ge = mysql_fetch_array($genrer)) {               
                echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";                
        }
    }

答案 1 :(得分:0)

如果您未将id传递给genrer.php,则脚本不会输出“Vælgenunderide”,因为$ge = mysql_fetch_array($genrer)从一开始就会产生false因此,while循环的主体永远不会被执行。

答案 2 :(得分:0)

if (!isset($_GET['id']) || !$_GET['id']){
    echo "Vælg en underside";
} else {
    $id = mysql_real_escape_string($_GET['id']);
    $genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
    while($ge = mysql_fetch_array($genrer)) {
        echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
    }
}

答案 3 :(得分:0)

像这样使用:

if (!isset($_GET["id"])){
     echo "Vælg en underside";
} else { 
    $id = mysql_real_escape_string($_GET['id']);
    $genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
    while($ge = mysql_fetch_array($genrer)) {

            echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";

    }
}

答案 4 :(得分:0)

$id = $_GET['id'];
if(isset($id)){
    $genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
    while($ge = mysql_fetch_array($genrer)) {
         echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
    }
}else
    echo "Vælg en underside";
}

答案 5 :(得分:0)

因为你没有设置$ id查询没有执行,所以while循环不起作用。这就是为什么它不会回应Vælgenunderide。 试试这个

if (!isset($_GET["id"])){
     echo "Vælg en underside";
} 

答案 6 :(得分:-1)

使其回退默认值。

$id = mysql_real_escape_string(isset($_GET['id']) ? $_GET['id'] : '0');
$genrer = mysql_query("SELECT id, overskrift, brodtekst FROM rb_genrer WHERE id=$id");
while($ge = mysql_fetch_array($genrer)) {
    if (!isset($id)){
        echo "Vælg en underside";
    } else {
        echo "<div class='overskrift'><h2>" . $ge["overskrift"] . "</h2></div> <p>" . $ge["brodtekst"] . "</p>";
    }
}