PHP Yasadışı dizi-beyan?

4 Cevap php

Neden bu W3C validator ile doğrulamaz:

Form.html form.php girmeden 3 değişkenleri:

  <?php

   $stuff1 = $_POST["stuff1"];//catch variables
   $stuff2 = $_POST["stuff2"]; 
   $stuff3 = $_POST["stuff3"]; 
   $myStuff[0] = $stuff1;//put into array
   $myStuff[1] = $stuff2;
   $myStuff[2] = $stuff3;
  ?>   

4 Cevap

Neden bu W3C validator ile doğrulamaz:

Burada bir şey yanlış anlama olabilir. PHP kodu sunucu tarafında oluşturulan ve çıkışları HTML (ya da değil). Onaylayıcısına, boş olacak çünkü yukarıda belirtilen komut, herhangi bir HTML doğrulayıcı geçmek olmaz. PHP ve W3C validator birbirleri ile hiçbir ilgisi yoktur.

Bir PHP hata mesajı alıyorsanız, bunu yayınlayın lütfen.

Bu güzel olabilir ama bu çok denemek görünüyor:

 $stuff1 = $_POST["stuff1"];
 $stuff2 = $_POST["stuff2"]; 
 $stuff3 = $_POST["stuff3"]; 

 $myarray = array();
 $myarray[] = $stuff1;
 $myarray[] = $stuff2;
 $myarray[] = $stuff3;

 print_r($myarray);

Ayrıca form örneğin form etiketi içinde sizin alanlarını koymak emin olun.

Note php kod W3C validator tarafından onaylanmış olması bir şey değil, bu sunucu tarafı kod oluşturulur.

Diziyi bildirmek deneyin:

$stuff1 = $_POST["stuff1"];//catch variables
$stuff2 = $_POST["stuff2"]; 
$stuff3 = $_POST["stuff3"]; 
$myStuff = array();
$myStuff[0] = $stuff1;//put into array
$myStuff[1] = $stuff2;
$myStuff[2] = $stuff3;

ve not Pekka's answer PHP (sunucu tarafı) ve HTML (istemci tarafı) arasındaki fark hakkında.

Try var_dump($_POST)

veya doğrulama biraz

if (isset() && !empty($_POST["stuff1")) {
    $myStuff[0] = $_POST["stuff1"];
} else {
    echo '$_POST["stuff1"] error';
}

Giriş her şeyi doğru genelinde gönderilen ediliyor ...