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>';
- ...
- ?>
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>';
- }
- ...
- ?>
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.