Morgen.
Ich habe das wohl schon oft erörterte Problem mit dem Nachladen von Fomularen die Daten in eine Datenbank schieben.
Früher hab ich das ganze über Sessionvariablen abgesichtert und konnte so erkennen , ob einer Nachlädt oder ob da was neues gekommen ist .
Seit PHP5 hat sich mein Stiel etwas geändert und das mit der Sessionvariable geht einfach nicht mehr .
Kleines Beispiel : ich hab eine Stelle an der ein User gelöscht wird.
Ich hab eine index.php die nach Pageids entsprechende funktionen aufruft uns so eine Seite aufbaut .
Ich lösche also aus der Funktion show_all_users heraus einen User , das macht delete_user() , und wenn in delete_user() keine EXCEPTION ausgelöst wird dann ist alle gut gegangen und ich kann eine Erfolgsmeldung direkt zurück in die show_all_users() Funktion geben die dann eben wie der Name schon sagt wieder die verbliebenen USER Auflistet.
Würde ich wie Früher eine Sessionvariable im Formular Setzen und die dann bei der Datenbankaktion löschen bringt mir das hier nichts mehr , da ich die sofort wieder aktiv habe und der User reloaden kann und dann eben ne Fehlermeldung bekommt .
Kann ich mit PHP die Daten in POST löschen , oder muss ich dass über Javascript machen ?
Oder fällt jemand spontan eine Lösung ein wie ich es schaffe doch zu erkennen ob da jemand Nachlädt oder ein neues Formular abschickt ?
Nachtrag :
Ok ich hab das Problem fürst erste etwas "dreckig" gelöst .
Da das Projekt so oder so nicht ohne Javascript funktioniert hab ich habe ich in jetzt im Formular einen type=hidden input der standartmäsig auf False steht .
Wenn ich auf den submit Button klicke wir der hidden Input Value auf true gesetzt und dann gesendet.
Wenn einer Nachläd steht das Teil noch auf False und nichts passiert.
Falls jemand eine Lösung kenn wie ich das ohne JAvascript in PHP hinbekomme wäre ich dankbar, da bestimmte Formulare auch ohen JavaScript funktionieren müssen und die sollte man auch nicht unbendingt reloaden können .
Tipps werden dankbar angenommen.
Gruß Sono.
Ich habe das wohl schon oft erörterte Problem mit dem Nachladen von Fomularen die Daten in eine Datenbank schieben.
Früher hab ich das ganze über Sessionvariablen abgesichtert und konnte so erkennen , ob einer Nachlädt oder ob da was neues gekommen ist .
Seit PHP5 hat sich mein Stiel etwas geändert und das mit der Sessionvariable geht einfach nicht mehr .
Kleines Beispiel : ich hab eine Stelle an der ein User gelöscht wird.
Ich hab eine index.php die nach Pageids entsprechende funktionen aufruft uns so eine Seite aufbaut .
Ich lösche also aus der Funktion show_all_users heraus einen User , das macht delete_user() , und wenn in delete_user() keine EXCEPTION ausgelöst wird dann ist alle gut gegangen und ich kann eine Erfolgsmeldung direkt zurück in die show_all_users() Funktion geben die dann eben wie der Name schon sagt wieder die verbliebenen USER Auflistet.
Würde ich wie Früher eine Sessionvariable im Formular Setzen und die dann bei der Datenbankaktion löschen bringt mir das hier nichts mehr , da ich die sofort wieder aktiv habe und der User reloaden kann und dann eben ne Fehlermeldung bekommt .
PHP-Code:
case 'delete_user': {
$userid = $_POST['userid'] ;
$username = $_POST['username'];
try{
delete_user( $userid );
show_all_users("" , "Benutzer $username wurde gelöscht!");
}
catch ( Exception $exception ){
$fehler = $exception->getMessage();
show_all_users("Benutzer $username konnte nicht gelöscht werden!" );
}
break;
Oder fällt jemand spontan eine Lösung ein wie ich es schaffe doch zu erkennen ob da jemand Nachlädt oder ein neues Formular abschickt ?
Nachtrag :
Ok ich hab das Problem fürst erste etwas "dreckig" gelöst .
Da das Projekt so oder so nicht ohne Javascript funktioniert hab ich habe ich in jetzt im Formular einen type=hidden input der standartmäsig auf False steht .
Wenn ich auf den submit Button klicke wir der hidden Input Value auf true gesetzt und dann gesendet.
Wenn einer Nachläd steht das Teil noch auf False und nichts passiert.
Falls jemand eine Lösung kenn wie ich das ohne JAvascript in PHP hinbekomme wäre ich dankbar, da bestimmte Formulare auch ohen JavaScript funktionieren müssen und die sollte man auch nicht unbendingt reloaden können .
Tipps werden dankbar angenommen.
Gruß Sono.
Kommentar