php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.08.2005, 15:00  
Benutzer
 
Registriert seit: 15.12.2004
Beiträge: 73
pherfinion
Standard Session Daten in gehen in Function verloren

Ich habe ein Script das wie das Untensethende aufgebaut ist. Also hier 3 Seiten die über die Var control angesprochen werden. Ich mache
also eine session auf übermittle per URI die Sesion daten. Aber die Daten sind schon bei Seite 2 weg. Ich hab da glaub ich ein derbes Verständnis Problem?


PHP-Code:
<?php
session_start
();
/*Werte sichern*/
foreach($_POST as $key => $value)
        {
         
$_SESSION[$key] = $value;
        } 
switch (
$_POST['control'])
{
   case 
0:
   
control1();
   break;
   case 
1:
   
control2();
   break;
   case 
2:
   
control3();
   break;
}
function 
control1()
{
echo 
"
Form1
<form action='"
.$_SERVER['PHP_SELF']."?".session_name()."=".session_id()."' method='post'>
<input name='name1' type='text' id='name1' size='50' maxlength='50'
   value='" 
.$_SESSION['name1'] . "' />
<input type='submit' name='submit' value='Send'>
<input type='reset' name='reset' value='Reset'>
<input type='hidden' name='control' value='2'>
</form> \n"
;
}
function 
control2()
{
echo 
"Name 1 "$_SESSION['name2'];
echo 
"
Form2
<form action='"
.$_SERVER['PHP_SELF']."?".session_name()."=".session_id()."' method='post'>
<input name='name2' type='text' id='name2' size='50' maxlength='50'
   value='" 
.$_SESSION['name2'] . "' />
<input type='submit' name='submit' value='Send'>
<input type='reset' name='reset' value='Reset'>
<input type='hidden' name='control' value='3'>
</form> \n"
;
}
function 
control3()
{
echo 
"
Form3
<form action='"
.$_SERVER['PHP_SELF']."?".session_name()."=".session_id()."' method='post'>
<input name='name3' type='text' id='name3' size='50' maxlength='50'
   value='" 
.$_SESSION['name3'] . "' />
<input type='submit' name='submit' value='Send'>
<input type='reset' name='reset' value='Reset'>
<input type='hidden' name='control' value='4'>
</form> \n"
;
}
?>
Pherfinion
__________________
Fliegen ist die Kunst,
sich auf den Boden zu werfen, aber daneben(frei nach D. Adams)
pherfinion ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.08.2005, 15:07  
Gast
 
Beiträge: n/a
Standard

Was heißt denn, die Daten sind weg?
 
Alt 19.08.2005, 15:11  
Benutzer
 
Registriert seit: 15.12.2004
Beiträge: 73
pherfinion
Standard

wenn ich direkt hinter dem sichern der Daten das schreibe kann ich auf Seite zwei nicht mehr auf name1 zugreifen

[php]
foreach($_POST as $key => $value)
{
echo $_SESSION[$key];
echo "
";
}
[php]
__________________
Fliegen ist die Kunst,
sich auf den Boden zu werfen, aber daneben(frei nach D. Adams)
pherfinion ist offline  
Alt 19.08.2005, 15:28  
Benutzer
 
Registriert seit: 15.12.2004
Beiträge: 73
pherfinion
Standard

Wenn ich das switsch so abändere bekomm ich am Ende nur die Daten aus Form 3 angezeigt 1 und 2 sind verloren.

PHP-Code:
foreach($_POST as $key => $value)
          {
            
$_SESSION[$key] = $value;
          } 
switch (
$_POST['control'])
{
    case 
0:
    
control1();
    break;
    case 
1:
    
control2();
    break;
    case 
2:
    
control3();
    break;
    case 
3:
    foreach(
$_POST as $key => $value)
      {
    echo 
$_SESSION[$key];
    echo 
"
"
;
          }
    break;
    

__________________
Fliegen ist die Kunst,
sich auf den Boden zu werfen, aber daneben(frei nach D. Adams)
pherfinion ist offline  
Alt 19.08.2005, 15:29  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Hast Du mal geprüft ob die Session-Id konstant bleibt
Code:
<?php
session_start();
echo 'Session-Id: '.session_id().'

';

...
Ich würde die Session-Id bei den Formularen als Hidden-Field übertragen. Die Verwendung eines Query-Strings im action-Attribut eines Form-Tags schmeckt nicht jedem Browser:
Code:
<form action='".$_SERVER['PHP_SELF']."' method='post'> 
<input type='hidden' name='".session_name()."' value='".session_id()."'>
Abgesehen davon versucht Du die Session-Id als URL-Parameter (entspricht GET) zu übergeben und das Formular soll POST verwenden.

Auf Anhieb kann ich sonst keine andere mögliche Ursache feststellen. Vielleicht unwahrscheinlich, aber verwendest Du vielleicht die Option use_only_cookies und hast Cookies in Deinem Browser deaktiviert?
carrib ist offline  
Alt 19.08.2005, 16:04  
Benutzer
 
Registriert seit: 15.12.2004
Beiträge: 73
pherfinion
Standard


PHP-Code:
/*foreach($_POST as $key => $value)*/
foreach($_SESSION as $key => $value)
{
echo 
$_SESSION[$key];
echo 
"
"
;

Wenn ich nach $_POST frag bekomm ich nie die Daten in SESSION zu sehen. Entschuldigt das Ihr euch über solchen Müll den Kopf zerbrochen habt.
__________________
Fliegen ist die Kunst,
sich auf den Boden zu werfen, aber daneben(frei nach D. Adams)
pherfinion ist offline  
 


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
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Session in Session tinchen PHP Tipps 2007 22 21.03.2007 19:53
Call to a member function on a non-object Riks PHP Tipps 2007 20 10.02.2007 22:59
session array Timo Trallala PHP Tipps 2006 18 22.04.2006 13:45
function in einer function - help! PHP Tipps 2005-2 4 25.10.2005 00:20
Session geht immer verloren. Ich werde noch verrückt. PHP-Fortgeschrittene 3 08.10.2005 10:33
Daten auslesen und ändern Datenbanken 2 17.09.2005 19:28
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
Session ID geht verloren. child pid (123) exit signal ... fa PHP Tipps 2005 11 12.05.2005 09:54
[Erledigt] Session geht bei Seitenwechsel (Domainwechsel) verloren PHP-Fortgeschrittene 19 14.03.2005 14:40
Session Variable geht verloren! (Homepage inside) PHP Tipps 2005 11 15.02.2005 09:17
Session gibt keine Daten aus PHP Tipps 2005 8 04.02.2005 21:09
session geht verloren Rotti PHP Tipps 2005 11 18.01.2005 17:39
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
Daten aus Session löschen rocco PHP Tipps 2004 13 02.09.2004 19:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php session nach echo daten weg, input type=\reset\ session

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:27 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.