【问题标题】:Illegal array-declaration in PHP?PHP中的非法数组声明?
【发布时间】:2010-02-10 09:54:03
【问题描述】:

为什么不使用 W3C 验证器进行验证:

form.html 中的 3 个变量进入 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;
  ?>   

【问题讨论】:

  • 我认为您可能需要键和值,post 变量是数组本身..
  • W3C (html) 验证器不应该看到任何 php 源代码,只能看到脚本的输出。由于您提供的代码 sn-p 不会打印验证器应该看到的任何内容......什么都没有。 a) 发布原始错误消息 b) 提供负责输出的代码。
  • 哦,当然你是对的,有一定的区别..但问题在于 print_r($myStuff) 稍后

标签: php arrays validation


【解决方案1】:

为什么不使用 W3C 验证器进行验证:

你可能在这里误解了一些东西。 PHP 代码在服务器端生成,并输出 HTML(或不输出)。您上面提到的脚本不会传递任何 HTML 验证器,因为对于验证器,它将是空的。 PHP 和 W3C 验证器没有任何关系。

如果您收到 PHP 错误消息,请发布。

【讨论】:

【解决方案2】:

看起来不错,但也试试这个:

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

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

 print_r($myarray);

还要确保将字段放在表单中,例如form 标签。

注意php代码不是由W3C验证器验证的,它是服务器端生成的代码。

【讨论】:

  • 是的,你的一切都是正确的,只是犯了一些错误......,谢谢!
【解决方案3】:

尝试声明你的数组:

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

并注意Pekka's answer PHP(服务器端)和 HTML(客户端)之间的区别。

【讨论】:

    【解决方案4】:

    试试var_dump($_POST)

    或一点验证

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

    检查所有内容是否正确发送...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多