php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.10.2006, 11:55  
Gast
 
Beiträge: n/a
Standard [Erledigt] Login funktioniert nicht wenn cookies deaktiviert drotz sess

Hallo ich hab ein kleines Problem mit meinem Login Script und zwar verwend ich cookies und Sessions nun hab ich das Problem das ich sofort wieder ausgelogt bin wenn ich auf eine andere Seite gehe, ich habe mittlerweile herausgefunden das es was mit der Session Id zu tun hat das diese scheins immer in cookies gespeichert werden. Nun wird ja meistens die Sid dann über die url übertragen. doch wie realisier ich es das er dank der sid in der url die session daten sich holt um eingelogt zu bleiben.

Hier mal mein kompletter code von der global.php

PHP-Code:
<?php

    error_reporting
(E_ALL);

    
session_start ();
    
    
//Import von config.inc.php und der MYSQL Klasse
    
require_once("./inc/config.inc.php");
    require_once(
"./inc/functions_sql.inc.php");
    
    
// Copyright Zeitraum feststellen
    
$start_jahr 2006// hier legst du das Datum fest ab wann er es dastellen soll
    
$akt_jahr   date("Y"); // hier wird das Aktuelle Jahr ermittelt
    
if($akt_jahr <= $start_jahr) {
        
$jahr $start_jahr;
    }else{
        
$jahr "$start_jahr bis $akt_jahr";
    }
    
    
//Datenbankverbindung herstellen
    
$phpversion phpversion();
    
$db = new db($sqlhost,$sqluser,$sqlpassword,$sqldb,$phpversion);
    
    
//Optionen aus der Datenbank auslesen
    
$option $db->query_first("SELECT * FROM v_option");
    
$pagetitle $option['title'];
    
$option['reg_mail'] = utf8_decode($option['reg_mail']);
    
$option['reg_mail'] = addslashes($option['reg_mail']);
    
    
$option['reg_title'] = utf8_decode($option['reg_title']);
    
$option['send_mail_text'] = utf8_decode($option['send_mail_text']);
    
$option['send_mail_text'] = addslashes($option['send_mail_text']);
    eval(
"\$option['send_mail_text']=\""$option['send_mail_text'] ."\";");
    
    
$option['send_mail_title'] = utf8_decode($option['send_mail_title']);
    
$option['activity_mail'] = utf8_decode($option['activity_mail']);
    
$option['activity_mail'] = addslashes($option['activity_mail']);
    
    
    
$option['activity_title'] = utf8_decode($option['activity_title']);

    
//Import von functions.inc.php
    
require_once("./inc/functions.inc.php");

    
//Neue Session starten wenn Cookies vorhanden
    
if (isset($_COOKIE["v_user_id"]) && isset($_COOKIE["v_user_pw"]) && isset($_COOKIE["v_user_name"]) && !isset($_SESSION["v_user_id"]) && !isset($_SESSION["v_user_pw"]) && !isset($_SESSION["v_user_name"])) {
        
$userexist $db->query_first("SELECT username, password FROM v_user WHERE id = $_COOKIE[v_user_id]");
            if (
$userexist['username'] == $_COOKIE['v_user_name'] && $userexist['password'] == $_COOKIE['v_user_pw']) {
                
$_SESSION["v_user_id"] = $_COOKIE['v_user_id'];
                
$_SESSION["v_user_name"] = $_COOKIE['v_user_name'];
                
$_SESSION["v_user_pw"] = $_COOKIE['v_user_pw'];    
            }else {
                
setcookie('v_user_id','',time()-(3600*24*$option['cookieday']));
                
setcookie('v_user_pw''',time()-(3600*24*$option['cookieday']));
                
setcookie('v_user_name''',time()-(3600*24*$option['cookieday']));
            }
    }

    
//Überprüfen ob Session vorhanden
    
if (isset($_SESSION['v_user_id'])) {
        
//Definierung von Variablen in der Template Klasse
        
$user $db->query_first("SELECT username, mail, group_id FROM v_user WHERE id = $_SESSION[v_user_id]");
        
$username $user['username'];
        
        
//Gruppenrechte aus der Datenbank auslesen
        
$grouprights $db->query_first("SELECT * FROM v_user_groups_rights WHERE group_id = $user[group_id]");
    }
    
        
    
//Import von der Template Klasse
    
require_once("./inc/functions_tpl.inc.php");
    

    
//Fehlerausgabe auf 0 setzen
    
$fehler '0';
    
$timestamp time();
    
$timeclock date('H:i'$timestamp);
    
$timedate date('H:i'$timestamp);


eval (
"\$header = \"".$tpl->gettemplate("header")."\";");  


?>
und hier die login.php

PHP-Code:
<?php
$login 
'';
$sitetitle 'Anmelden';
$img 'loginL';
require_once(
'./global.php');

if(isset(
$_POST['submit'])) {
$password sha1(md5($_POST['password']));
$data $db->query_first("SELECT * FROM v_user WHERE username = '".$_POST['username']."' AND password = '".$password."'");

    
$data2 $db->query_first("SELECT username, activity FROM v_user WHERE username = '".$_POST['username']."'");
        if (
$_POST['username'] == '') {
            
$fehler 1;
            
$message '[*]Sie haben keinen Benutzernamen angegeben.';
        }elseif (
'0' == $data2['activity']){
            
$fehler 1;
            
$message '[*]Ihr Benutzername wurde noch nicht aktiviert.';
        }elseif (
$_POST['username'] != $data2['username']){
            
$fehler 1;
            
$message '[*]Sie haben einen ungültigen Benutzernamen angegeben.';
        }elseif (
$password != $data['password']){
            
$fehler 1;
            
$message '[*]Sie haben ein ungültiges Kennwort angegeben.';
        }


    if (
$password == $data['password'] && $_POST['username'] == $data['username'] && $fehler == '0') {
        
// Benutzerdaten in ein Array auslesen.

        // Sessionvariablen erstellen und registrieren
        
$_SESSION['v_user_id'] = $data['id'];
        
$_SESSION['v_user_name'] = $data['username'];
        
$_SESSION['v_user_pw'] = $data['password'];
        
        if (isset(
$_POST['cookies'])) {
            
setcookie('v_user_id',$data['id'],time()+(3600*24*$option['cookieday']));
            
setcookie('v_user_pw',$data['password'],time()+(3600*24*$option['cookieday']));
            
setcookie('v_user_name',$data['username'],time()+(3600*24*$option['cookieday']));
        }
            
header ('Location: ./index.php');

    }
}
eval (
"\$page = \"".$tpl->gettemplate("login")."\";"); 
eval(
"\$tpl->dooutput(\"".$tpl->gettemplate("index")."\");");
?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.10.2006, 12:48  
Gast
 
Beiträge: n/a
Standard

sry für doppelpost das problem hat sich erledigt habe gefundne das das ganze über die

PHPSESSID in der url geht, jetzt nur noch die frage wie kann ich machen das die


sid statt über PHPSESSID=(danndieid) über sid=(danndieid) übergeben wird.
 
Alt 31.10.2006, 13:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

das kann z.b. über session_name() eingestellt werden.
nikosch ist offline  
Alt 31.10.2006, 13:34  
Gast
 
Beiträge: n/a
Standard

Ok danke klappt wunderbar.
 
 


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
Forum Login per curl leb0rtran PHP Tipps 2008 1 19.03.2008 12:47
Etwas komplexerer Login --> Keine Angst, Suche benutzt dethlef14 PHP Tipps 2006 7 02.10.2006 00:35
Login Cookies löschen, aber wie? eQuin PHP Tipps 2006 4 09.06.2006 03:26
Login Script mit Cookies Disasterp1ece PHP Tipps 2006 2 21.03.2006 13:40
Cookies &amp;amp; Sessions. Seite funktioniert nur mit Reload PHP-Fortgeschrittene 4 18.09.2005 00:48
sessions und cookies... PHP Tipps 2005-2 7 31.07.2005 21:17
login mit cookies - Server schuld? PHP Tipps 2005 19 03.06.2005 01:12
phpBB login funktioniert nicht. PHP Tipps 2005 3 31.03.2005 17:12
Login + Cookies PHP Tipps 2005 14 11.01.2005 13:35
Cookies auslesen funktioniert nicht... PHP Tipps 2004-2 2 25.12.2004 14:00
Login funktioniert mit MD5 nicht PHP Tipps 2004-2 8 13.12.2004 19:32
affili.net einloggen in PHP geht nicht - cookies deaktiviert PHP Tipps 2004-2 1 12.11.2004 13:09
Session Login funkt nicht, wenn Cookies immer aus sind schifti PHP-Fortgeschrittene 18 06.09.2004 07:48
[Erledigt] Session Login funktioniert nicht PHP-Fortgeschrittene 1 19.07.2004 17:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php cookies deaktiviert, php sessions funktioniert nicht wenn cookies ausgeschaltet, $db = new db($sqlhost, $sqluser, $sqlpassword, $sqldb, $phpversion);, phpbb3 login sid cookies, wenncookies deaktiviert ist dan geht php session nicht, $_session wenn cookies deaktiviert, cookies abgeschalten php $_cookie, wenn cookies deaktiviert weiterleiten php

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