我有以下HTML表单。
<!DOCTYPE html>
<meta charset="UTF-8">
<html>
<head>
<title>Registreerimine</title>
</head>
<body>
<strong>Registreerimiseks täida järgnevad väljad: </strong><br>
<br>
<form method="POST" action="registreerimine3.php">
<table>
<tr><td>Sinu Tieto e-maili aadress: </td><td><input type="text" name="email"></td></tr>
<tr><td>Eesnimi: </td><td><input type="text" name="eesnimi"></td></tr>
<tr><td>Perekonnanimi: </td><td><input type="text" name="perekonnanimi"></td></tr>
<tr><td>Parool: </td><td><input type="text" name="parool"></td></tr>
<tr><td>Parool uuesti: </td><td><input type="text" name="parooluuesti"></td></tr>
</table>
<br>
<input type="submit" value="Registreeri">
</form>
</body>
</html>
和以下PHP代码:
<?php
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("tieto", $con);
$email = mysql_real_escape_string($_POST['email']);
$eesnimi = mysql_real_escape_string($_POST['eesnimi']);
$perekonnanimi = mysql_real_escape_string($_POST['perekonnanimi']);
$parool = $_POST['parool'];
$parool_uuesti = $_POST['parooluuesti'];
$salt = rand(1000000,99999999);
$hashed_pwd = sha1('$parool'.$salt);
$sql="INSERT INTO kasutajad6 (email, eesnimi, perekonnanimi, parool, salt ) VALUES ('$email','$eesnimi', '$perekonnanimi', '$parool', '$salt')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Kasutaja loodud";
mysql_close($con)
?>
当我尝试将HTML表单中的数据插入MySQL数据库时,出现以下消息:
Notice: Undefined index: email in C:\xampp2\htdocs\registreerimine\registreerimine3.php on line 17
除了电子邮件,我需要的只是数据库中的所有内容。
我的数据库是使用以下SQL命令创建的:
mysql> create table kasutajad6 ( userID int(9) NOT NULL auto_increment,email var
char(45) NOT NULL, eesnimi varchar(45) NOT NULL, perekonnanimi varchar(45) NOT N
ULL, parool varchar(45), salt int(8), PRIMARY KEY(userID));
Query OK, 0 rows affected (0.73 sec)
奇怪的是,一段时间内一切正常,但是我更改了一些代码,它不再起作用了。即使我撤消更改。
这是一个漫长的问题,如果有人回答我,我将非常感激。
最佳答案
未设置变量时发生此错误。检查变量$email
是否已设置(使用isset()),并通过以下link。
我看到您尚未命名用于提交表单的输入标签。给它起一个名字<input type='submit' name='submit' value='Registreeri'>
,并将用于插入值的整个脚本放在if(isset($_POST['submit'])) {}
中,其中commit是分配给输入(提交)标记的名称。