Antworten auf deine Fragen:
Neues Thema erstellen

PHP Formular, dass man weiterblättern kann

maxxscho

Code-Fan

AW: PHP Formular, dass man weiterblättern kann

Danke alle für die Hilfe hier.
Warum wurden bei meinem Ansatz die session Variablen beim Absenden der nächsten Seite immer geleert??
Ich sitz hier vor meiner Version und der von BlackScorp und stelle mir diese Frage und sie will sich mir nicht erschliessen.

Kann mir das einer bitte erklären? Ich steh auf der Leitung.
 

mommel

mv dau /dev/null

AW: PHP Formular, dass man weiterblättern kann

Schau einfach den Post vor seinem an da hab ich es detailiert erklärt!

du überschreibst es immer weil du immer $_SESSION mit $_REQUEST überschreibst auch wenn du den $_REQUEST Wert nicht gefüllt hattest
 

Chriss1987

me.drinkCoffee();

AW: PHP Formular, dass man weiterblättern kann

Hi,

um es mal präzieser auszudrücken:
dein
PHP:
$_SESSION['var'] = $_REQUEST['var'];
macht bei jedem Seitenaufruf folgendes:
Code:
- existiert $_GET['var']?
    - wenn ja, übergebe den Inhalt von $_GET['var'] an $_SESSION['var'] und weiter im Script
    - wenn nein, existiert $_POST['var']?
        - wenn ja, übergebe den Inhalt von $_POST['var'] an $_SESSION['var'] und weiter im Script
        - wenn nein, existiert $_COOKIE['var']?
            - wenn ja, übergebe den Inhalt von $_COOKIE['var'] an $_SESSION['var'] und weiter im Script
            - wenn nein, existiert $...['var']?
                .
                .
                .
(die Reihenfolge, welche Superglobalen durchsucht werden, hängt von den Einstellungen in der php.ini ab)

Verwendest du nun bei jedem Seitenaufruf
PHP:
$_SESSION['var'] = $_POST['var'];
wirst du, sollte $_POST['var'] nicht gesetzt (und dein error_reporting eingestellt) eine Fehlermeldung vom Typ "Warning: Undefined variable ..." und $_SESSION['var'] wird nicht übergeben, die Variable ist also leer. Bleibt also immernoch das Problem, dass die Variable überschrieben wird. Um das zu vermeiden, überprüfen wir, ob $_POST['var'] gesetzt ist:
PHP:
if (isset($_POST['var']))
    {
        $_SESSION['var'] = $_POST['var'];
    }
alternativ dazu kann man auch folgende Schreibweise verwenden (wer es bevorzugt...):
Code:
 var = (Bedingung ? wenn true : wenn false);
Dann müsste die Zuweisung allerdings etwas erweitert werden:
PHP:
$_SESSION['var'] = (isset($_POST['var']) ? $_POST['var'] : (isset($_SESSION['var']) ? $_SESSION['var'] : ""));
Erst wird geprüft, ob $_POST['var'] existiert, wenn ja, diesen Wert übernehmen, wenn nein, prüfen, ob $_SESSION['var'] gesetzt wurde, wenn ja, diesen Wert zuweisen, wenn nein, leeren String zuweisen.

Hoffe, ich konnte ein wenig helfen, wenn nicht, dann, weiß ich auch nicht weiter ;) (ist ja schon spät und der Sauerländer mal in die Haia :D ;) :p)

Schöne Grüße aus dem Sauerland!
Chriss
 

maxxscho

Code-Fan

AW: PHP Formular, dass man weiterblättern kann

Ok, Leute, jetzt ist es angekommen:D
Danke euch allen für die Hilfe!!!!!!!
BIG THX!!!!!!
 

BlackScorp

I Code for Food:D

AW: PHP Formular, dass man weiterblättern kann

alternativ dazu kann man auch folgende Schreibweise verwenden (wer es bevorzugt...):
Code:
var = (Bedingung ? wenn true : wenn false);
bäh, hasse sowas, total verwirrend und unnütz
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.453
Mitglieder
67.557
Neuestes Mitglied
Charal
Oben