Php 为什么书中的演示代码会出现错误;未定义索引“;

Php 为什么书中的演示代码会出现错误;未定义索引“;,php,sql,forms,Php,Sql,Forms,我正在学习php。我正在读的书是“PHP和mysql web开发” 对于第394页上的代码,它有如下错误: 你能告诉我怎么了吗 代码如下所示: <?php $name = $_POST['name']; $password = $_POST['password']; if ((!isset($name)) || (!isset($password))) { ?> <h1>Please log in<h1> <p>

我正在学习php。我正在读的书是“PHP和mysql web开发”

对于第394页上的代码,它有如下错误: 你能告诉我怎么了吗

代码如下所示:

<?php
    $name = $_POST['name'];
    $password = $_POST['password'];

    if ((!isset($name)) || (!isset($password)))
    {
?>
<h1>Please log in<h1>
<p> This page is secret.</p>
<form method="post" action="secret.php">
<p>Username: <input type="text" name="name"></p>
<p>Password: <input type="password" name="password"></p>
<p><input type="submit" name="submit" value="Log in"></p>
</form>
<?php
}
else if (($name == "user") && ($password =="pass"))
{
    echo "<h1>Here it is</h1>";
    echo "<p>I bet you are glad you can see this secret page.</p>";
}
else{
    echo "<h1> Go Away</h1>";
    echo "<p>You are not authorized to use this </p>";
}

请登录
这一页是秘密的

用户名:

密码:


您应该测试
$\u POST
值,然后分配。你在做相反的事

应该是这样的:

if(isset($_POST['name'], $_POST['password'])) {
    $name = $_POST['name'];
    $password = $_POST['password'];

    // rest of code
}

您应该测试
$\u POST
值,然后分配。你在做相反的事

应该是这样的:

if(isset($_POST['name'], $_POST['password'])) {
    $name = $_POST['name'];
    $password = $_POST['password'];

    // rest of code
}

如果您提交到表单所在的同一页面,则应执行以下操作:

    $name = isset($_POST['name']) ? $_POST['name'] : "";
    $password = isset($_POST['password']) ? $_POST['password'] : "";

本机函数
isset
检查变量是否存在。

如果提交到表单所在的同一页面,则应执行以下操作:

    $name = isset($_POST['name']) ? $_POST['name'] : "";
    $password = isset($_POST['password']) ? $_POST['password'] : "";
本机函数
isset
检查变量是否存在

你能告诉我怎么了吗

你不够专心。你的书在行首有额外的符号

@    $name = $_POST['name'];
@    $password = $_POST['password'];
@
-抑制错误

我的建议是:

不要使用这本书。它又老又丑。

你能告诉我怎么了吗

你不够专心。你的书在行首有额外的符号

@    $name = $_POST['name'];
@    $password = $_POST['password'];
@
-抑制错误

我的建议是:


不要使用这本书。它既旧又难看。

有点离题:本书中使用了哪些mysql函数?如果您在字段中输入数据,然后提交表单,您应该不会看到错误。另外,如果这是本书中的一个实际片段,你应该收回它,因为这个例子很可怕。有点离题:这本书中使用了哪些mysql函数?如果你在字段中输入数据,然后提交表单,你应该不会看到错误。另外,如果这是本书中的一个实际片段,您应该收回它,因为示例很可怕。此上下文中的变量是一个误称,而您是在检查数组中是否存在特定键,并且它没有空值。此上下文中的变量是一个误称,而是检查数组中是否存在特定的键,并且该键没有空值。哇,同意。任何教你如何抑制错误的书都是垃圾。你能给我一些建议吗:哪本书好?谢谢@TQC,所以。。。有打字错误的坏书:^)394 pdfpage@tqjustc,我从未读过一本学习PHP的书:^)这本书看起来很真实:@sectus Good。你给我的第一本书是我正在读的那本书。但我的是第四版。在你给我的版本上,演示代码是正确的。谢谢你的建议。哇,同意了。任何教你如何抑制错误的书都是垃圾。你能给我一些建议吗:哪本书好?谢谢@TQC,所以。。。有打字错误的坏书:^)394 pdfpage@tqjustc,我从未读过一本学习PHP的书:^)这本书看起来很真实:@sectus Good。你给我的第一本书是我正在读的那本书。但我的是第四版。在你给我的版本上,演示代码是正确的。谢谢你的建议。