Hallo,
ich probiere mich derzeit an einem Skript für eine Registrierung. So weit klappt auch alles ziemlich ordentlich - sowohl bei Textfeldern wie auch Radio-Buttons habe ich derzeit kaum Probleme. Nun, mein einziges Problem stellen die Auswahllisten bzw. Auswahlfelder dar. Ich kriege es nicht auf die Reihe, den angegebenen Wert des Users während der Registrierung, vom Auswahlfeld in die Datenbank abzuspeichern. Bisher habe ich folgendes gemacht:
register.php
PHP
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include('db.php');include('header.html');
...
echo '<form action="register2.php" method="post">';
echo '<fieldset>';
echo '<legend>Registrierung</legend>';
echo 'Username: <input type="text" name="Username" size="30" maxlength="30"/><br>';
echo 'Passwort: <input type="password" name="Passwort" size="30" maxlength="32"/><br>';
echo 'Passwort wiederholen: <input type="password" name="Passwort2" size="30" maxlength="32"/><br>';
echo 'Geschlecht: <input type="radio" name="Geschlecht" value="Männlich"/> Männlich
<input type="radio" name="Geschlecht" value="Weiblich"/> Weiblich<br>';
echo 'Ort: <select name="Ort">
<option value="Hier">Hier</option>
<option value="Da">Da</option>
<option value="Dort">Dort</option>
<option value="Nirgends">Nirgends</option>
</select><br>';
echo ' <input type="submit" value="Registrieren"/>';
echo '</fieldset>';
echo '</form>';
...
?>
Alles anzeigen
register2.php
PHP
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include('db.php');
include('header.html');
...
$username = $_POST['Username'];
$passwort = $_POST['Passwort'];
$passwort2 = $_POST['Passwort2'];
$geschlecht = $_POST['Geschlecht'];
$ort = $_POST['Ort'];
//Kontrollieren ob alles richtig eingegeben wurde
if($username == '' OR $passwort == '' OR $passwort != $passwort2 OR $geschlecht == '' OR $ort = '')
{
echo 'Bitte alles korrekt ausfüllen. <a href="register.php">Zurück</a>';
exit;
}
$passwort = md5($passwort);
$abfrage = "SELECT
Username
FROM
User
WHERE
Username LIKE '$username'";
$abfrage_senden = mysql_query($abfrage);
$ergebnis = mysql_num_rows($abfrage_senden);
if($ergebnis == 0)
{
$eintrag = "INSERT INTO
User (Username, Passwort, Geschlecht, Ort)
VALUES ( '" .mysql_real_escape_string($username). "',
'" .mysql_real_escape_string($passwort). "',
'" .mysql_real_escape_string($geschlecht). "',
'" .mysql_real_escape_string($ort). "' )";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo 'Registrierung erfolgreich. <a href="login.php">Zum Login</a>';
}
else
{
echo 'Registrierung fehlgeschlagen. <a href="register.php">Zurück</a>';
}
}
else
{
echo 'Username bereits vorhanden. <a href="register.php">Zurück</a>';
}
...
?>
Alles anzeigen
So, das Problem hierbei ist dass in der Datenbank nur ein leeres Feld erkennbar ist. Demnach gehe ich von aus dass kein Wert dort hin gekommen ist. Der Datentyp selbst in der Datenbank ist VARCHAR.
Über eine schnelle Hilfestellung würde ich mich sehr freuen.