Mehrseitige Formulare – Inhalte weitertragen und Auswirkungen auf der nächste Seite

Mmhh.. Ich habe mich schon mit Sessions befasst,
aber ich habe KEIN Tutorial bzw. keine Anleitung gefunden,
die ich verstehe :D

Das ist doch sicher sehr kompliziert!
 
Das ist nicht weiter kompliziert...mit Sessions arbeitest du ganz normal wie mit Variablen, nur das die Variablen erhalten bleiben, auch wenn das Skript beendet ist.

Du musst dich bei Sessions nur zusätzlich darum kümmern, dass sie gestartet und aufrecht erhalten werden.
 
Hallo!
Ok... also dann halt mit Sessions ;-)

In die 01.php kommt der Aufruf der Sessions, oder?
Also das hier:

<?php
session_save_path("./save");
session_start();
session_register("name");
?>

- in den Head oder in den Body?
- wo können Sessions bzw. Cookies auf dem Server gespeichert werden?
- Was ist mit Leuten, die entweder Cookies oder Sessions deaktiviert haben
oder gar beides?
 
Zuletzt bearbeitet:
Der Aufruf der session_start()-Funktion sollte vor jeglicher Ausgabe stattfinden, da es sonst beim Setzen eines Cookies zu Problemen kommen kann. Der Speicherort für Sitzungs-Dateien ist in der session.save_path-Konfigurationsoption festgelegt.
Sitzungen sind eine serverseitige Technik und können daher nicht deaktiviert werden. Denn die Sitzungs-ID kann neben Cookies auch über URL oder Formulare übermittelt werden. Dies alles zu unterbinden, ist mit einem ungeheuren Aufwand verbunden und außerdem sinnlos.
 
Wenn du die Session serverseitig speicherst (also nicht im Cookie) kann der User sie gar nicht deaktivieren. Dann musst du sie nur noch weitergeben (zum Beispiel per verstecktem Input oder URL...)
 
Du musst die Sache nicht so kompliziert angehen :-)

schreibe in jede Datei, die beteiligt ist(und nicht includet wird) [phpf]session_start[/phpf]

Im Weiteren brauchst du dich darum nicht mehr kümmern, du hast nun den Array $_SESSION verfügbar, den du ganz normal wie jeden Array gebrauchen kannst...mit Werten füllen, auslesen, Elemente löschen usw. ....dass du eine Session hast, kannst du dann im Prinzip vergessen.
 
Der Aufruf der session_start()-Funktion muss in jedem Skript erfolgen, in dem die Sitzungs-Daten zu Verfügung stehen sollen. Ob dies nun in der direkt aufgerufenen Skript-Datei oder einer eingebundenen Skript-Datei geschieht, ist egal. Wichtig ist, dass dies nur einmal geschieht, da es sonst zu Fehlermeldungen kommen kann.

Um es dir dabei etwas einfach zu machen, könntest du den Start der Sitzung wie folgt gestalten, ihn in einer eigenständigen Skript-Datei schreiben und mit der require_once-Anweisung in das Skript einbinden.
PHP:
<?php

	if( empty(session_id()) ) {
		session_start();
	}

?>
 
Hallo.
Also mache ich das so:

01.php:
PHP:
<?php
require_once("sessions.php");
?> ...

In der sessions.php:
PHP:
 <?php

    if( empty(session_id()) ) {
        session_start();
    }

?>


Dann werden die Sessions hier gestartet und serverseitig gespeichert, oder?
Auf jeder weiteren Seite füge ich dann ein:

PHP:
<?php
session_start();
?>



Jetzt geht es ja aber um die RadioButtons:
Ich habe auf der Seite 01.php drei Buttons der selben Gruppe ("radio01").
Die Werte sind eigentlich egal, hauptsache sie können am Ende wieder ausgelesen werden, also z.B: "1", "2" und "3"...

Wie mache ich das jetzt, dass die Auswahl des Users jetzt als Sessions gespeichert wird, also so:

PHP:
$_SESSION['radio01'] = '1';
!?
 
Aber "1" ist ja schon das Ergebnis,
der User kann ja aber auch "2" und "3" auswhälen?

Wie geht das denn? So sieht die 01.php aus.
Der User kommt auf die 2. Seite, wo dann die Anwort ausgegeben werden soll.
Aber wie kann man die Session speichern und v.a. auf der nächsten Seite das Ergebnis von "radio01" wieder auslesen?!


PHP:
<?php 
require_once("sessions.php"); 
?>

....



<form method="post" action="../02/02.php">
															<table width="100%" border="0" cellspacing="0" cellpadding="0">
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="1"></td>
																	<td><font face="Arial">Ich gehe schon immer gerne mit Menschen um.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="2"></td>
																	<td><font face="Arial">Der Umgang mit fremden Menschen ist mir nicht so angenehm.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"><input type="radio" name="radio01" value="3"></td>
																	<td><font face="Arial">Ich meide fremde Menschen und bin am liebsten zu Hause.</font></td>
																</tr>
																<tr>
																	<td valign="top" width="20"></td>
																	<td><input type="submit" name="submitButtonName"></td>
																</tr>
															</table>
														</form>
 
Zurück