PHP错误:这些PHP代码有什么问题?它表示未定义的索引错误

时间:2017-09-27 09:19:35

标签: php mysqli

我的代码:

$name=$_POST["name"];

这是错误

  

注意:未定义的索引:/home/u615903880/public_html/reg3.php中的名称   第4行

code :

<?php
$con          = new mysqli("xxxxx", "xxxx", "xxxx");
$name         = $_POST["name"];
$username     = $_POST["username"];
$emailaddress = $_POST["emailaddress"];
$password     = $_POST["password"];
$statement    = mysqli_prepare($con, "INSERT INTO users (name, username, emailaddress, password)VALUES (?,?,?,?)");
mysqli_stmt_bind_param($statement, "ssss", $name, $username, $emailaddress, $password);
mysqli_stmt_execute($statement);
$response            = array();
$response["success"] = true;
echo json_encode($response);
mysqli_stmt_close($statement);
mysqli_close($con);
?>
  

错误行4,5,6,9,10,14

4 个答案:

答案 0 :(得分:1)

尝试

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

您可以添加'nothing provided'之类的任何内容,而不是NULL或其他内容

答案 1 :(得分:1)

其通知不是错误:

你可以使用

error_reporting(1);

在页面顶部,这将隐藏警告和通知。

或者您可以这样使用代码

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

答案 2 :(得分:1)

您没有发送名为name的POST变量。如果它来自HTML表单,请确保输入未被禁用或无法发布。另外,请确保您的表单字段有一个名称而不仅仅是一个id,因为它是一个帖子请求中使用的名称:

<input type="text" id="notused" name="used" />

在这种情况下$_POST['used']会在提交时起作用。

答案 3 :(得分:0)

我怀疑关键的名字&#39;未在$ _POST数组中定义。 检查您可以使用的缺失密钥:

$name = $_POST["name"]??null; // PHP /7+

$name = isset($_POST["name"])?$_POST["name"]:null; // older