Hallo,
ich habe dieses Formular geschrieben um einen Benutzeraccount anzulegen.
Nun habe ich aber ein Problem mit der Fehlerausgabe, es wird immer $login1 ausgegeben, auch wenn ich das Formular leer abschicke.
Ich raffs einfach nicht. Hab schon echt lange vor dem Fehler zugebracht. Vielleicht kann sich das mal jemand anschauen.
index.php
eintragen.php
Und ich hab da mal eine grundsätzliche Frage, muss ich auf allen PHP-Seiten wo ich was in die Datenbank schreibe bzw. abrufe diese ganz am Anfang die Verbindung zur Datenbank herstellen
oder kann man das irgendwie global machen?
Viele Grüße
ich habe dieses Formular geschrieben um einen Benutzeraccount anzulegen.
Nun habe ich aber ein Problem mit der Fehlerausgabe, es wird immer $login1 ausgegeben, auch wenn ich das Formular leer abschicke.
Ich raffs einfach nicht. Hab schon echt lange vor dem Fehler zugebracht. Vielleicht kann sich das mal jemand anschauen.
index.php
PHP:
<div class="tab-pane fade in" id="create">
<?php
if ((isset($_GET["error1"])) && (!empty($_GET["error1"]))){
echo "
<div class='alert alert-error fade in'>
<button type='button' class='close' data-dismiss='alert'>×</button>
Eingabefehler. Bitte alle Felder korekt ausfüllen!
</div>";
}
elseif ((isset($_GET["error2"])) && (!empty($_GET["error2"]))){
echo "
<div class='alert alert-error fade in'>
<button type='button' class='close' data-dismiss='alert'>×</button>
Fehler beim Speichern des Benutzernames.
</div>";
}
elseif ((isset($_GET["error3"])) && (!empty($_GET["error3"]))){
echo "
<div class='alert alert-error fade in'>
<button type='button' class='close' data-dismiss='alert'>×</button>
Benutzername schon vorhanden.
</div>";
}
else {
echo "";
}
?>
<form class="validate form-horizontal" action="eintragen.php" method="post">
<fieldset>
<div id="legend">
<legend class="">Create Account</legend>
</div>
<div class="control-group">
<label class="control-label" for="username_create">Benutzername</label>
<div class="controls">
<input type="text" id="username_create" name="username_create" placeholder="Benutzername eintragen" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label" for="password_create">Passwort</label>
<div class="controls">
<input type="text" id="password_create" name="password_create" placeholder="Passwort eintragen" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label" for="password_create2">Passwort wiederholen</label>
<div class="controls">
<input type="text" id="password_create2" name="passwort_create2" placeholder="Passwort wiederholen" class="input-xlarge">
</div>
</div>
<div class="control-group">
<div class="controls">
<button class="btn" type="submit">Create Account</button>
</div>
</div>
</fieldset>
</form>
</div>
eintragen.php
PHP:
<?php
//Datenbankverbindung herstellen und Datenbank auswählen
include('config/database.php');
$username = $_POST["username_create"];
$passwort = $_POST["passwort_create"];
$passwort2 = $_POST["passwort_create2"];
$error1 = header("location: index.php?error1=alert#create");
$error2 = header("location: index.php?error2=alert#create");
$error3 = header("location: index.php?error3=alert#create");
$login1 = header("location: index.php?login1=alert#login");
if($passwort != $passwort2 OR $username == "" OR $passwort == "")
{
echo $error1;
exit;
}
$passwort = md5($passwort);
$result = mysql_query("SELECT id FROM login WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);
if($menge == 0){
$eintrag = "INSERT INTO login (username, passwort) VALUES ('$username', '$passwort')";
$eintragen = mysql_query($eintrag);
if($eintragen == true){
echo $login1;
}
else {
echo $error2;
}
}
else {
echo $error3;
}
?>
Und ich hab da mal eine grundsätzliche Frage, muss ich auf allen PHP-Seiten wo ich was in die Datenbank schreibe bzw. abrufe diese ganz am Anfang die Verbindung zur Datenbank herstellen
oder kann man das irgendwie global machen?
Viele Grüße