php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.07.2005, 00:58  
b++
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 181
b++ befindet sich auf einem aufstrebenden Ast
Standard Problem mit Session!

Also ich hab jetzt ein Funktionierendes Login Script.
Wenn man sich einloggt wird der Rang geprüft und je nach Rang ein Button eingeblendet. Wenn ich mich als Admin einlogge dann kommt der Button auch aber wenn ich dann auf ne andere Seite ghe z.B. Home dann is der Button wieder weg.

Wär es mal testen will geht auf:
clan.gamescraft.de
udn loggt sich mit den Daten hier ein:
user: max
pw: max123

Funktion zum einloggen:
PHP-Code:
<?php
function login($user$pass)
{
    
$con mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) or die(mysql_error());
    if(
$con)
    {
        
mysql_select_db(MYSQL_DB);
         
$sql 'SELECT'
        
' ID,'
        
' User,'
        
' Pass,'
        
' rang'
        
' FROM'
        
' User'
        
' WHERE'
        
' User = "'.$user.'"'
        
' AND'
        
' Pass = "'.$pass.'"';
        
$result mysql_query($sql) OR die(mysql_error());
        if(
mysql_num_rows($result)) {
             while(
$row mysql_fetch_assoc($result)) {
                 
$_SESSION['user'] = $row['User'];
                 
$_SESSION['userid'] = $row['ID'];
                 
$_SESSION['pass'] = $row['Pass'];
                 
$_SESSION['rang'] = $row['rang'];
                 
define(RANG$row['rang']);
                 
$_SESSION['logged'] = true;
                 
setcookie(session_name(), session_id(), time()+3600);
                 
$login "Sie wurden eingeloggt! Ihr Rang: ".RANG;

                 ;
                 return 
$login;
            }
            
                
            }
        
        else {
            
$error "Benutzter und / oder Passwort falsch";
            return 
$error;
        }
    }
    
    else
    {
        
$error "Fehler in der Datenbank:
\n"
.$con."
\n"
;
        return 
$error;
    }
}    
?>
IF+ Switch zum herausfinden welcher Rang:

PHP-Code:
<?php
if($_SESSION['logged'])
{
    
$rang RANG;
    switch(
$rang) {
        case 
"admin":
                
$show_login 'Hallo '.$_SESSION['user'].' !
Sie sind eingeloggt!        
                        

                        <form name="form1" method="post" action="forums.html">
                        <input name="mode" type="hidden" id="mode" value="admin">
                        

                        <input type="submit" name="Submit" value="Adminmode">
                     '
;
        break;
        case 
"mod":
        
$show_login 'Hallo '.$_SESSION['user'].' !
Sie sind eingeloggt!        
                        

                        <form name="form1" method="post" action="forums.html">
                        <input name="mode" type="hidden" id="mode" value="mod">
                        

                        <input type="submit" name="Submit" value="Moderatormode">'
;
        break;
        case 
"newsschreiber":
        
$show_login 'Hallo '.$_SESSION['user'].' !
Sie sind eingeloggt!        
                        

                        <form name="form1" method="post" action="forums.html">
                        <input name="mode" type="hidden" id="mode" value="newsschreiber">
                        

                        <input type="submit" name="Submit" value="Newsmode">'
;
        break;
        case 
"sleader":
        
$show_login 'Hallo '.$_SESSION['user'].' !
Sie sind eingeloggt!         
                        

                        <form name="form1" method="post" action="forums.html">
                        <input name="mode" type="hidden" id="mode" value="sleader">
                        

                        <input type="submit" name="Submit" value="Squadleadermode">'
;
        break;
        default:
$show_login 'Hallo '.$_SESSION['user'].' !
Sie sind eingeloggt! '
;
    break;
    }
    
$smarty->assign('login'$show_login);
    
}


else {
        
$show_login ' <form name="login" method="post" action="index.php?sec=login">
                      <input name="user" type="text" value="Username" size="20">
                      
[img]images/shim.gif[/img]
                    
                      <input name="pass" type="password" value="Password" size="20">
                      
[img]images/shim.gif[/img]
                    
                      <input type="submit" name="Submit" value="Login">
                       </form>'
;    
            
                        ;
    
$smarty->assign('login'$show_login);
}
?>
b++ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.07.2005, 01:04  
b++
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 181
b++ befindet sich auf einem aufstrebenden Ast
Standard

Also hab das Prob.
Wenn man sich einloggt danach wird die Session nich destroyed aber is dann weg. Woran kann das Liegen?
b++ ist offline  
Alt 01.07.2005, 02:56  
Gast
 
Beiträge: n/a
Standard

hab jetzt nicht weiter reingeguckt, aber was soll
Zitat:
setcookie(session_name(), session_id(), time()+3600);
denn?
Wenn Du schon den default-Sessionmechanismus verwendest, dann lass ihn auch machen und fummel nicht ohne Not selbst mit session-fremden Funktionen daran rum.

Du willst an der Lebensdauer des session-Kekses drehen?
http://php.net/session_set_cookie_params
http://php.net/session#ini.session.cookie-lifetime
Aber nicht an der Stelle im Code, wenn dann vor dem session_start()
Mein Tipp: lass einfach erstmal die Finger von den Einstellungen
 
Alt 01.07.2005, 03:27  
b++
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 181
b++ befindet sich auf einem aufstrebenden Ast
Standard

Hab den Fehler gefundne hatte in der index am Anfang immer alles reset^^
b++ ist offline  
Alt 02.07.2005, 03:36  
Gast
 
Beiträge: n/a
Standard

Es muss grundsätzlich für Session Funktionen session_start(); am Anfang der Datei aufgerufen werden, ansonsten gibts auf jeder Seite eine neue, leere Session...
 
Alt 02.07.2005, 05:11  
Gast
 
Beiträge: n/a
Standard Re: Problem mit Session!

Auch wenn schon gelöst, isses immer wieder erfrischend, sowas zu lesen:
Zitat:
Zitat von b++
Also ich hab jetzt ein Funktionierendes Login Script.
Wenn der Kram funktioniert, warum fragst Du dann überhaupt? :
Zitat:
dann is der Button wieder weg.
Neue Fernsehserie:
"Button, bitte melde Dich"
 
 


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
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Problem mit Session Charly Shop Sui PHP Tipps 2006 13 25.08.2006 17:08
Und noch ein Session Problem... Weyoun PHP Tipps 2006 9 27.02.2006 22:17
Problem mit Firefox und Session PHP Tipps 2005-2 5 25.08.2005 01:14
problem mit session LA-Finest PHP Tipps 2005-2 13 18.08.2005 15:54
Session wieder aufnehmen; Problem mit GET Jacks Rache PHP-Fortgeschrittene 9 12.08.2005 14:32
[Erledigt] Problem mit Session PHP Tipps 2005-2 1 06.08.2005 19:07
Problem mit Session PHP Tipps 2005-2 13 10.07.2005 18:20
seltsames php und session problem netti PHP-Fortgeschrittene 16 01.06.2005 17:01
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
[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
session problem PHP Tipps 2004 2 22.07.2004 08:39


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