php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.03.2005, 14:10  
Gast
 
Beiträge: n/a
Standard problem mit session bzw übergeben von variablen!

Hallo habe ein problem mit einer session bzw. des mitsendens von wichtigen variablen. wenn ich meine variable $id an die url anhänge ist sie immer verschwunden, nachdem "header" ausgeführt wurde, deshalb habe ich versucht die variable abzufangen und dann an die "header location: " anzuhängen.

Frage ist das erlaubt? (funzt nicht!) gibt es andere lösungen...

hier der anfang des scriptes welches aufgerufen werden soll, die variable $id wurde vorher mitgesendet...!


Code:
$language = array();
session_start();
session_register('language');

		if ($lang =="eng"){
			$language[] = $lang;
			header("Location: $PHP_SELF?$id&".SID); <=== HIER
			exit();
		}
		
		if ($lang =="dt"){
			$language[] = $lang;
			header("Location: $PHP_SELF?$oldid&".SID);
			exit();
		}
gruss
destiny
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.03.2005, 14:25  
Gast
 
Beiträge: n/a
Standard

Oh Mann, nimmt das nie ein Ende????

Zum x-ten Male:

Variablen per URL, also per GET, liest man mit $_GET['varname'] ein und Variablen, die per POST kommen, liest man mit $_POST['varname'] ein.

Die Funktionen session*register sind veraltet, benutze statt dessen nur noch $_SESSION, siehe dazu in der Doku nach, Kapitel Session.

http://www.php.net/manual/de/security.globals.php
http://www.php.net/manual/de/ref.session.php

Gruß
phpfan
 
Alt 03.03.2005, 11:58  
Gast
 
Beiträge: n/a
Standard

habe mir dass mal angeschaut! diese superglobals $_GET bzw. $_POST haben doch erstmal nix mit sessions zu tun, richtig!?

sorry aber jetzt klappt das gar nicht mehr, kann auch aus dem array $_SESSION nicht auslesen...(sehr wahrscheinlich weils nicht befüllt wird!)

Bei Verwendund von $_SESSION muss ich aber trotzdem session_start() benutzen, richtig!?

ist $_SESSION ein array? oder muss ich $_SESSION= array(); zuweisen?



pls hlp!!!!
 
Alt 03.03.2005, 12:16  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

var_dump($_SESSION); hilft :P
und ja session_start(); musst du weiterhin verwenden.
und in $_SESSION steht halt auch nur was drin wenn du was reinschreibst, z.b. so

PHP-Code:
<?php
$_SESSION
['foo'] = 'blub';
?>
robo47 ist offline  
Alt 03.03.2005, 12:19  
Gast
 
Beiträge: n/a
Standard

ok reinschreiben geht... wie schauts denn dann mit der header anweisung aus? muss ich die noch verwenden???
 
Alt 03.03.2005, 12:26  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

ich kenne daeine dateistruktur nicht, aber eigneltich nicht, der Wert steht in einer Session und darauf kannst du jetzt zugreifen und in jeder weiteren datei auch, wenn du schön brav dein session_start überal drin hast. [am besten in ne config-datei auslaggern die überalleinfach includet wird.]

mfg
robo47
robo47 ist offline  
Alt 03.03.2005, 12:30  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php

session_start
();

        if (
$lang =="eng"){
            
$_SESSION['language'] = $lang;
            
header("Location: $PHP_SELF?".SID);
            exit();
        }
        
        if (
$lang =="dt"){        
            
$_SESSION['language'] = $lang;
            
header("Location: $PHP_SELF?".SID);
            exit();
        }

?>
und warum kann ich weiter unten in der datei/script

das hier nicht auslesen:

PHP-Code:
<?php
foreach ($_SESSION['language'] as $i => $value ){
                                                    echo (
$_SESSION['language']);
                                                        
$lastlang=$value;
                                                    }

?>
 
Alt 03.03.2005, 12:32  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

weil du es vällig falsch ansprichst.

mach mal ein var_dump($_SESSION); vor der foreachschleife, dann erkennst du die strutkur deines arrays.
robo47 ist offline  
Alt 03.03.2005, 12:41  
Gast
 
Beiträge: n/a
Standard

vielen dank für deine hilfe, robo47!

my god!!! jetzt erkenn ich gar keine struktur mehr ich will einfach nur den letzten wert auslesen! steh grad aufm schlauch aber so schwer ist das doch nicht?!

ist dass alles denn ohne header("Location: $PHP_SELF?".SID); auch mit abgeschalteten cookies gültig?
 
Alt 03.03.2005, 12:46  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

was ist denn das $lang hier? ein array? wenn ja woher kommt es und überhaupt ? :P

PHP-Code:
<?php
    
if ($lang =="eng"){
         
$_SESSION['language'] = $lang;
         
header("Location: $PHP_SELF?".SID);
         exit();
      } 
?>
wenn du willst dass du alle $langs speicherst, dann musst du halt mit einem array arbeiten

PHP-Code:
<?php
    
if ($lang =="eng"){
         
$_SESSION['language'][] = $lang;  // man beachte die []
         
header("Location: $PHP_SELF?".SID);
         exit();
      }
?>
auch wenn mir bis jetzt der sinn des ganzen verschlossen bleibt
robo47 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
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
SESSION Problem mit Opera 7 [Gelöst] akratellio PHP Tipps 2005-2 4 14.07.2005 10:51
seltsames php und session problem netti PHP-Fortgeschrittene 16 01.06.2005 17:01
session problem PHP Tipps 2005 10 23.05.2005 12:41
Session Problem PHP Tipps 2005 4 16.05.2005 17:50
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
Problem mit Session suendesizer PHP-Fortgeschrittene 3 04.02.2005 13:20
Session Problem mit Variable übergeben PHP Tipps 2004-2 6 13.12.2004 13:16
Session Problem Ypsillon PHP Tipps 2004-2 8 30.11.2004 00:25
session problem ? yoshy PHP Tipps 2004-2 9 23.11.2004 16:35
Problem mit SESSION PHP Tipps 2004-2 8 18.11.2004 16:02
[Erledigt] PHP Session Problem, dringend! PHP-Fortgeschrittene 17 21.10.2004 21:15
Session wird falsch wieder aufgenommen - Problem mit Session PHP Tipps 2004 2 16.10.2004 14:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
header(\location: $php_self?\);, header location php_self, php session liest session nicht

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