Файл register.php работает, но при нажатии кнопки отправки. Это сообщение об ошибке Я получаюРегистрационная форма PHP, не добавляющая пользователей в базу данных
Notice: Use of undefined constant username - assumed 'username' in C:\xampp\htdocs\Hamza\register.php on line 18
Вы зарегистрированы! Вернуться на страницу входа
Однако он не добавляет пользователей в базу данных, хотя, что я делаю неправильно? Я верю, что что-то вроде INSERT INTO users VALUES
неверно. Я обыскал вокруг и провел 2 часа, решая его, но не могу понять, что случилось. Любая помощь была бы полезной, спасибо.
register.php файл
<?php
echo "<h1>Register</h1>";
$submit = @$_POST['submit'];
//form data
$fullname = strip_tags(@$_POST['fullname']);
$username = strip_tags(@$_POST['username']);
$password = strip_tags(@$_POST['password']);
$repeatpassword = strip_tags(@$_POST['repeatpassword']);
$date = date ("y-m-d");
if ($submit)
{
//check for existance
if ($fullname&&username&&$password&&$repeatpassword)
{
if ($password==$repeatpassword)
{
//check char length of username and fullname
if (strlen($username)>25||strlen($fullname)>25)
{
echo "Length of username or fullname is too long";
}
else
{
//check password length
if (strlen($password)>25||strlen($password)<6)
{
echo "Password must be between 6 and 25 characters";
}
else
{
//register the user!
// encrypt password
$password = md5($password);
$repeatpassword = md5($repeatpassword);
//open database
$connect = mysql_connect("localhost","root","");
mysql_select_db("phplogin"); //select database
$queryreg = mysql_query("
INSERT INTO users VALUES ('','".$fullname."','".$username."','".$password."','".$date."')
");
die ("You have been registered! <a href='index.php'>Return to login page</a>");
}
}
}
else
echo "Your passwords do not match!";
}
else
echo "Please fill in <b>all</b> fields!";
}
?>
<html>
<p>
<form action='register.php' method='POST'>
<table>
<tr>
<td>
Your full name:
</td>
<td>
<input type='text' name='fullname' value='<?php echo $fullname; ?>'
</td>
</tr>
<tr>
<td>
Choose a username:
</td>
<td>
<input type='text' name='username' value='<?php echo $username; ?>'
</td>
</tr>
<tr>
<td>
Choose a password:
</td>
<td>
<input type='password' name='password'>
</td>
</tr>
<tr>
<td>
Repeat your password:
</td>
<td>
<input type='password' name='repeatpassword'>
</td>
</tr>
</table>
<p>
<input type='submit' name='submit' value='Register'>
</form>
</html>
В качестве побочного примечания это уязвимо для [SQL-инъекций] (http://en.wikipedia.org/wiki/SQL_injection) - если это для реального использования, вы должны посмотреть на использование mysqli или на по крайней мере, используя что-то вроде 'addslashes()' для дезинфекции ввода ('strip_tags' вам не поможет). – John
Это просто образец для задания в колледже – h4mza