Nun eigentlich recht einfach zu erklären dein Problem. Dein INSERT nach dem IF fügt ja auch nur das Geschlecht per INSERT ein. Vor dem IF hast du ein INSERT mit den anderen POST-Daten.
PHP-Code:
if($Geschlecht == 0) {
$sql = "INSERT INTO `Tabelle`
(`Name`, `Vorname`,`Geschlecht`)
VALUES(
'" .mysql_real_escape_string( $Name ). "',
'" .mysql_real_escape_string( $Vorname ). "','m'
)";
} else {
$sql = "INSERT INTO `Tabelle`
(`Name`, `Vorname`,`Geschlecht`)
VALUES(
'" .mysql_real_escape_string( $Name ). "',
'" .mysql_real_escape_string( $Vorname ). "','w'
)";
}
So wird dir je nach Geschlecht gleich der gesamte Datensatz eingetragen.
Einfacher wäre es aber zu lösen, wenn du dir dein Formular gleich richtig erstellst. Besser gesagt dem Select die korrekten Daten übergibst.
HTML-Code:
<select name="Geschlecht" size="1">
<option value="m">Männlich</option>
<option value="w">Weiblich</option>
</select>
So wird dir gleich "m" oder "w" in POST übergeben. Musst du halt nur noch eine Prüfung setzen, daß auch wirklich nur diese Werte übergeben wurden.