php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.12.2004, 14:09  
Gast
 
Beiträge: n/a
Standard Problem bei VariablenÜbergabe (register_globals=OFF)

HINTERGRUNDINFO:
Um eine authentische Serverumgebung zu schaffen - wie sie auch bei einem WebHoster vorgefunden wird, habe ich bei der Testumgebung auf meinem PC (PHP 4.0.6) die PHP-Einstellungen "register_globals = OFF" vorgenommen. Bis auf ein Skript (s.u.) funktionieren alle anderen Skripte - nach entsprechender Anpassung - einwandfrei. Vor dieser Maßnahme (register_globals = ON) funktionierte auch das jetzige ProblemSkript.

PROBLEMATIK
Wurde in meinem Login-Skript ein korrekter Login benutzt (der in einer DatenBank überprüft wurde) ruft das Login-Skript die Funktion "initSession()" auf, die Drei Variablen ($session[id], session[benutzer], $session[passwort]) generiert. Anschließend wird Skript2.php geladen.

Login-Skript:
Code:
<?php
...
function initSession( $userID, $userName, $pw )
  {
  global $session;
  $session[id] = $userID;         // UserID aus Datenbank
  $session[benutzer] = $userName; // UserName aus Datenbank
  $session[passwort] = $pw;       // Passwort aus Datenbank
  }
...
Die Funktion "checkLogin()" in Skript2.php überprüft, ob das Skript auch rechtmässig über das Login-Skript geöffnet wurde. Mein Problem ist nun, das die Funktion "checkLogin()" nicht die (von der Funktion "initSession()" im Login-Skrip) generierten (Session-)Variablen erhält und daher immer wieder das Login-Skript im Browser geladen wird.

Skript2.php:
Code:
<? php
...
function checkLogin()
  {
  global $session;
  $ds_login = holeDS( "login", "userID", $session[id], "''", "" );
  // Datenbank-Abfrage: SELECT * FROM login WHERE userID='$session[id]'
  
  if ( ! $ds_login ||
       $ds_login[userName] != $session[benutzer] ||
       $ds_login[password] != $session[passwort] )
    {
    header( "Location: login.php" );
    exit;
    }
  }
...
Ich habe auch bereits versucht die Session-Variablen zu ersetzen:
Statt $session[id] > $HTTP_SESSION_VARS["session[id]"] usw. Das funktioniert aber auch nicht!
Ich weiß auch, dass ich unter neueren PHP-Versionen (ab 4.1.0) besser $_SESSION statt $HTTP_SESSION_VARS benutzen sollte. Bei mir läuft aber noch PHP 4.0.6., da funktioniert das mit $_SESSION doch nicht - Oder? (Davon abgesehen sollte aber $HTTP_SESSION_VARS auch für höhere PHP-Versionen kein Problem darstellen)
Sehe ich das so richtig?

Wie kann ich nun dafür sorgen, dass die im Login-Skript (von der Funktion "initSession()") generierten Session-Variablen auch in Skript2.php (für die Funktion "checkLogin()") bereitstehen???
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 02.01.2005, 03:12  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich hab mir das problem nicht angeschaut .. und warum?

was ist bitte PHP 4.0.6? gehts noch?
lad dir XAMPP runter ( http://xampp.de )

sag deinem hoster, dass er mal PHP updaten soll .. bzw. wechsel den hoster.
weiterhin kannst du auch ne .htaccess-datei mit folgendem inhalt
Code:
php flag register_globals = OFF
ins root-verzeichnis legen, falls die defaulteinstellung bei reg_blob. ON ist.

grüße ben.
imported_Ben 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] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
probleme mit session variablen bei register_globals off, session werte bei register_globals off, register_global off session, loginscript geht nicht register-globals, session variablen mit register_globals off, php variablenübergabe register globals off, php initsession, session php register_globals, variablenübergabe bei register_global off, \session\ \$http_session_vars\ umleitung, register_globals off login, php register_globals off, die flags \register_globals\, flag register_globals, session variablenübergabe

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