Cookies setzen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cookies setzen?

    Hi,

    bin gerade dabei ein Login System in meine Hompege einzubauen. Mein Problem dabei ist das wenn ich in den ersten Zeilen eine Session starten will php das aus welchem Grund auch immer nicht macht.

    ich rufe mein script mit user.php?action=login von einem Formular aus auf. Wenn ich dann auf login klicke führt er alles ohne probleme aus. wenn ich dann auf den Ausloggen button klicke. Meldet er mir folgenden fehler:

    Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in C:\xampplite\htdocs\homepage\doc\intern\user.php on line 144

    Sitze schon eine ganze Weile an dem problem, hoffe jemand kann mir helfen.

    Hier noch der Code der user.php datei.

    PHP-Code:
    <?php



    include '../includes/config.php';
    $content ='';
    if(
    $_GET['action'] == "login")
    {
        
    session_start();
        
        
        
        if(!isset(
    $_SESSION['IP'])) 
        {            
            
    $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];        
        }
        if(
    $_SESSION['IP'] != $_SERVER['REMOTE_ADDR'])
        {
            
    $content .='Fehler wegen IP';

        
        if(
    get_magic_quotes_gpc()) 
        {        
            
    array_stripslashes($_GET);        
            
    array_stripslashes($_POST);        
            
    array_stripslashes($_COOKIE);    
        }
        

        @
    mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());    
        
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());
        
        if((isset(
    $_POST['name'], $_POST['password'])) AND
     
    login_right(addslashes($_POST['name']), addslashes($_POST['password']))) 
        {
            if(!isset(
    $_SESSION['ID']))
            {
                
    $sql "SELECT                    
                        ID                
                        FROM                    
                            users                
                        WHERE                    
                            Nick = '"
    .addslashes($_POST['name'])."' AND                   
                            Password = MD5('"
    .addslashes($_POST['name'])."');";        
        
                
    $result mysql_query($sql) OR die(mysql_error());        
                
    $row mysql_fetch_assoc($result);        
                
    mysql_free_result($result);        
                
                
    $_SESSION['ID']= $row['ID']; // Der Session die ID zuweisen
                
    echo session_name();
                echo 
    session_id();
            }
            
        }
        if(isset(
    $_SESSION['ID']))
        {
            
    // Interner Berreich
            
        
    }
        else
        {
            
        }
        
    }
    // Wenn man sich ausloggt
    else if($_GET['action'] == "logout")
    {
        
    session_destroy();
           
    }                 
                      
    include
    '../templates/template.php';      
                      
    ?>
    Danke für jede Hilfe.

    Oli
    Zuletzt geändert von olimlad; 06.03.2005, 16:29.
    http://www.wii-show.com - Nintendo Wii News

  • #2
    Re: Session erzeugen funktioniert nicht.

    http://www.php-resource.de/forum/sho...threadid=50454, plötzlich, danke.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ich verstehen nicht wo das problem ist?
      http://www.wii-show.com - Nintendo Wii News

      Kommentar


      • #4
        wir aber schon, nämlich der Scrollbalken nach rechts, um deinen Code zu lesen, aber dazu hat keiner Lust, daher bitte den Link folgen, lesen und entsprechend ändern.

        Kommentar


        • #5
          besser
          http://www.wii-show.com - Nintendo Wii News

          Kommentar


          • #6
            Wollte noch dazu sagen das die if abfrage true ist. er führt glaube ich nur den session_start befehl nicht aus. Deswegen kennt die sesseion_destroy() FKT auch keine Session. und wenn ich versuche SID auszugeben ist der string leer

            Wenn ich jetzt schreibe



            PHP-Code:
            if(session_start())
            {
                echo 
            "JA";

            gibt er mir JA aus.
            Zuletzt geändert von olimlad; 06.03.2005, 16:41.
            http://www.wii-show.com - Nintendo Wii News

            Kommentar


            • #7
              Original geschrieben von olimlad
              Wollte noch dazu sagen das die if abfrage true ist. er führt glaube ich nur den session_start befehl nicht aus.
              gibt es dafür irgendwelche anhaltspunkte?
              Deswegen kennt die sesseion_destroy() FKT auch keine Session.
              nein, session_destroy kennt die session nicht, weil es im else-zweig steht - und die session nur im if-zweig gestartet wird.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                das heist die Session existiert nur im if bereich?

                Aber wie soll ich es den sonnst machen?

                Danke!
                http://www.wii-show.com - Nintendo Wii News

                Kommentar


                • #9
                  Original geschrieben von olimlad
                  das heist die Session existiert nur im if bereich?
                  eine session existiert dann, wenn sie per session_start() neu gestartet, oder eine bestehende per session_start() wieder aufgenommen wurde.

                  Aber wie soll ich es den sonnst machen?
                  sorge dafür, dass die bestehende session wieder aufgenommen wird, bevor du versucht sie zu destroyen.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Ok Danke,

                    wenn ich aber jetzt mit meinem mauszeiger über den Link Ausloggen im eingeloggten bereich fahre. steht die SID nicht dabei obwohl ich sie anhänge.

                    was mache ich den da falsch?

                    <a href="user.php?action=logout&amp;'.SID.'">Ausloggen</a>



                    Er meldet mir aber kein Fehler mehr.

                    Oli
                    http://www.wii-show.com - Nintendo Wii News

                    Kommentar


                    • #11
                      is doch klar das sesseion_destroy() keine session kennst

                      sie wird auch nicht bei der logout function gestartet
                      nur bei der loginfunction.


                      und wahrscheindlich ist die konstante SID deswegen auch lehr.



                      http://ch2.php.net/manual/de/ref.session.php
                      diese seite lesen und verstehen.
                      Zuletzt geändert von Rolandbar; 06.03.2005, 19:06.
                      Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

                      Kommentar


                      • #12
                        Glaube nicht das das so ist. unter dem IE 6 sehe ich die SID nur unter Firefox nicht.
                        http://www.wii-show.com - Nintendo Wii News

                        Kommentar


                        • #13
                          is doch klar das sesseion_destroy() keine session kennst

                          sie wird auch nicht bei der logout function gestartet
                          nur bei der loginfunction.
                          das stimmt aber

                          session_start() benutzen
                          Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

                          Kommentar


                          • #14
                            Original geschrieben von olimlad
                            unter dem IE 6 sehe ich die SID nur unter Firefox nicht.
                            GET vs. cookies ...?
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Habe bis jetzt keine Cokies eingabaut.

                              Aber wie kommt es das ich unter IE 6 die SessionID sehe und unter Firefox nicht.

                              Kann das später zum Problem werden? Wenn ich die nicht sehe? Übertragen wird sie ja anscheinend. Da er die Session jetzt wieder zerstört.?
                              http://www.wii-show.com - Nintendo Wii News

                              Kommentar

                              Lädt...
                              X