php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.12.2008, 11:30  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 9
Ayane befindet sich auf einem aufstrebenden Ast
Standard Problem: Variablen Globalisieren ?

Hallo,

Ich hab ein kleines Problem bei meiner Website. Nachdem das Frontend nun steht, wollte ich mich ans Backend dransetzen. Der Login fuer das CMS funktioniert auch schon, und auch die Raenge werden richtig vergeben. (Hab einen Rang 1 fuer vollen Zugriff und Rang 2 Eingeschrankt).

Nach ueberpruefen der Login daten, wird eine Variable $login auf den entsprechenden Rang gesetzt.

PHP-Code:
// Ueberpruefen der Login Daten:    
$logins $db->query("SELECT login, pw, rang FROM admin 
                               WHERE login = '$l' AND pw = '$pw'"
);  
while(list(
$log$pass$rang)=$logins->fetch_row())
{
    if ((
$l == $log) && ($pw == $pass))
    {
        
$login $rang;
    }else {
$login 0;}
    } 
Dieser schaltet dann unten in der Ausgabe die includierung frei:
PHP-Code:
<div id="output">    
<?php
    
if ($login == || $login == 2){ include $lesen; }
    else {
?>
      <div id="menu">    </div><!-- Ende Menu -->
                    
      <div id="body">    
        <div id="textbody" style="min-height:400px" >
            <h2> Administrations Panel</h2>
            <p>    Willkommen im CMS der Hofberg Flugplatz Seite. Bitte verifizieren 
                                sie ihre Zugriffsrechte indem sie sich einloggen!
            </p>
<form action="<?= $_SERVER["PHP_SELF"].'?id=100&contid=100';?>" method="post" class="login">
    <label>Login: </label><input type="text" name="l"/><br />
    <label>Passwort: </label><input type="password" name="pw"/><br />
    <input type="submit" value="Einloggen..."/>
</form>
</div>
Mein Problem ist nun, dass ich in der includierten Seite nicht auf die Variable $login zugreifen kann... Weiss wer ne loesung wie man die vielleicht global setzen kann?

Liebe Gruesse
Aya

Geändert von Ayane (10.12.2008 um 11:37 Uhr).
Ayane ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 10.12.2008, 11:42  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Bitte mal mit diesen Änderungen
PHP-Code:
echo '<pre>1: 'debug_print_backtrace(); echo '</pre>';
$logins $db->query("SELECT login, pw, rang FROM admin 
                               WHERE login = '$l' AND pw = '$pw'"
); 
PHP-Code:
<?php
    
echo '<pre>2: 'debug_print_backtrace(); echo '</pre>';
    if (
$login == || $login == 2){ include $lesen; }
    else {
?>
laufen lassen und die beiden Ausgabe posten.
David ist offline  
Alt 10.12.2008, 11:55  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 9
Ayane befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
1:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Zwischen 1 und dem Text is jedemenge platz.. fuer 2 scheint er keine meldung zu geben...

Geändert von Ayane (10.12.2008 um 11:59 Uhr).
Ayane ist offline  
Alt 10.12.2008, 12:03  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von Ayane Beitrag anzeigen
fuer 2 scheint er keine meldung zu geben...
Dann wird der Code nicht ausgeführt. Sorry, mehr kann ich dazu nicht sagen.
David ist offline  
Alt 10.12.2008, 12:05  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 9
Ayane befindet sich auf einem aufstrebenden Ast
Standard

hmm.. aber er wird ausgefuehrt... Sonste wuerde er doch vom Login Screen nicht zur includierten Seite springen ?
Ayane ist offline  
Alt 10.12.2008, 12:16  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Dann muss das echo direkt vor der if-Bedingung auch ausgeführt werden.

Neuer Versuch:
PHP-Code:
echo '<h1>Debug 1: '__FILE__'@'__LINE__'</h1><pre>'var_dump(debug_backtrace()); echo '<pre>'; die;
$logins $db->query("SELECT login, pw, rang FROM admin 
                               WHERE login = '$l' AND pw = '$pw'"
); 
PHP-Code:
<?php
    
echo '<h1>Debug 2: '__FILE__'@'__LINE__'</h1><pre>lesen:'$lesen"\n"var_dump(debug_backtrace()); echo '<pre>'; die;
    if (
$login == || $login == 2){ include $lesen; }
    else {
?>
David ist offline  
Alt 10.12.2008, 12:20  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 9
Ayane befindet sich auf einem aufstrebenden Ast
Standard

Ok... nun wird die Seite nimmer angezeigt und folgendes ausgespuckt:

Debug 1: /var/www/vhosts/Meine.Domain.com/httpdocs/abschlussprojekt/admin/index2.php@14

array(0) {
}
Ayane ist offline  
Alt 10.12.2008, 12:24  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Und jetzt in der ersten Zeile (also mit Debug 1) das die; am Ende entfernen.
Beim zweiten Skriptausschnitt bitte noch nicht.
David ist offline  
Alt 10.12.2008, 12:25  
Neuer Benutzer
 
Registriert seit: 08.12.2008
Beiträge: 9
Ayane befindet sich auf einem aufstrebenden Ast
Standard

Debug 2: /var/www/vhosts/Meine.Domain.com/httpdocs/abschlussprojekt/admin/index2.php@99

lesen:links/admin/admin.php
array(0) {
}
Ayane ist offline  
Alt 10.12.2008, 12:30  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Gut, dann können die Zeilen wieder komplett raus.
Und wo und wie willst Du $login in links/admin/admin.php verwenden?
David 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
Variablen problem Basti-asd Datenbanken 6 29.10.2007 12:56
Variablen problem Basti-asd Datenbanken 0 28.10.2007 15:07
unerklärliches Leeren von Variablen KuShi PHP Tipps 2007 2 08.07.2007 15:19
Problem mit globalen Variablen noBody PHP Tipps 2007 9 29.03.2007 12:35
Teil einer Variablen mit einer Variablen ersetzen ? simsalabim PHP Tipps 2007 11 20.03.2007 20:36
Variablen Problem Andree PHP Tipps 2006 3 28.04.2006 02:17
Problem mit INSERT und variablen. dattelpalme PHP Tipps 2006 1 10.04.2006 22:12
Problem mit Sichtbarkeit von Variablen PHP Tipps 2005-2 9 19.08.2005 01:03
problem mit session bzw übergeben von variablen! PHP Tipps 2005 21 16.05.2005 03:20
Problem mit übergabe von Variablen! stefan-miti PHP Tipps 2005 7 11.02.2005 18:54
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
[Erledigt] register globals off bei variablen Variablen... PHP Tipps 2005 4 25.01.2005 17:50
Problem mit Sessions in mehreren Frames Chr!s PHP Tipps 2004 10 30.10.2004 18:52
Variablen aus den Formular sind nicht mehr verfügbar PHP Tipps 2004 6 30.10.2004 13:31
Problem mit zwei variablen - löschen - MySQL PHP Tipps 2004 9 17.10.2004 20:57


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