PHP-注意:未定义的索引: [英] PHP - Notice: Undefined index:
问题描述
可能重复:
PHP:"Notice:Undefined variable"和"Notice:Undefined index"
Possible Duplicate:
PHP: "Notice: Undefined variable" and "Notice: Undefined index"
我正在尝试制作一个在数据库(MySQL)中注册用户的注册表格.
I am trying to do a registration form that registers a user in a database (MySQL).
该代码应该注册:
- 名称
- 姓氏
- 用户名
- 密码
- 电子邮件
- 安全问题
- 安全性答案
代码在保存到表之前,将检查用户名或密码是否已经存在,如果这样做,则会回显错误消息,如果不存在,则将其保存到数据库.
The code, before saving to the table, checks whether the username or password already exists, and if they do it echoes an error message, and if not, it saves to the db.
但是,在页面加载时,出现以下错误:
However, on page load, I'm getting these errors:
Notice: Undefined index: Name in C:\xampp\htdocs\Task2\registration.php on line 216
Notice: Undefined index: Surname in C:\xampp\htdocs\Task2\registration.php on line 217
Notice: Undefined index: Username in C:\xampp\htdocs\Task2\registration.php on line 219
Notice: Undefined index: Email in C:\xampp\htdocs\Task2\registration.php on line 221
Notice: Undefined index: C_Email in C:\xampp\htdocs\Task2\registration.php on line 222
Notice: Undefined index: password in C:\xampp\htdocs\Task2\registration.php on line 224
Notice: Undefined index: c_password in C:\xampp\htdocs\Task2\registration.php on line 225
Notice: Undefined index: SecQ in C:\xampp\htdocs\Task2\registration.php on line 227
Notice: Undefined index: SecA in C:\xampp\htdocs\Task2\registration.php on line 228
Notice: Undefined variable: mysql_connect in C:\xampp\htdocs\Task2\registration.php on line 231
Fatal error: Function name must be a string in C:\xampp\htdocs\Task2\registration.php on line 231
这是代码:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Registration</title>
<style type="text/css" title="Amaya theme">
body {
font-size: 12pt;
font-family: Helvetica, Arial, sans-serif;
font-weight: normal;
font-style: normal;
color: black;
background-color: white;
line-height: 1.2em;
margin-left: 4em;
margin-right: 2em;
}
/* paragraphs */
p {
padding: 0;
margin-top: 1em;
margin-bottom: 1em;
text-align: left;
}
/* headings */
h1 {
font-size: 180%;
font-weight: bold;
font-style: normal;
font-variant: small-caps;
text-align: left;
padding: 0;
margin-top: 1.7em;
margin-bottom: 1.7em;
}
h2 {
font-size: 150%;
font-weight: bold;
font-style: normal;
padding: 0;
margin-top: 1.5em;
margin-bottom: 1.1em;
}
h3 {
font-size: 130%;
font-weight: bold;
font-style: normal;
padding: 0;
margin-top: 1.3em;
margin-bottom: 1.1em;
}
h4 {
font-size: 110%;
font-weight: bold;
font-style: normal;
padding: 0;
margin-top: 1.1em;
margin-bottom: 1.1em;
}
h5 {
font-size: 100%;
font-weight: bold;
font-style: italic;
padding: 0;
margin-top: 1em;
margin-bottom: 1em;
}
h6 {
font-size: 100%;
font-weight: normal;
font-style: italic;
padding: 0;
margin-top: 1em;
margin-bottom: 1em;
}
/* divisions */
div {
padding: 0;
margin-top: 0em;
margin-bottom: 0em;
}
/* lists */
ul, ol {
padding: 0 0 0 3em;
margin-top: 1em;
margin-bottom: 1em;
}
ul ul, ol ol, ul ol, ol ul {
margin-top: 1em;
margin-bottom: 1em;
}
li {
padding: 0;
margin-top: 1em;
margin-bottom: 1em;
text-align: left;
}
li p {
margin-top: 1em;
margin-bottom: 1em;
}
dl {
padding: 0;
margin-top: 1em;
margin-bottom: 1em;
margin-left: 1em;
}
dl dl {
margin-top: 0em;
margin-bottom: 0em;
}
dt {
padding: 0;
font-weight: bold;
margin-top: .3em;
margin-bottom: .3em;
}
dd {
padding: 0;
margin-top: .3em;
margin-left: 3em;
margin-bottom: .3em;
}
dl p {
margin-top: .3em;
margin-bottom: .3em;
}
/* inline */
strong {
font-weight: bold;
}
em {
font-style: italic;
}
code {
font-family: Courier New, Courier, monospace;
}
ins {
background-color: yellow;
text-decoration: underline;
}
del {
text-decoration: line-through;
}
a[href] {
color: blue;
text-decoration: underline;
}
</style>
</head>
<body>
<h4><span style="font-family: Arial,Helvetica,sans-serif">Name</span></h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="text" name='Name'/></p>
<h4 style="font-family: Arial,Helvetica,sans-serif">Surname</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="text" name='Surname'/></p>
<h4 style="font-family: Arial,Helvetica,sans-serif">Username</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="text" name='Username' /></p>
<hr style="font-family: Arial,Helvetica,sans-serif" />
<h4 style="font-family: Arial,Helvetica,sans-serif">Email</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="text" name='Email' /></p>
<h4 style="font-family: Arial,Helvetica,sans-serif">Confirm Email</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="text" name='C_Email' /></p>
<hr style="font-family: Arial,Helvetica,sans-serif" />
<h4 style="font-family: Arial,Helvetica,sans-serif">Password</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="password" name='password' /></p>
<h4 style="font-family: Arial,Helvetica,sans-serif">Confirm Password</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="password" name='c_password'/></p>
<hr style="font-family: Arial,Helvetica,sans-serif" />
<h4 style="font-family: Arial,Helvetica,sans-serif">Security Question</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="password" name='SecQ' /></p>
<h4 style="font-family: Arial,Helvetica,sans-serif">Security Answer</h4>
<p style="font-family: Arial,Helvetica,sans-serif"> <input type="password" name='SecA'/></p>
<hr style="font-family: Arial,Helvetica,sans-serif" />
<hr style="font-family: Arial,Helvetica,sans-serif" />
<p><span
style="font-family: Arial,Helvetica,sans-serif"><button>Submit</button></span></p>
</body>
</html>
<?php
$Name = $_POST['Name'];
$Surname = $_POST['Surname'];
$Username = $_POST['Username'];
$Email = $_POST['Email'];
$C_Email = $_POST['C_Email'];
$Password = $_POST['password'];
$C_Password = $_POST['c_password'];
$SecQ = $_POST['SecQ'];
$SecA = $_POST['SecA'];
$mysql_connect ('localhost', 'admin', 'storefile1234');
mysql_select_db ("storefile");
$check_username = mysql_query("SELECT FROM users WHERE username = '$Username'");
$check_email = mysql_query("SELECT FROM users WHERE email = '$Email'");
if ($Name == null || $Surname== null || $Username == null || $Password == null || $C_Password == null || $Email == null || $C_Email == null || $SecQ == null || $SecA == null ) {
echo "Missing details. Please enter all fields.";
} else {
if(mysql_num_rows($check_username) != 0 && mysql_num_rows($check_email) != 0)
{
echo "Username/Email already exists";
}
if ($Email == $C_Email && $Password == $C_Password) {
$query = "INSERT INTO users (Username, Name,Surname, Password, Email, SecQ, SecA) VALUES ('NULL', ".$Username."', ".$Name."', ".$Surname."', ".$Password."', ".$SecQ."', ".$SecA."', ".$Email.')"';
mysql_query($query) or die ('Error registering.');
echo "Greetings, ".$Name.", you have been registered. ";
} else {
echo "Error registering your account. Please try again.";
}
}
?>
任何帮助将不胜感激.
谢谢!
推荐答案
从$_POST
提取值之前,应检查它们是否存在.您可以为此使用isset
函数(http://php.net/manual/en/function.isset.php)
Before you extract values from $_POST
, you should check if they exist. You could use the isset
function for this (http://php.net/manual/en/function.isset.php)
这篇关于PHP-注意:未定义的索引:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!