php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.12.2004, 09:13  
Gast
 
Beiträge: n/a
Standard [Erledigt] POST Formulare mit Fehlermeldung

Hallo an alle!

Habe nun schon einige Foren durchstudiert und bin noch zu keiner Lösung meines Problems gekommen:

Ich verwende in einem Web Projekt, welches in PHP realisiert worden ist, Forumlare die Variablen mit method="POST" an andere Scripte übergeben. Dabei tritt oft das Problem auf, wenn der User den Browser Back Button betätigt oder history.back() verwendet wird kommt eine Browser Fehlermeldung "Seite kann nicht angezeigt werden (wie wenn keine Internetverbindung vorhanden wäre)" Obwohl hier ja wieder das aufrufende Script bzw. Formular angezeigt werden sollte.

Als Lösung habe ich dann mal versucht:

session_cache_limiter("private");
session_start();

einzusetzen. Da kamen zwar keine Fehlermeldungen mehr und das aufrufende Formular wird bei Browser Back wieder angezeigt, nur hält mir der Cache die Daten so hartnäckig, dass teilweise Veränderungen der betreffenden Seite nicht mehr angezeigt werden.

Kann mir dabei jemand helfen?

Denise
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 03.12.2004, 09:26  
Gast
 
Beiträge: n/a
Standard Re: POST Formulare mit Fehlermeldung

Zitat:
Zitat von Denise
Kann mir dabei jemand helfen?
Das schon gelesen?
http://www.php.net/manual/de/functio...he-limiter.php
  Mit Zitat antworten
Alt 03.12.2004, 09:43  
Gast
 
Beiträge: n/a
Standard

Hallo!

Ja schon gelesen aber nicht weitergeholfen. Verstehe zwar einigermaßen was damit abläuft, aber ist keine echte Lösung für mein Problem.

Wie bereits beschrieben:

Wenn ich die Cache Verwaltung aktiviere, kommt keine Fehlermeldung und das zuerst aufgerufene Script wird auch angezeigt. ABER - z.b. im Forum Script wird neues Thema angelegt und nicht mehr angezeigt. PC neu starten - Browser Schrott löschen und erst dann sehe ich das neue Thema. Der Cache behält die aufrufende Seite einfach ohne das neue Thema und zeigt sie so an.

Wenn ich die Cache Verwaltung mit no_cache abdrehe werden immer die aktuellen Daten angezeigt, aber bei history.back() kommt eben die fehlermeldung das die Seite nicht angezeigt werden kann.

????
  Mit Zitat antworten
Alt 03.12.2004, 10:18  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Denise
Wenn ich die Cache Verwaltung mit no_cache abdrehe werden immer die aktuellen Daten angezeigt, aber bei history.back() kommt eben die fehlermeldung das die Seite nicht angezeigt werden kann.
Wenn man Sessions verwendet, sollte man die Finger von history.back & Co. lassen.
  Mit Zitat antworten
Alt 03.12.2004, 10:27  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von meikel
Wenn man Sessions verwendet, sollte man die Finger von history.back & Co. lassen.
@meikel
Das ist mir schon klar, aber ich kann den User doch nicht dazu zwingen "nicht" auf den Button des Browsers zu klicken, sondern muss eine Möglickeit finden wie ich den Fehler abfangen kann.

Jede Art von Fehlerroutine ist fehlgeschlagen, da scheinbar der Browser beim history.back() nicht mal mehr den Code liest sondern gleich die Fehlermeldung ausspuckt.

Wenn ich Variablen in fast gleichen Formularen mit GET übergeben (also in der URL), funktioniert auch alles problemlos.

Wie gesagt - Probleme nur bei POST!
  Mit Zitat antworten
Alt 03.12.2004, 10:38  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Denise
Das ist mir schon klar, aber ich kann den User doch nicht dazu zwingen "nicht" auf den Button des Browsers zu klicken, sondern muss eine Möglickeit finden wie ich den Fehler abfangen kann.
Den Fehler generiert der Browser an hand der gesendeten Header.

Ich geh da sogar noch auf Nummer sicher und schick zusätzlich noch die üblichen 'no cache' Header:
PHP-Code:
function sendNoCacheHeader()
{
    
header("Expires: Sat, 05 Aug 2000 22:27:00 GMT");
    
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
    
header("Cache-Control: no-cache, must-revalidate");
    
header("Pragma: no-cache");
    
header("Cache-Control: post-check=0, pre-check=0");

  Mit Zitat antworten
Alt 03.12.2004, 10:56  
Gast
 
Beiträge: n/a
Standard

@Meikel

Danke für den Tipp - hab ich auch schon versucht jedoch keine Wirkung gezeigt. Noch immer der selbe Fehler.
  Mit Zitat antworten
Alt 03.12.2004, 11:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Denise
Danke für den Tipp - hab ich auch schon versucht jedoch keine Wirkung gezeigt. Noch immer der selbe Fehler.
Ich schrieb: "Den Fehler generiert der Browser an hand der gesendeten Header."

Die letzte Aktion in der History des Clients ist das Senden der Formulardaten. Es macht keinen Sinn, daß diese Aktion wiederholbar wäre.
  Mit Zitat antworten
Alt 03.12.2004, 12:10  
Gast
 
Beiträge: n/a
Standard

@meikel

Ja da geb ich Dir recht, die Aktion soll ja auch nicht wiederholt werden. Ich versuchs mal etwas genauer, da ich nicht weiß ob ich es gut erklären konnte:

Script 1:
Eingabeformular mit 3 Eingabefeldern und einem Submit Button. Übergibt die Daten an Script 2 mit methode="POST"

Script2:
Übernimmt und prüft die Daten von Script 1 -> sind alle Felder korrekt ausgefüllt, wird eMail mit den Daten an den User gesendet und es erfolgt eine Umleitung auf die Startseite (3. Script).

Wenn ich jetzt auf der Startseite (Script 3) auf den "Browser Back Button" klicke kommt die Fehlermeldung das die Seite (Script 2) nicht angezeigt werden kann. Und genau hier ist das Problem: Das Script 2 braucht eine Routine die abfragt ob von Script 1 aufgerufen wurde oder ob es sich um ein history.back() bzw. Reload handelt. Und da hab ich bereits einiges versucht und es scheint so als würde der Browser die Fehlerroutine in Script 2 gar nicht abarbeiten sondern sofort die Fehlermeldung rausschreiben.

Alle Scripte arbeiten mit einer Session in der eine Variable mit dem "Usernamen" registriert ist um die Daten des User auch richtig verarbeitet werden solange er eingeloggt ist.


Vielleicht ist es jetzt etwas verständlicher.

Das Script funktioniert ja auch fehlerfrei bis auf diese lästigen Browsermeldungen. Es werden alle Daten korrekt in der Datenbank gespeichert und auch an die anderen Scripte übergeben.

Zur Ergänzung - ich arbeite mit:
- WindowsXP SP2 mit allen aktuellen IE Patches
- PHP Version 4.3.7
- MySQL 3.23.49a-max


Danke, Denise
  Mit Zitat antworten
Alt 03.12.2004, 12:46  
Gast
 
Beiträge: n/a
Standard

@Denise

Guck Dir das mal an:
http://test.php-help.info/affenformular-2/ (Quelltext wird angezeigt)
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Post / Fehlermeldung marcof PHP Tipps 2008 7 25.03.2008 00:03
Daten senden über POST oder GET snatch-ic PHP Tipps 2008 6 12.03.2008 20:46
Fehlermeldung umbenennen Soese PHP Tipps 2007 3 13.03.2007 13:33
POST manipulieren notyyy PHP Tipps 2006 5 24.09.2006 20:31
script läuft und funktioniert gibt aber fehlermeldung aus? Promaetheus PHP Tipps 2006 5 12.09.2006 23:42
gehackte Formulare seb-web PHP-Fortgeschrittene 50 01.08.2006 15:59
POST Daten ohne Formular übergeben? <Daniel> PHP Tipps 2006 8 19.06.2006 14:34
Post Formular automatisch weiterleiten mansaylon PHP Tipps 2006 7 31.03.2006 10:46
Ich will Fehlermeldung vermeiden. Zero.exe PHP Tipps 2005-2 2 02.08.2005 13:11
fragwürdige Fehlermeldung PHP Tipps 2005 5 19.05.2005 15:45
POST socke PHP Tipps 2005 5 25.04.2005 12:52
Mit post an weitere Seite oder 2 Seiten übergeben? PHP Tipps 2005 1 02.02.2005 12:16
Linux Drucker unter Windows tennessee Server, Hosting und Workstations 10 16.12.2004 17:14
Script bei Strato mit Fehlermeldung, bei Netbeat ok PHP Tipps 2004-2 14 08.12.2004 11:08
Post PHP Tipps 2004-2 6 22.11.2004 13:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
postformulare, fehlermeldung formular, php browser meldung, php formular fehlermeldung, zurück button seite kann nicht angezeigt werden formular, php formulardaten cachen, post methode kann man nicht durch history.back, fehlermeldung im aufrufenden formular anzeigen php, sendnocacheheader, browser back button formular abgesendet fehler, formular post history.back(), löschfunktion mit php header redirect aufrufende seite, seite kann nicht angezeigt werden meldung abfangen, ie history back fehlermeldung, javascript meldung seite kann nicht angezeigt werden, browser zurück ohne fehlermeldung realisieren, browser button zurück formular, post formular bowser fehler, php formular keine fehler bei leeren, formular nochmals senden verhindern

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.