Neden benim form değeri $ _REQUEST görünmüyor?

6 Cevap php

Ben bir HTML formundan bu kodu vardır:

<select name="history12">
    <option value="Gov/Econ">Government &amp; Economics</option>
    <option value="AP Gov/Econ">AP Government &amp; Economics</option>
</select>

... Ve bu kod, bir mailler formda:

$history12 = $_REQUEST['history12'] ;

I () $ history12 echo çalıştığınızda Ancak, her zaman boş döner. Diğer girişler ince (metin ve radyo) iş ama seçtiği üzerinde bonking bulunuyor gibi görünüyor çünkü ben yanlış yapıyorum bilemiyorum.

6 Cevap

Kontrol etmek için bir kaç şey

Belki de bekliyoruz şeyi gösteriyor sağlamak için, tüm $ _REQUEST değişken çıkarılırken deneyebilirsiniz. 'History12' tuşuna ayarlı ise o kudreti azından göstermektedir.

print_r($_REQUEST);

Eğer temiz bir biçimde kodunuzu tekrar ettik ve iyi çalışıyor. Sizin sorun başka bir yerde olmalı.

Bu kodu alın ve diğer bileşenleri eklemek başlar, sen wich biri size sorun veriyor test edebilirsiniz.

<form action="test.php" method="post">
<select name="history12">
    <option value="Gov/Econ">Government &amp; Economics</option>
    <option value="AP Gov/Econ">AP Government &amp; Economics</option>
</select>
<input name="send" type="submit" value="send" />
</form>
<?php

if(isset($_POST['history12'])) {
    $history12 = $_REQUEST['history12'] ;
    echo $history12;
}
?>

Eğer yanlışlıkla aynı adla yukarıda bir sonra başka bir form öğesi yok sağlamıştır?

Ben aynı isim ve hiçbir değeri ile ondan sonra o bir gizli alan bir açılan, örneğin "history12" yaşadım ama kez bir çift. Bu seçimi üzerine yazacaktır.

Eğer formu göndermek zaman emin olun bir şey seçilir.

Bir şey varsayılan olarak seçilmiş, bu nedenle yere değişkeni silerek veya seçeneğini koyarak önce html formunuzu kapanış daha muhtemeldir.

Ayrıca bazı hatalı biçimlendirilmiş html başka forma korkak bir şey yapıyor olabilir.

Ben bu çalıştırdığınızda:

<form action='me.php' method='POST'>
<select name="history12">
    <option value="Gov/Econ">Government &amp; Economics</option>
    <option value="AP Gov/Econ">AP Government &amp; Economics</option>
</select>
<input type='submit' name='submit' value='lksjdflk' />
</form>
<pre>
<?php 

var_dump($_REQUEST);

?>
</pre>

i bu olsun:

array(2) {
  ["history12"]=>
  string(11) "AP Gov/Econ"
  ["submit"]=>
  string(8) "lksjdflk"
}

Siz formu ve o sunucu tarafı alan bulunuyor kod etrafında html göndermek gerekiyor.

Ayrıca, "Gov Ekon" için "Gov / Ekon" den değerlerini değiştirmeyi deneyin ve ne olsun görmek. Sen $ _REQUEST işleme ve düzenli ifadeler falan korkak bir şey yapıyor ve değer kuruyor bazı kod çalışıyor olabilir.