2009-08-14 13 views
0

Verzeihen Sie mir, wie ich ein Neuling bin. Ich habe ein mehrseitiges Formular, in dem ich $ _SESSIONS verwende, um die Variablen aufzuzeichnen.Übergabe von Variablen über ein mehrseitiges Formular in PHP

<?php 
session_start(); 
foreach ($_POST as $key=>$value) { 
    if ($key!="submit") { 
     $value= htmlentities(stripslashes(strip_tags($value))); 
     $_SESSION[$key] = $value; 
    } 
}` 

Ich habe eigentlich zwei Probleme. Wenn ich zu einer checkform.php komme, die ich gemacht habe, die die Variablen druckt, erscheinen die Variablen von Seite 1 nicht, obwohl der oben aufgeführte Code auf jeder Seite ist. Ich benutze Firefox-Web-Entwickler-Tool, um Cookies zu deaktivieren und in der PHP-Ini, änderte ich session.use_trans_sid auf 1, um es zu aktivieren. Für die letzte Seite auf meiner checkform.php drucke ich print_r ($ _ POST) für die letzte Seite, die gut funktioniert. Warum werden Variablen von Seite 1 nicht angezeigt? Was vermisse ich?

Das zweite Problem ist, dass, wenn ich ($ _ SESSION) print_r, einige Felder, insbesondere der Checkbox-Arrays, drucken, wie

[payment] => Array 
[agerange] => Array 
[meals] => Array 
[mealtypes] => Array 

Was bin ich?

Antwort

0

Verwenden Sie in Ihrem Formular-Tag "Get" oder "Post" für Ihre Methode? Das ist der einzige Grund, warum ich sehen kann, dass das Array $ _POST auf Seite 1 leer ist ...

0

Ich bin mir nicht sicher über dein erstes Problem. Sie können in Erwägung ziehen, die Informationen mithilfe eines POST-Tags an die zweite Verifizierungsseite weiterzuleiten.

Ich kann eine Antwort auf Ihr zweites Problem geben: Es ist nur ein Array drucken, weil Sie es gefragt haben. Sie müssen eine foreach() verwenden, um jedes Teil des Arrays zu echoten.

Es gibt keine dumme Frage.

Verwandte Themen