Hallo Ihrs,
ich habe ein Problem, bei dem ich einfach nicht weiterkomme. Es geht um den Abbruch einer zunaechst wahren elseif-Bedingung.
Ich habe ein PHP-Formular-Skript geschrieben, das grob so aussieht:
<- Skriptanfang ->
PHP-Anfang
if(!isset($HTTP_POST_VARS['submit']))
{
PHP-Ende
<html - Tabelle mit zu uebergebenden Variablen>
PHP-Anfang
} //if-Abfrage von oben schliesst sich
//Fehlerabfangroutinen
elseif($HTTP_POST_VARS['submit'] && $HTTP_POST_VARS['vorname'] == "")
{
tu irgendwas;
}
elseif (...)
{
...
}
//wenn alles fehlerfrei, dann in DB eintragen
else
{
//Passwort generieren
//Daten in DB eintragen
$sql = "INSERT INTO ...";
$result = ...
echo 'Erfolgreicher Eintrag';
}
PHP-Ende
<- Skript-Ende ->
Nun moechte ich in das Skript noch eine Fehlerabfangroutine eintragen, die ueberprueft, ob der Loginname schon vorhanden ist.
Dazu habe ich eine elseif-Bedingung gebastelt, in die auf alle Faelle reingesprungen wird, weil die Bedingung immer wahr ist. In der Bedingung gleicht er nun den vom User eingegebenen Wert mit der Datenbank ab. Wenn ein Datenbankergebnis vorliegt, soll er eine Fehlermeldung ausgeben.
Soweit funktioniert das ganze auch.
Nun soll aber die elseif-Schleife abgebrochen werden, wenn kein Ergebnis vorliegt.
Folgendermassen sieht mein Versuch aus, der aber nicht funktioniert :-(
elseif (wahreBedingung)
{
$select = "SELECT * FROM ...";
$abfrage = mysql_query(...) or die ("Ungültige Abfrage: " .mysql_error());
$ergebnis = mysql_fetch_row($abfrage);
if ($ergebnis)
{
echo 'Wert existiert.';
}
else (empty($ergebnis))
continue;
}
Kann mir jemand helfen, das so zu aender, dass es geht?! Irgendwie komme ich nicht auf die Loesung. Funktionieren denn continue oder break nur mit while bzw. switch-Abfragen?
Wuerde mich ueber Hilfe freuen,
schuelsche
PS: diesmal suche ich schon eine ganze Weile nach der Loesung... vielleicht habe ich aber auch irgendwo einen Denkfehler und man kann die Abfrage einfacher darstellen...
Lesezeichen