Registrierung mit Auswahlfeldern

VirtualHHH

Grünschnabel
Schönen guten Tag wünsche ich!

Folgendes Problem habe ich:
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 hingekommen ist. Der Datentyp selbst in der Datenbank ist VARCHAR.

Über eine schnelle Hilfestellung würde ich mich sehr freuen.
 
VORSICHT!

Falls das oben der Originalcode ist, da hast du bei der IF-Abfrage $ort = '' und nicht $ort == '' stehen.

Somit wird der übergebene Wert der Liste überschrieben.
 
So, ich springe aus dem zehnten Stock..

Vielen Dank für Eure Antworten - tombe, Du glaubst nicht seit wie vielen Wochen ich nach diesen einen Fehler gesucht habe!

Gruß
VirtualHHH
 
Zurück