Moin,
ich habe hier einen Fehler den ich mir nicht erklären kann. Habe zwar auch eine Lösung durch Zufall gefunden allerdings kommt mir das alles sehr komisch vor.
Also ich habe ein Formular. Wenn bei Speichern bestimmt Felder nicht ausgefüllt sind soll man auf eine Seite mit Fehlermeldungen gesendet werden mittels "header". Mein Beispiel mache ich mit drei Feldern welche alle ausgefüllt sein sollen.
bei speichern sieht der Code so aus:
Bei jedem Feld was leer ist soll man zu der gleichen Seite gesendet werden mit einem anderen Fehlercode. Ich habe das gleiche auch ausbrobiert wenn alle den gleichen Fehlercode haben.
Nun der Fehler. Bei den Feldern 1. und 3. klappt das ohne Probleme. Bei Feld 2. werde ich allerdings auf der Zielseite auf eine andere Stelle gelenkt. Immer dran denken der Link bei allen Feldern war der gleich. Das kann ja alles durch irgendeine falsche Variablenübergabe passieren. Was ist jedoch mit meiner Lösung:
Wenn ich hinter dem zweiten Feld irgendeine Ausgabe mache funktioniert die Weiterleitung genau so wie sie soll!! Das kann doch gar nicht gehen. An der Ausgabe kommt man doch nie an. Und warum geht es bei den anderen und nur bei der nicht?
Irgendwer ne Idee.
ich habe hier einen Fehler den ich mir nicht erklären kann. Habe zwar auch eine Lösung durch Zufall gefunden allerdings kommt mir das alles sehr komisch vor.
Also ich habe ein Formular. Wenn bei Speichern bestimmt Felder nicht ausgefüllt sind soll man auf eine Seite mit Fehlermeldungen gesendet werden mittels "header". Mein Beispiel mache ich mit drei Feldern welche alle ausgefüllt sein sollen.
bei speichern sieht der Code so aus:
Code:
else if(empty ($new_kompo_name))
{
header ("Location: index.php?action=$action&message=J&errorNr=1&kompoForm=true&komponente=".urlencode($new_kompo_name)."text=".urlencode($new_kompo_name));
}
else if(empty ($new_kompo_titel))
{
header ("Location: index.php?action=$action&message=J&errorNr=2&kompoForm=true&komponente=".urlencode($new_kompo_name)."text=".urlencode($new_kompo_name));
}
else if(empty ($kompo_besch))
{
header ("Location: index.php?action=$action&message=J&errorNr=3&kompoForm=true&komponente=".urlencode($new_kompo_name)."text=".urlencode($new_kompo_name));
}
Bei jedem Feld was leer ist soll man zu der gleichen Seite gesendet werden mit einem anderen Fehlercode. Ich habe das gleiche auch ausbrobiert wenn alle den gleichen Fehlercode haben.
Nun der Fehler. Bei den Feldern 1. und 3. klappt das ohne Probleme. Bei Feld 2. werde ich allerdings auf der Zielseite auf eine andere Stelle gelenkt. Immer dran denken der Link bei allen Feldern war der gleich. Das kann ja alles durch irgendeine falsche Variablenübergabe passieren. Was ist jedoch mit meiner Lösung:
Code:
else if(empty ($new_kompo_name))
{
header ("Location: index.php?action=$action&message=J&errorNr=1&kompoForm=true&komponente=".urlencode($new_kompo_name)."text=".urlencode($new_kompo_name));
}
else if(empty ($new_kompo_titel))
{
header ("Location: index.php?action=$action&message=J&errorNr=2&kompoForm=true&komponente=".urlencode($new_kompo_name)."text=".urlencode($new_kompo_name));
echo "irgendwas";
}
else if(empty ($kompo_besch))
{
header ("Location: index.php?action=$action&message=J&errorNr=3&kompoForm=true&komponente=".urlencode($new_kompo_name)."text=".urlencode($new_kompo_name));
}
Wenn ich hinter dem zweiten Feld irgendeine Ausgabe mache funktioniert die Weiterleitung genau so wie sie soll!! Das kann doch gar nicht gehen. An der Ausgabe kommt man doch nie an. Und warum geht es bei den anderen und nur bei der nicht?
Irgendwer ne Idee.