Ich lerne php und mysql und versuche, ein Formular mit einer Registrierung und Login-Seiten zu erstellen, aber ich habe Probleme, das Registrierungsformular zu erhalten, um Daten in meine Datenbank zu schreiben. Ich bekomme keine Fehler bezüglich der Verbindung zur Datenbank, aber meine Tabellen bleiben leer, wenn ich versuche, Daten zu posten. Ich erhalte den FehlerRegistrierungsformular mit PHP und MySQL
'Bei der Registrierung ist ein Fehler aufgetreten. Bitte versuche es später erneut.
.
Jede Hilfe wird sehr geschätzt.
<?php
//signup.php
include 'connect.php';
echo '<h2>Register </h2>';
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
/*the form hasn't been posted yet, display it
note that the action="" will cause the form to post to the same page it is on */
echo '<form method="post" action="">
Username: <input type="text" name="Username" />
Password: <input type="password" name="Password">
Confirm Password: <input type="password" name="Confirm">
<input type="submit" value="Submit" />
</form>';
}
else
{
/* so, the form has been posted, we'll process the data in three steps:
1. Check the data
2. Let the user refill the wrong fields (if necessary)
3. Save the data
*/
$errors = array(); /* declare the array for later use */
if(isset($_POST['Username']))
{
//the user name exists
//if(!ctype_alnum($_POST['Username']))
if($_POST['Username'] == ['Username'])
{
$errors[] = 'The username is already in use.';
}
}
else
{
$errors[] = 'The username field must not be empty.';
}
if(isset($_POST['Password']))
{
if($_POST['Password'] != $_POST['Confirm'])
{
$errors[] = 'The two passwords did not match.';
}
}
else
{
$errors[] = 'The password field cannot be empty.';
}
if(!empty($errors)) /*check for an empty array, if there are errors, they're in this array (note the ! operator)*/
{
echo 'Uh-oh.. a couple of fields are not filled in correctly..';
echo '<ul>';
foreach($errors as $key => $value) /* walk through the array so all the errors get displayed */
{
echo '<li>' . $value . '</li>'; /* this generates a nice error list */
}
echo '</ul>';
}
else
{
//the form has been posted without errors, so save it
//notice the use of mysql_real_escape_string, keep everything safe!
//also notice the sha1 function which hashes the password
$sql = "INSERT INTO
Users(Username, Password)
VALUES('" . mysql_real_escape_string($_POST['Username']) . "',
'" . md5($_POST['Password']) . "',
NOW(),
0)";
$result = mysql_query($sql);
if(!$result)
{
//something went wrong, display the error
echo 'Something went wrong while registering. Please try again later.';
//echo mysql_error(); //debugging purposes, uncomment when needed
}
else
{
header ("location: index.htm"); //redirects to Index Page
}
}
}
?>
danke
versuchen Sie, Abfrage manuell einfügen – LOKESH
Simple: Sie sind nicht auf Fehler überprüfen und Lord weiß nur, was ist innerhalb 'connect.php '. –
Sie sagen das Skript nur in Benutzer (Benutzername, Passwort) einzufügen, aber Sie analysieren auch zwei weitere Werte NOW() und 0) – b0ne