php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.09.2011, 20:52  
Neuer Benutzer
 
Registriert seit: 23.09.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
salerno befindet sich auf einem aufstrebenden Ast
Standard Variablenübergabe mit $_Session funktioniert nicht richtig

Hallo zusammen

ich verwende eine Session, um einige Variabeln unabhängig vom verwendeten Template zur Verfügung zu haben.
Im ersten Template hole ich die Variable $region, abhängig von der gewählten Seite und übergebe sie an $_SESSION.
Im zweiten Template möchte ich die Variable gerne benützen und übernehme sie von $_SESSION.

Das funktioniert leider nicht richtig, die Variabeln werden nicht zuverlässig übernommen. Inzwischen habe ich zwar festgestellt, dass das Problem nur bei Firefox (ich verwende 6.0.2) besteht, nicht aber bei IE 8.

Trotzdem: ich scheine etwas falsch zu machen, aber was?
Ich habe die beiden Templates zur Ansicht hier installiert.


hier das erste Template (Regionen)
PHP-Code:
<?php
/**
 * Template Name: Regionen
  */

 
session_start();
 
get_header(); 
?>
<div id="primary">
    <div id="content" role="main">
                                                                                                            

<?php 
    $page
=$post->ID
    if (
$page=='592') {$region='Ost';}
    elseif (
$page=='591') {$region='Nord';}
    elseif (
$page=='593') {$region='West';}
    else {
$region='Sued';}
    
$_SESSION['Region']= $region;
    echo 
'Aktuelle Auswahl: ',$_SESSION['Region'],'<br>';
    
?>
    </div><!-- #content -->
</div><!-- #primary -->

<?php 
get_sidebar
();
get_footer(); 
?>
und hier das zweite (Aufgaben):
PHP-Code:
<?php
/**
 * Template Name: Aufgaben
  */

 
session_start();
 
get_header(); 
?>

<div id="primary">
    <div id="content" role="main">
                                                                                                            

<?php 
    
if (isset($_SESSION['Region'])) {
        
$region=$_SESSION['Region'];
        }
    else {
        
$region='S&uuml;d';
        }
    echo 
'Aktuelle Auswahl: ',$region,'<br>';
?>
    </div><!-- #content -->
</div><!-- #primary -->

<?php 
get_sidebar
();
get_footer(); 
?>
Herzlichen Dank
Renato
salerno ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 24.09.2011, 09:13  
Benutzer
 
Registriert seit: 16.06.2010
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
crossfader zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi!

Wenn das Problem nur im Firefox auftritt könnte es ein clientseitiger Fehler sein..
Eventuell wird die Session ID nirgens übergeben. Versuch diese mal manuell an den Seitenlink zu hängen.

Gruß Olli
crossfader ist offline   Mit Zitat antworten
Alt 24.09.2011, 09:43  
Neuer Benutzer
 
Registriert seit: 23.09.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
salerno befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank Olli

Ich lasse die Seiten ID auf beiden Seiten anzeigen, sie scheinen identisch zu sein.
Sorry, die Frage, ich bin Anfänger: Was meinst du mit "Session ID manuell an den Seitenlink hängen"?
salerno ist offline   Mit Zitat antworten
Alt 24.09.2011, 15:10  
Benutzer
 
Registriert seit: 16.06.2010
Beiträge: 64
PHP-Kenntnisse:
Fortgeschritten
crossfader zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Hi!

Kein Problem
Die Sessioninhalte müssen ja irgendwo gespeichert werden - das passiert Serverseitig. Entweder in einer Textdatei irgendwo in den Temporären Dateien des Servers oder in einer Datenbank (standardmäßig aber in einer Datei)

Damit du jedem Benutzer seine Daten zuweisen kannst (was ja bei 1.000.000 Nutzer -beispielsweise- schwer werden könnte ), gibt es eben eine Session-ID, welche für jeden Benutzer individuell generiert wird (bei session_start()).

Die ID wird entweder in Cookies gespeichert oder an die URL dran gehängt.. beispiel für eine solche Session ID:
PHPSESSID=87cqi8dm9ipsd9adtht4ieev74

Ausgabe der ID:
PHP-Code:
<?php

session_start
();
print(
session_id());

?>
Anhängen an die URL:
PHP-Code:
<?php
    session_start
();
    
//... Weiterer Code, dann Link ausgeben:
    
    
echo '<a href="index.php?p=home&' session_name() . '=' session_id() . '">Startseite</a>';
?>
So kannst du dir ganz sicher sein, dass die SID -> Session ID auch wirklich übermittelt wurde..

Beispiellink: http://localhost/index.php?p=home&PH...d9adtht4ieev74

Gruß,
Olli
crossfader ist offline   Mit Zitat antworten
Alt 25.09.2011, 09:41  
Neuer Benutzer
 
Registriert seit: 23.09.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
salerno befindet sich auf einem aufstrebenden Ast
Standard

Herzlichen Dank Olli

ich habe deine Antwort leider erst jetzt gesehen, sorry!
Dein Tipp mit dem Anhängen habe ich mal versucht umzusetzen,
meinst du das so?
PHP-Code:
<?php
/**
 * Template Name: Regionen
  */
 
session_start();
 
get_header(); 
    echo 
'<a href="http://www.swissjobinfo.ch/ost?p=west&' session_name() . '=' session_id() . '">Ost</a><br>';
    echo 
'<a href="http://www.swissjobinfo.ch/nord?p=nord&' session_name() . '=' session_id() . '">Nord</a><br>';
    echo 
'<a href="http://www.swissjobinfo.ch/west?p=west&' session_name() . '=' session_id() . '">West</a><br>';
    echo 
'<a href="http://www.swissjobinfo.ch/sud?p=sud&' session_name() . '=' session_id() . '">S&uuml;d</a><br>';
    
$page=$post->ID
    switch(
$page){
    case 
'5' $region 'Alle Regionen';
    break;
    case 
'7' $region 'Ost';
    break;
    case 
'9' $region 'Nord';
    break;
    case 
'11' $region 'West';
    break;
    case 
'13' $region 'S&uuml;d';
    break;
    default : 
$region 'Nicht gefunden';
    break;
}
    
$_SESSION['Region']= $region;
    echo 
'Aktuelle Auswahl: ',$_SESSION['Region'],'<br>';
    
?>
Ich sehe zwar, dass die Session ID mitgeschickt wird, wenn so eine Region wähle, aber der Fehler bleibt der gleiche.
Ich habe inzwischen von jemandem gehört, dass bei ihm die Variablenübergabe auf meiner Testseite swissjobinfo.ch mit seinem Firefox problemlos funktioniert. Aber bei mir und den Leuten bei mir im Hause klappt das nicht.
Es ist zum Verücktwerden, das sind doch Basics, oder etwa nicht?
Gruss
Renato
salerno ist offline   Mit Zitat antworten
Alt 25.09.2011, 15:59  
Neuer Benutzer
 
Registriert seit: 23.09.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
salerno befindet sich auf einem aufstrebenden Ast
Standard gelöst: Variablenübergabe mit $_Session funktioniert nicht richtig

Mein Hauptproblem ist gelöst. Das Problem wurde offenbar durch ein nicht ordnungsgemässen Meta Tag verursacht. Nachdem ich
<meta charset="UTF-8" /> durch
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
ersetzt habe, hat die Variablenübergabe auch auf meinen Browsern funktioniert.

Herzlichen Dank nochmals für eure Unterstützung
Renato
salerno ist offline   Mit Zitat antworten
Antwort


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] FTP und MySQL funktioniert nicht mehr richtig JackSparrow PHP Tipps 2010 2 06.06.2010 20:54
Verschlüsselung funktioniert nicht richtig netmario PHP Tipps 2010 2 19.05.2010 22:57
Seitenposition in CMS funktioniert online nicht richtig T-sneak PHP Tipps 2009 5 30.06.2009 00:39
[Erledigt] Checkuser und/oder Logout funktioniert nicht richtig p300d PHP Tipps 2009 7 28.06.2009 13:33
Select funktioniert nicht richtig JooiPHP Datenbanken 7 18.06.2009 15:09
[Erledigt] Apache funktioniert nicht richtig YYA Server, Hosting und Workstations 5 16.06.2008 15:24
Zeichenzähler funktioniert nicht richtig... HTML, Usability und Barrierefreiheit 8 22.05.2006 17:44
Warum funktioniert meine Statistik nicht richtig? Calli PHP Tipps 2007 1 27.11.2005 08:49
Script funktioniert nicht richtig -> fehlermeldungen PHP Tipps 2005-2 2 12.09.2005 11:29
Karte funktioniert nicht ganz richtig ( koardinaten system ) PHP Tipps 2005-2 7 15.06.2005 16:48
PHP funktioniert nicht richtig?! PHP Tipps 2005-2 26 11.06.2005 09:05
Variablenübergabe per method=post funktioniert nicht Crypi PHP Tipps 2004 5 20.09.2004 13:12
datenübergabe funktioniert nicht richtig Fraylman PHP Tipps 2004 6 25.08.2004 13:49
Emailversendung funktioniert nicht richtig PHP Tipps 2004 1 11.08.2004 23:16
php funktioniert nicht richtig PHP Tipps 2004 3 14.06.2004 08:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$_session funktioniert nicht, variablenübergabe funktioniert nicht richtig php, session id übergeben, variable wird nicht korrekt an funktion übergeben in php 2011, php $_session richtiges div, _session geht nicht, ie problem: php sessionid wird nicht korrekt übernommen, get_sidebar variable übergeben, $_session geht nicht

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