0

我制作了这个 php 文件并将其上传到我的免费主机。它工作正常。当我不提交表单时,它什么也不显示。(在这里你可以看到它:http ://tuku.net63.net/test.php )

<form method="post">
    <input name="name"></input>
    <input type="submit"></input>
</form>

<?php
    echo $_POST['name'];
?>

但是现在我已经将完全相同的文件上传到我的 xammp 服务器,当我不提交表单时,它会显示此错误:

Notice: Undefined index: name in C:\xampp\htdocs\test.php on line 7

它与PHP设置有关吗?我不知道?

谢谢!

4

4 回答 4

1

您的开发服务器已关闭警告,这非常糟糕!

您的生产服务器已打开警告,这可能很糟糕。

在开发中使用:error_reporting(E_ALL);获取所有错误和警告。还要确保您已将“display_errors”设置为 true。ini_set("display_errors", 1);

于 2013-02-12T23:06:13.887 回答
0

如果您不提交任何内容,$_POST['name']则未定义。您应该检查它是否已设置:

if (isset($_POST['name'])) {
   echo $_POST['name'];
}

您的免费主机可能设置为不显示错误,这就是您看不到它的原因。

于 2013-02-12T23:05:53.640 回答
0

通知是正确的。您还没有提交表格,也没有$_POST

于 2013-02-12T23:06:02.977 回答
0

@Heroking 在 PHP 中有一个高度可定制的错误报告系统。使用它,您可以设置要显示的所有错误,例如通知、警告、错误、致命错误、启动错误等...在生产服务器配置中(主机配置)出于安全原因,所有类型的错误报告都将被关闭,因为它使公众很容易看到错误并制作代码大纲。而且在中间看到错误(也是未格式化的纯文本)非常烦人美丽的网页...

但是在开发服务器配置中,例如 xamp、wamp 和其他大多数错误报告选项将默认启用。这有助于调试 PHP 代码。这就是您在家庭开发服务器中看到错误但在主机上看不到错误的原因服务器。

于 2014-05-13T17:00:14.690 回答