2016-02-14 87 views
2

我刚刚安装了XAMPP和PHP 7.我有一个脚本,以前工作过,但安装后有一个错误。我将展示一个也不起作用的例子。问题出在$ _POST,我想这可能是因为XAMPP或PHP中的配置。 “上线13 \ XAMPP \ PHP \ WWW \的index.php注意:在d名称:未定义指数”注意:未定义索引:名称

<?php 
echo "<form action='check.php' method=\"post\"> 
<input type=\"text\" name=\"name\" > 
<input type=\"submit\" name=\"submit\" value=\"ok\"> 
</form>"; 
if (isset($_POST['submit'])){echo $_POST['name'];} 
if (isset($_POST['name'])) var_dump($_POST['name']); 
?> 

此代码不返回任何东西,但如果我只是添加echo $_POST['name'];则返回错误。我该如何解决它?

+2

[PHP:“通知:未定义变量”和“通知:未定义指数”]的可能的复制( http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – Qirel

+0

尝试删除实际上不需要的反斜杠(\) –

+1

我删除了,而用户名为' \“名称\”。但没有任何改变。 @ A-2-A –

回答

0

看起来您已经在同一个脚本中为所有REQUEST_METHOD s编码。
没关系,但你必须区分你的反应:

  • 无论是送出去的形式,为用户填写并发送,
  • 或interprete的形式传输数据。

尝试从你采取了这种代码:

<?php 
    // Check if the form has been transmitted or not 
    if ($_SERVER['REQUEST_METHOD']=='POST') { 
     // A form was transmitted 
     if (isset($_POST['name'])) var_dump($_POST['name']); 
    } else { 
     // Send the form out so the user can transmit it 
     echo "<form action='check.php' method=\"post\"> 
<input type=\"text\" name=\"name\" > 
<input type=\"submit\" name=\"submit\" value=\"ok\"> 
</form>"; 
    } 
?> 
2

@hherger我删除XAMPP服务器和安装wampserver用PHP 5.6。现在它显示了另一个错误。

已弃用:自动填充$ HTTP_RAW_POST_DATA已弃用,将在未来的版本中删除。为避免此警告,在php.ini中将'always_populate_raw_post_data'设置为'-1',并改为使用php://输入流。在未知在线0

警告:无法修改标题信息 - 在未知的已发送就行头0