PHP未定义索引:

PHP未定义索引:,php,html,Php,Html,我是新来的PHP。。。 只需在我的about.php文件(通过超链接链接到index.php文件)中尝试这段简单的代码: 请输入您的姓名: 输入您的评论: 我得到以下错误: 注意:未定义的索引:第71行的D:\xampp\htdocs\stathis1\about\about.php中的名称 请输入您的姓名,因为未设置$\u POST[“name”],您将收到该通知。因此,您需要首先测试它是否存在,然后将其分配给$name变量,如果未设置,则将其分配给空字符串 你可以改变

我是新来的PHP。。。 只需在我的about.php文件(通过超链接链接到index.php文件)中尝试这段简单的代码:


  • 请输入您的姓名:
  • 输入您的评论:

我得到以下错误:


注意:未定义的索引:第71行的D:\xampp\htdocs\stathis1\about\about.php中的名称
请输入您的姓名

,因为未设置
$\u POST[“name”]
,您将收到该通知。因此,您需要首先测试它是否存在,然后将其分配给
$name
变量,如果未设置,则将其分配给空字符串

你可以改变

$name=$\u POST[“name”]


$name=isset($\u POST[“name”])?$\u POST[“name”]:“”

使用isset()而不是empty(),因为未定义索引时,isset()函数不会触发通知。

这是因为
$\u POST['name']
尚未提交/设置。您需要使用if语句或三元运算符:

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

    if (!empty($name)) {
        echo 'Your name is ' . $name . ' and you like ny site!';
    } else {
        echo 'Please enter your name';
    }
}
或者,一个较短的方法:

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

在启动php部件之后,在代码周围添加if语句,这样它只在“name”存在时执行

像这样:

<?php 
    if(isset($_POST["name"])){
        $name = $_POST["name"];

        if (!empty($name)) {
            echo "Your name is ".$name."and you like ny site!";
        } else {
            echo "Please enter your name";
        }
    } else {
        echo "Please enter your name";
    }
?> 


我没有收到错误,但程序仍然没有执行应该执行的操作,即将插入的名称放入文本区域。。。我相信光标永远不会进入if(!isset($name))条件…不要忘记用
关闭表单。你可以用
var\u dump($\u POST)
检查
$\u POST
的内容,用更改后的代码更新你的问题可能是个好主意。我得到“请输入你的名字”在文本框中,即使在名称字段中插入名称后按下提交按钮。。。。为什么名字不存在?
if(isset($_POST["name"]))
<?php 
    if(isset($_POST["name"])){
        $name = $_POST["name"];

        if (!empty($name)) {
            echo "Your name is ".$name."and you like ny site!";
        } else {
            echo "Please enter your name";
        }
    } else {
        echo "Please enter your name";
    }
?>