Php 将错误获取为";未定义变量";及;未定义索引“;
Rifkan,您需要概述为什么这些错误不是自解释的,以及为什么。这些错误在普通英语中的意思是:Php 将错误获取为";未定义变量";及;未定义索引“;,php,Php,Rifkan,您需要概述为什么这些错误不是自解释的,以及为什么。这些错误在普通英语中的意思是: “未定义变量”表示您正在使用未定义的变量。除了说未初始化的变量将不具有您期望的值(它不存在)之外,更明确的说法是更困难的 “未定义索引”表示您正在使用一个同样尚未初始化的数组项 在这两种情况下,原因都是您需要在使用变量或数组项之前对其进行初始化 从第7行的第一个开始,$email,找出不设置$email的情况。如果: 您在表单“post”操作之外访问页面 已将不包含“电子邮件”表单元素的表单发布到
- “未定义变量”表示您正在使用未定义的变量。除了说未初始化的变量将不具有您期望的值(它不存在)之外,更明确的说法是更困难的
- “未定义索引”表示您正在使用一个同样尚未初始化的数组项
$email
,找出不设置$email
的情况。如果:
- 一个惊人的SQL注入漏洞李>
- 以明文形式存储的密码,使用户会受到二次密码重用攻击李>
- 不检查用户输入的密码是否正确
添加为wiki,因为问题实际上是重复的,如图所示,只是添加了一些内容来帮助OP解决问题。@RajdeepPaul我读了那篇文章,但没有任何效果。我提出了问题。让我们从第一个未定义的$email错误开始,
$\u post['email']
未设置。检查email输入字段是否有一个名为email
@RajdeepPaul yah的名称,你可以提供你的表单代码吗?@EdvinTenovimas我在Android Studio中使用它
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['password'])) {$pass = $_POST['password'];}
require "init.php";
$query = "select * from userinfo where email like '".$email."";
$result = mysqli_query($con,$query);
if(mysqli_num_rows($result)>0)
{
$response = array();
$code = "reg_false";
$message = "User Already Exist !";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));
}
else
{
$query = "insert into userinfo values('".$name."','".$email."','".$pass."');";
$result = mysqli_query($con,$query);
if(!$result)
{
$response = array();
$code = "reg_false";
$message = "Registration Failed, Try Again!";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));
}
else
{
$response = array();
$code = "reg_true";
$message = "Registration Success, Login to Continue!";
array_push($response,array("code"=>$code,"message"=>$message));
echo json_encode(array("server_response"=>$response));
}
}
mysqli_close($con);
?>