Logo - MyWebsolution.de
User gesamt  :  2393938
User online  :  1
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Anfängerfragen PHP und MYSQL » Problem mit Link um Session weiterzugeben

Seite: 1 Posts pro Seite: 5 10 20
Autor Thread
05.12.2008 02:38 Uhr Problem mit Link um Session weiterzugeben
roadrunner
User
 
registriert 05.12.2008
wohnt in
Beiträge 2
Guten morgen liebe Leute,

Ich habe mit Hilfe des Sessiontutorials (was ich für eine sehr gute Arbeit halte) eine Session gebastelt. Ich möchte kurz mal ein paar Zeilen zeigen.
PHP:

<?php
//SessionID integrieren
ini_set('session.use_trans_sid'1);

//Session name und id setzen
    
session_name();
    
session_id();

// Session starten 
//Cookie wird gesetzt
//Datei wird auf dem Server erzeugt
    
session_start(); 

// Cookie vernichten 
    
setcookie(session_name(), ""time()-3600);
?>

dann werden die einzelnen Forminhalte an in Sessions abgelegt
PHP:
<?php
//Sessionvariablen aufarbeiten
  
$_SESSION['anfrage'] = $anfrage;
  
$_SESSION['anrede'] = $anrede;
  
$_SESSION['name'] = $name;
  
$_SESSION['nachname'] = $nachname;
  
$_SESSION['email'] = $email;
  
$_SESSION['telefon'] = $tel;
  
$_SESSION['strasse'] = $strasse;
  
$_SESSION['PLZ'] = $plz;
  
$_SESSION['stadt'] = $stadt;
  
$_SESSION['land'] = $land;
?>

und dann möchte ich die ganze Session an die nächste Seite zu schicken.
PHP:
<?php
if(isset($_POST['submit']))
{
  
//hier werden die Usereingaben validiert

    //Wenn Kontrollvariable 1 ist liegt keine Fehler vor
    //und die Inhalt können gesendet werden
    
if($weiter == 1)
    {
       echo 
"<a href=\"reise_form_2.php?".SID."\">\n";
    } 
}  
?>

$weiter ist in diesem Fall eine Kontrollvariable die aus einem input hidden kommt.
Wenn ich nun den Sumbitbuttom betätige wird das ganze Formular zu einem riesen grossen Hyperlink (Text erhält andere Farbe und underline). Ich muss dann irgendwo in das Formular reinklicken damit es auf die nächste Seite geht. Die Daten werden alle übergeben, das passt soweit. Nachdem dann zweimal geklickt wurde geht es auf die nächste Seite wobei hier in der URL noch die SID angezeigt wird. Dann wieder das selbe. Klick auf Buttom, Form wird zu Link und SID verschwindet in der URL, nochmal Klick irgendwo im Form, Ausgabe, alles da.

Ich habe schon so ziemlich alle Formen durchforstet, aber es scheint das noch niemand das Problem hatte.

Dieser Beitrag wurde am 05.12.2008 um 02:39:27 Uhr von runner zum 1. Mal editiert.
Profil ansehen
07.12.2008 00:13 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Hallo roadrunner,
ich versteh den ersten Teil von deinem Code nicht so ganz...
PHP:
<?php
    session_name
();
    
session_id(); 
?>

Kannste dir erstma sparen, die initialisierung läuft automatisch bei dem Aufruf von session_start() mit ab.

Warum vernichest du das Cookie? Es gibt einen Parameter, mit dem man das Setzen von Session Cookies deaktivieren kann.. musst mal googln, hab ich nich im Kopf.

Ich versteh dein Problem auch nicht, wenn ich ehrlich sein soll^^ Also ich verstehe die Beschreibung 'logisch' nicht..

Generell würde ich vermuten, dass der Fehler damit zusammenhängt, dass du die Konstante SID benutzt. Soweit ich weiß wird diese nur genau dann befüllt, wenn kein Cookie gesetzt werden kann (weil im Browser des Users deaktiviert oder so). In deinem Fall kann aber (vielleicht) ein Cookie gesetzt werden, du vernichtest es danach zwar, SID wird dadurch aber nicht befüllt. Wie gesagt, ist jetzt ins Blaue hinein geraten, weil ich dein Problem nicht wirklich verstehe ;)

Lösungsvorschläge hätte ich 2:
1. Benutz den Parameter, der das Setzen von SessionCookies von vornherein verhindert.
Wenn das nicht funktioniert, erzeuge dir
2. deine eigene SID durch z.B.

PHP:
<?php
$mySID 
session_name()."=".session_id();
?>


Halt uns auf dem laufenden ;)

Gruß
Flitze

Dieser Beitrag wurde am 07.12.2008 um 00:15:44 Uhr von Flitze zum 1. Mal editiert.


Profil ansehen Mail senden
10.12.2008 04:53 Uhr
roadrunner
User
 
registriert 05.12.2008
wohnt in
Beiträge 2
Ich habe nun mal folgende Zeilen
PHP:
<?php
if(isset($_POST['submit'])) 

  
//hier werden die Usereingaben validiert 

    //Wenn Kontrollvariable 1 ist liegt keine Fehler vor 
    //und die Inhalt können gesendet werden 
    
if($weiter == 1
    { 
       echo 
"<a href=\"reise_form_2.php?".SID."\">\n"
    }  
}   
?>

durch diese hier ersetzt.
PHP:

<?php
if(isset{$_POST['submit']))
{
  
header('location: reise_form_2.php')
  exit;
}
?>

Und nun scheint es soweit mal zu funktionieren.:)
Mir war die ganze Sache mit dem Link nicht klar. Ich habe dabei nicht verstanden wie ich Formularinhalte über einen Link weitergeben kann. Nun hat sich wahrscheinlich deshalb das ganze Form in einen riesen grossen Hyperlink verwandelt wiel ich ihm ja gesagt habe wenn isset($_POST['submit'])) dann <a> ausgeben.
Profil ansehen
Seite: 1 no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik