php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.10.2005, 13:46  
Benutzer
 
Registriert seit: 31.03.2005
Beiträge: 80
Anotherone
Standard Session-Variable geht verloren?

Hallo,

habe hier ein echt merkwürdiges Problem. Ich nutze eine Session-Variable ($_SESSION['typ']), um eine Typenbezeichung zu speichern. Dies passiert, wenn per Post eine entsprechender Wert übergeben wird:

PHP-Code:
    if ($_POST['typ']!='') {
        
$_SESSION['typ'] = $_POST['typ'];
    } 
Nur wenige Zeilen tiefer, in denen nichts mit Session-Variablen gemacht wird (nur Datenbankabfragen) ist die Variable plötzlich leer.

Woran kann das liegen?
Anotherone ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.10.2005, 13:48  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
sessionstart
() 
?>
gesetzt??

ein bisel mehr code...wir sind doch keine hellesher !!!

thx stego87 :wink:
 
Alt 20.10.2005, 14:05  
Benutzer
 
Registriert seit: 31.03.2005
Beiträge: 80
Anotherone
Standard

Ich habs schon fast befürchtet

PHP-Code:
    $typ_query xtc_db_query("SELECT staubsaugertyp 
                               FROM " 
TABLE_SSB_NUMBERS 
                               WHERE hersteller ='" 
$_SESSION['hersteller_id'] . "' ORDER BY staubsaugertyp");

    
$auswahl = array();
    
$auswahl[0] = array('id' => '0''text' => ' -- bitte wählen -- ');
    
$num 1;

    while (
$typ xtc_db_fetch_array($typ_query)) {
        
$auswahl[$num] = array('id' => $typ['staubsaugertyp'],
                           
'text' => $typ['staubsaugertyp']);
        
$num++;
    }

    if (
$_POST['typ']!='') {
        
$_SESSION['typ'] = $_POST['typ'];
    }

    
$ssb_query xtc_db_query("SELECT beutelartikelnummer FROM " TABLE_SSB_NUMBERS " WHERE staubsaugertyp='".$_SESSION['typ']."'");
    
$ssb_result xtc_db_fetch_array($ssb_query); 
Stammt aus einem großen Ecommerce-Sytem und da wird die Session normalerweise ordentlich verwaltet, die hundert anderen Session-Werte bleiben auch erhalten, nur meiner geht verloren...
Anotherone ist offline  
Alt 20.10.2005, 14:13  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
 
if ($_POST['typ']!='') { 
        
$_SESSION['typ'] = $_POST['typ']; 
        echo 
'test session:'.$_SESSION['typ'];
  } 
?>
was kommt da heraus?
 
Alt 20.10.2005, 14:28  
Benutzer
 
Registriert seit: 31.03.2005
Beiträge: 80
Anotherone
Standard

Da ist sie noch gesetzt. Mache ich das nach der letzten SQL-Abfrage, die den Wert ja braucht, ist sie leer. Sie ist aber auch vorher schon leer, da die SQL-Abfrage nicht ausgeführt wird (daher ist es ja aufgefallen). Das irritierende ist, das es auf meinem Server läuft, auf dem Produktivserver nicht. Beide Debian Sarge mit PHP 4.3.10
Anotherone ist offline  
Alt 20.10.2005, 15:32  
Gast
 
Beiträge: n/a
Standard

Auch beide gleich konfiguriert, insbesondere register_globals?
 
Alt 20.10.2005, 17:02  
Gast
 
Beiträge: n/a
Standard

@Bruchpilot
darüber habe ich zuerst auch nachgedacht, kann aber net sein wenn die anderen sessions funktionieren!

mh...ka...sry
 
Alt 20.10.2005, 17:16  
Gast
 
Beiträge: n/a
Standard

Seiteneffekte bei register_globals on können auch im Sessionmodul bemerkbar sein.
 
Alt 20.10.2005, 18:55  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Bei register_globals = on referenzieren $typ und $_SESSION['typ'] auf den
selben Wert. Von daher veränderst du $_SESSION['typ'], wenn du $typ
veränderst. Das ist doch das Problem von dieser besch* Option. Falls du die
also nicht abschalten willst, dann am besten deine ganze Applikation in eine
Funktion main() setzen, dann läuft die auch auf Servern mit register_globals
on.

Basti

PS:
Dein if($_POST['typ'] != '') lässt vermuten, dass dein
Error-Reporting-Level so eingestellt ist, dass NOTICEs nicht ausgegeben
werden. Ändere das mal und dann schreib if (!empty($_POST['typ']).
Basti ist offline  
Alt 20.10.2005, 19:58  
Benutzer
 
Registriert seit: 31.03.2005
Beiträge: 80
Anotherone
Standard

Hast recht, hab den Beitrag von Basti grad erst gesehen, bin aber eben auch drauf gekommen, das bei on $typ und $_SESSION['typ'] das gleiche sind. Mein Server hier dagegen ist auf off. Dachte immer, 4.3 wäre default off...

Dank für den Tip mit !empty
Anotherone 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 Daten gehen verloren rabatz PHP Tipps 2007 17 11.02.2007 16:19
Session geht bei include verloren argon PHP Tipps 2006 9 14.09.2006 19:45
session geht verloren imported_kremser PHP Tipps 2006 7 15.07.2006 23:36
session geht verloren Alpha Centauri PHP Tipps 2007 6 20.12.2005 12:34
[Erledigt] MySQL Abfrage mit Session Variable PHP Tipps 2005-2 5 13.10.2005 13:17
Session Variable oder Globale Variable ? PHP Tipps 2005-2 3 27.06.2005 21:49
session variable übergeben PHP Tipps 2005 31 27.05.2005 11:02
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 geht verloren Rotti PHP Tipps 2005 11 18.01.2005 17:39
[Erledigt] Variable geht bei include verloren PHP Tipps 2004-2 8 03.12.2004 09:13
Problem mit Session Variable PHP Tipps 2004-2 3 23.11.2004 11:11
session übergibt variable nicht (ich weiß es liegt an mir) PHP Tipps 2004-2 7 15.11.2004 12:54
[Erledigt] Session Variable setzen und Link per click auf ein Image PHP Tipps 2004 7 23.08.2004 20:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php session geht verloren, session variable geht verloren, session variablen gehen verloren, php session variable geht verloren, $_session geht verloren, php session variable plötzlich leer, session geht verloren, fancyupload session variable verloren, session geht verloren php, jquery session geht verloren, php session var geht verloren, http://www.php.de/php-tipps-2005-2/32720-session-variable-geht-verloren.html, php variablen verlieren wert, session var geht verloren, session wert geht verloren, session variable gehen verloren, session in iframe geht verloren, php 5.3 session geht verloren, fancyupload session, session variable geht verloren php

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