我的代码:
$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
答案 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