php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 27-06-2002, 12:15
lugi27
 Newbie
Links : Onlinestatus : lugi27 ist offline
Registriert seit: Jun 2002
Ort: Munich
Beiträge: 43
lugi27 ist zur Zeit noch ein unbeschriebenes Blatt
Unhappy HILFE!!! Formulardaten gehen verloren mit Sessions

Hallo erstmal!

Ich habe ein Problem, daß mich jetzt schon 3 Tage beschäftigt und ich habe bisher keine Lösung gefunden. :-(

Anfänglich wird mit session_start() und session_is_registered() überprüft, ob der User eingeloggt ist, bzw. es wird der Benutzername ermittelt.
Weiterhin habe ein Formular mit 18 Feldern.
Aus einer Datei wird ermittelt, ob der User schon mal Daten in dieses Formular eingetragen hat. Wenn ja, werden diese Formularfelder auch mit diesen Daten befüllt.
Wenn der User nun auf "Daten senden" klickt wird eine verarbeitende PHP-Datei aufgerufen, die die Daten auf Korrektheit und Vorhandensein überprüft.
Ist dies nicht der Fall, so wird ein Fehler ausgegeben und mittels history.back() ein Link auf die Formularseite ausgegeben. Gehe ich nun zurück zu meinem Formular, so sind ALLE Daten futsch.
Weiß irgendwer eine Lösung???

Danke,
Lugi.
Mit Zitat antworten
  #2 (permalink)  
Alt 27-06-2002, 12:21
Borsi
 Registrierter Benutzer
Links : Onlinestatus : Borsi ist offline
Registriert seit: Apr 2001
Beiträge: 96
Borsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Luigi

"Wenn der User nun auf "Daten senden" klickt wird eine verarbeitende PHP-Datei aufgerufen, die die Daten auf Korrektheit und Vorhandensein überprüft. "

Ein Lösung wäre, die Daten nicht an eine andere Datei zu senden, sondern direkt in der Datei mit dem Formular zu testen.
Siehe dazu php_self

Gruss
Borsi
Mit Zitat antworten
  #3 (permalink)  
Alt 27-06-2002, 12:30
lugi27
 Newbie
Links : Onlinestatus : lugi27 ist offline
Registriert seit: Jun 2002
Ort: Munich
Beiträge: 43
lugi27 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi Borsi...

Das habe ich auch schon mit einer einfachen testdatei probiert.
Es funktioniert aber trotzdem nicht....
Mit Zitat antworten
  #4 (permalink)  
Alt 27-06-2002, 12:35
Borsi
 Registrierter Benutzer
Links : Onlinestatus : Borsi ist offline
Registriert seit: Apr 2001
Beiträge: 96
Borsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi Lugi

Hast Du auch darauf geachtet, dass alle Session-Befehle ganz oben an der Seite untergebracht wurden?

Gruss
Borsi
Mit Zitat antworten
  #5 (permalink)  
Alt 27-06-2002, 12:38
lugi27
 Newbie
Links : Onlinestatus : lugi27 ist offline
Registriert seit: Jun 2002
Ort: Munich
Beiträge: 43
lugi27 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Ja...

Probier doch mal dieses kleine Beispielskript aus:
http://www.saturdaymorning.de/test/lugi/buli/test.php

Der Source-Code ist hier:

<?PHP

session_start();

?>

<html>
<body>

<?

if (isset($submit))
{
echo $test."<br>\n";
echo "<a href='javascript:history.back()'>Zurück</a>\n";
}
else
{

?>

<form method="POST" action="<? echo $PHP_SELF; ?>">
<input type=text name=test><br>
<input type=submit name=submit value="Senden">
</form>

<?

}

?>

</body>
</html>
Mit Zitat antworten
  #6 (permalink)  
Alt 27-06-2002, 13:08
Borsi
 Registrierter Benutzer
Links : Onlinestatus : Borsi ist offline
Registriert seit: Apr 2001
Beiträge: 96
Borsi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Lugi

Ich habe einen ähnlichen Fall, da funzt es mit dem IE, leider mit dem NC 4.78 nicht.

Mein Code sieht leicht anders aus:

echo "<form><input type=button value=\"zurück\" onClick=\"history.back()\"></form>";

Gruss
Borsi
Mit Zitat antworten
  #7 (permalink)  
Alt 27-06-2002, 13:18
slarti
 Member
Links : Onlinestatus : slarti ist offline
Registriert seit: Jun 2002
Ort: berlin
Beiträge: 448
slarti ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das problem kenn ich, einige browser speichern die formulardaten, andere nicht.

du könntest für den zurück-button aber ein neues formular aufmachen, wo sämtliche variablen nochmal als hidden übergeben werden...
Mit Zitat antworten
  #8 (permalink)  
Alt 27-06-2002, 13:22
lugi27
 Newbie
Links : Onlinestatus : lugi27 ist offline
Registriert seit: Jun 2002
Ort: Munich
Beiträge: 43
lugi27 ist zur Zeit noch ein unbeschriebenes Blatt
Standard das liegt alles nur an der session

wenn ich die zeile session_start() auskommentiere, dann bekomme ich die formulardaten wieder angezeigt........
ich habe leider bis jetzt noch keine lösung gefunden, aber ich brauche die session auf jeden fall.........
Mit Zitat antworten
  #9 (permalink)  
Alt 28-06-2002, 19:53
lugi27
 Newbie
Links : Onlinestatus : lugi27 ist offline
Registriert seit: Jun 2002
Ort: Munich
Beiträge: 43
lugi27 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kann mir denn keiner bei meinem Problem weiterhelfen? Habe bis jetzt immer noch keine gute Lösung gefunden...:-(((
Mit Zitat antworten
  #10 (permalink)  
Alt 22-07-2002, 19:36
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 810
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

"wenn ich die zeile session_start() auskommentiere, dann bekomme ich die formulardaten wieder angezeigt"

Ganz klar, mit session_start() öffnest Du ja eine neue Session, somit sind die alten Daten natürlich weg. Selbst wenn Du auf der Überprüf-Seite ein history.back() einsetzt, wir da ja trotzdem die Seite neu aufgebaut und somit auch session.start() ausgeführt.

Anstatt history.back() mach einen Link auf die Seite und übergebe zusätzlich eine Variable z.B. $check = failed.

Vor Dein sesion_start() setzt Du dann einfach eine Abfrage:

if ($check != "failed") {
session.start()
...
}

Somit führt er die nur aus, wenn die Seite direkt aufgerufen wird.

Gruß, Andi
Mit Zitat antworten
  #11 (permalink)  
Alt 22-07-2002, 19:51
andik2000
 Registrierter Benutzer
Links : Onlinestatus : andik2000 ist offline
Registriert seit: Jan 2002
Beiträge: 810
andik2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sorry, muss mich korrigieren,

mit session_start() nimmst Du auch variablen wieder auf, so weit ich aber weis nur solche, die per GET übergeben werden, Formulare in altbewährter Form sendet man meistens aber mit POST.
Vielleicht liegts daran!

Gruß
Mit Zitat antworten
  #12 (permalink)  
Alt 22-07-2002, 19:56
MoRtAlAn
 PHP Master
Links : Onlinestatus : MoRtAlAn ist offline
Registriert seit: Jan 2002
Ort: Mühlheim am Main
Beiträge: 5.934
MoRtAlAn ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mit history.back() verlierst du deine SessionID, d.h., gehst du mit History.Back() zurück, gibt dir Session_start() eine neue SessionID, da keine alte an die Funktion übergeben worden ist. Ausnahme: Der User unterstützt Cookies und PHP ist dementsprechend eingestellt, die Sessionid auch in ein Cookie weiterzugeben. Unterstützt der Benutzer keine Cookies, sind die Daten verloren.

gruss
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:06 Uhr.