Ich habe eine Webseite namens Register.php erstellt, die Daten in meine Datenbank einfügen soll. Das Problem dabei ist, dass die Registrierungsseite funktioniert, aber wenn ich versuche, mich anzumelden, wurde die Information nicht in meine Datenbank eingefügt. Gibt es irgendetwas, das ich falsch gemacht habe, das ich nicht finden kann?PHP MySQL kann "INSERT INTO" nicht verwenden
<?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']);
if ($submit)
{
//open database
$connect = mysql_connect("localhost","root","");
mysql_select_db("cs266db_db1");
$namecheck = mysql_query("SELECT UserName FROM user_ID WHERE UserName='$UserName'");
$count = mysql_num_rows($namecheck);
if ($count!=0)
{
die("UserName already taken");
}
//check for existence
if($FullName&&$UserName&&$Password&&$RepeatPassword)
{
//check password and repeat password match
if($Password==$RepeatPassword)
{
//check length of username and fullname
if (strlen($UserName) > 25 || strlen($FullName)>25)
{
echo "Length of username or fullname is over 25 characters!";
}
else {
//check password
if(strlen($Password)>25 || strlen($Password) < 6) {
echo "Password must be between 6 and 25 characters";
} else {
//encrypt password
$Password = md5($Password);
$RepeatPassword = md5($RepeatPassword);
$queryreg = mysql_query("INSERT INTO user_id VALUES (FullName='".$FullName."',UserName='".$UserName."',Password='".$Password."'");
}
die("You have been registered <a href='index1.php'> Return to Login Page </a>");
}
}
else{
echo "Your passwords do not match";
}
} else {
echo "Please fill in all fields!";
}
}
?>
<html>
<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>
<br>
<input type="submit" name="submit" value="Register">
</form>
</html>
Im einen Fehler von diesem auch immer (ich auf Netbeans leite):
Notice: Undefined index: in C einreichen: \ Xampp \ htdocs \ Resume_DB \ register.php auf Zeile 4 Hinweis: Undefiniert Index: FullName in C: \ Xampp \ htdocs \ Resume_DB \ register.php in Zeile 7 Hinweis: Undefinierter Index: Benutzername in C: \ Xampp \ htdocs \ Resume_DB \ register.php in Zeile 8 Hinweis : Undefiniert index: Passwort in C: \ Xampp \ htdocs \ Lebenslauf_DB \ register.php on line 9 Noti ce: Undefined index: RepeatPassword in C: \ Xampp \ htdocs \ Resume_DB \ register.php on line 10
hat das mit meinem Problem der Einfügung zu tun? Wenn ja, kannst du helfen! Bitte und Danke!
** ACHTUNG **: Wenn Sie nur PHP lernen, lernen Sie bitte nicht das obsolete ['mysql_query'] (http://php.net/manual/en/function.mysql-query.php) Schnittstelle. Es ist schrecklich und wurde in PHP 7 entfernt. Ein Ersatz wie [PDO ist nicht schwer zu erlernen] (http://net.tutsplus.com/tutorials/php/why-you-should-beusing-phps-pdo- for-database-access /) und ein Leitfaden wie [PHP The Right Way] (http://www.phptherightway.com/) hilft Best Practices zu erklären. Ihre Benutzerparameter sind ** nicht ** [richtig entkernt] (http://bobby-tables.com/php) und Sie haben strenge [SQL injection Bugs] (http://bobby-tables.com/) hier. – tadman
** WARNUNG **: Es ist nicht einfach, eine eigene Zugriffssteuerungsschicht zu schreiben, und es gibt viele Möglichkeiten, um sie ernsthaft falsch zu machen. Bitte schreiben Sie nicht Ihr eigenes Authentifizierungssystem, wenn Sie ein modernes [Entwicklungsframework] (http://codegeekz.com/best-php-frameworks-for-developers/) wie [Laravel] (http://laravel.com/) verfügt über ein robustes [Authentifizierungssystem] (https://laravel.com/docs/5.2/authentication). Am absolutesten folgen Sie [empfohlene Best Practices für die Sicherheit] (http://www.phptherightway.com/#security) und speichern Sie Passwörter niemals als Nur-Text. – tadman
Ihre Einfügesyntax ist falsch. – larsAnders