$ _GET Doğrulanıyor

3 Cevap

Nasıl doğru kaynaktan gelen sayı şu $ _GET doğrulamak yok.

? Index.php page = ürün & catid = 5: Benim url benziyor

Kullanıcıların catid biri yok edilir 3 gibi bir şey koyduğunuzda. Ben hata mesajı görüntülemek istiyorum.

$catID = intval($_GET["catID"]);

if($catID) {
    $checkSQL = mysql_query("SELECT * FROM category WHERE category_type='2'");
    while($checkROW = mysql_fetch_array($checkSQL)) {
    $checkCAT != $checkROW["categoryID"];
    echo "err msg";
    }

Bu i kadar gelebilir ama o bile doğru sayfada hata msg ateş gibi çalışmıyor değil.

Teşekkür ederim

3 Cevap

wallk, iyi bir nokta yapar, eksik var. Ben bunu doğru okursanız ama, bu satırlar boyunca bir şey daha sizin için gidiyoruz ne olmaz? Şu anda satır:

if($catID) {

catid (ya da, $ _GET itibaren CATID) sıfır olmayan (yanlış değil) ise aslında sadece kontrol ediyor. Benim tahminim CATID categoryID SQL döndürülen olup olmadığını kontrol etmek isteyen varsa?

$catID = intval($_GET["catID"]);

checkcat($catID);

function checkcat($check_category) {
    $checkSQL = mysql_query("SELECT * FROM category WHERE category_type='2'");
    while($checkROW = mysql_fetch_array($checkSQL)) {
        if ( $check_category != $checkROW["categoryID"] ) {
            echo "err msg";
        } else { 
            echo "not an error message";
        }
    }
}

Sizin için ne arıyorsanız expounding, sonra nasıl böyle bir şey?

$catID = ($_GET["catID");

if ( !is_numeric($catID) ) {
    echo "Not a numeric category!"
} else {
    $checkSQLQuery = "SELECT * FROM category WHERE categoryID = '{$catID}' AND category_type='2'"
    $resultSQL = mysql_query($checkSQLQuery, $db);
    /* NOTE!:  Guessing on what your database resouce 
    pointer is - it isn't included in the origin snippet.
    Although, the last opened should be used by default if 
    this is left out. */
    if ( mysql_num_rows($resultSQL) < 1 ) {
        echo "Error message, category ID not found" 
    } else {
        echo "Found it!"
    }
}

Anlıyorum. Döngü içindeyken ilk satırı, bir "eğer" olmalıdır:

    while ($checkROW = mysql_fetch_array($checkSQL)) {
        if ($checkCAT != $checkROW["categoryID"])
            echo "err msg";

Siz) mysql_fetch_assoc () yerine mysql_fetch_array (kullanmak isteyen olacak gibi görünüyor.