Недопустимое объявление массива в PHP? - PullRequest
0 голосов
/ 10 февраля 2010

Почему это не подтверждается валидатором W3C:

3 переменные из form.html собираются в form.php:

  <?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 ]

7 голосов
/ 10 февраля 2010

Почему это не подтверждается валидатором W3C:

Возможно, вы здесь что-то неправильно поняли. Код PHP генерируется на стороне сервера и выводит HTML (или нет). Ваш вышеупомянутый скрипт не пройдет валидатор HTML, потому что для валидатора он будет пустым. PHP и валидатор W3C не имеют ничего общего друг с другом.

Если вы получаете сообщение об ошибке PHP , пожалуйста, напишите его.

0 голосов
/ 10 февраля 2010

Попробуйте var_dump($_POST)

или немного проверки

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

Проверьте, все ли отправляется правильно ...

0 голосов
/ 10 февраля 2010

Попробуйте объявить ваш массив:

$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;

и примечание Ответ Пекки о разнице между PHP (на стороне сервера) и HTML (на стороне клиента).

0 голосов
/ 10 февраля 2010

Вроде бы хорошо, но попробуйте тоже:

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

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

 print_r($myarray);

Также убедитесь, что вы поместили свои поля в форму, например, form tag.

Обратите внимание , что php-код не проверяется валидатором W3C, это сгенерированный на стороне сервера код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...