Ich bin sehr neu in PHP und versuchen, ein Register zu bekommen und arbeiten, mein Code in der Minute ist nur den Benutzernamen in die Datenbank und nichts anderes zu laden. Obwohl es Werte in andere Felder der Datenbank eingeben wird, wenn ich hart Code sie in SQL-Insert und nicht verwendenSQL einfügen in PHP funktioniert nicht
$users_Password
usw. btw weiß, dass ich diese schreckliche Code ist und Passwörter sollten etc gehasht werden, aber ive buchstäblich zerrissen dieser Code auseinander, weil dies nicht funktioniert und wird in alles wieder hinzufügen, nachdem dies prost aussortiert, das ist mein Code
Form
<form id = "Register_form" action="Register.php" method="post">
Username: <input type="text" name="Username"><br>
Password: <input type="password" name="Password"><br>
Confirm Password: <input type="password" name="ConfirmPassword"><br>
First Name: <input type="text" name="FirstName"><br>
Surname: <input type="text" name="Surname"><br>
Address Line 1: <input type="text" name="AddressLine1"><br>
Address Line 2: <input type="text" name="AddressLine2"><br>
City: <input type="text" name="City"><br>
Telephone: <input type="text" name="Telephone"><br>
Mobile: <input type="text" name="Mobile"><br></br>
<input type="submit">
dann in der register.php Datei
<?php
// create connection
$con=mysqli_connect("localhost","root","","book");
// check connection
if(mysqli_connect_errno($con)){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$users_Username = $_POST['Username'];
$users_Password = $_POST['Password'];
$users_ConfirmPassword = $_POST['ConfirmPassword'];
$users_FirstName = $_POST['FirstName'];
$users_Surname = $_POST['Surname'];
$users_AddressLine1 = $_POST['AddressLine1'];
$users_AddressLine2 = $_POST['AddressLine2'];
$users_City = $_POST['City'];
$users_Telephone = $_POST['Telephone'];
$users_Mobile = $_POST['Mobile'];
//Multiple Error checkings such as
if ($users_Username == "")
{
echo "Please enter a username";
echo "<script>setTimeout(\"location.href = 'http://localhost/webD/Assignment/Register_Form.php';\",1500);</script>";
}
else if ($users_Password = "")
{
echo "Please enter a password";
echo "<script>setTimeout(\"location.href = 'http://localhost/webD/Assignment/Register_Form.php';\",1500);</script>";
}
else if ($users_ConfirmPassword == $users_Password)
{
if (strlen($users_Password)<=6)
{
$sql = "INSERT INTO users VALUES ('$users_Username', '$users_Password', '$users_FirstName', '$users_Surname','$users_AddressLine1','$users_AddressLine2','$users_City','$users_Telephone','$users_Mobile')";
if($con->query($sql) === TRUE)
{
echo "User succesfully registered";
echo "<script>setTimeout(\"location.href = 'http://localhost/webD/Assignment/Log_In_Screen.php';\",1500);</script>";
}
else
{
echo "Unable to register user, Please try again";
echo "<script>setTimeout(\"location.href = 'http://localhost/webD/Assignment/Register_Form.php';\",1500);</script>";
}
//echo "<pre>\n$sql\n</pre>\n";
mysql_query($sql);
}
else
{
echo "The password you entered is too long, max characters is 6";
echo "<script>setTimeout(\"location.href = 'http://localhost/webD/Assignment/Register_Form.php';\",1500);</script>";
}
}
else
{
echo "Passwords do not match, Please try again";
echo "<script>setTimeout(\"location.href = 'http://localhost/webD/Assignment/Register_Form.php';\",1500);</script>";
}
mysqli_close($con);
?>
Es scheint, als ob nichts in die Datenbank eingefügt wird, außer dem Benutzernamen, hat jemand eine Möglichkeit, das zu beheben? Cheers
könnten Sie uns bitte Schema Ihrer Benutzer Tabelle zeigen? Gibt es ein ID-Feld? – tanaydin
Auch sollte er nicht die mysql-Erweiterung verwenden ... ist veraltet und veraltet ... er sollte auch Abfrageparameter verwenden ... – Hackerman
Kein Schutz für SQL-Injektionen ... keine Überprüfung, wenn der Benutzername schon vergeben ist ... I Denken Sie, hier ist, neben dem Problem, das er für eine Lösung suchte, viele andere Dinge schief gelaufen. – Twinfriends