Cookies setzen?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by olimlad; 06-03-2005, 15: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.

    Comment


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

      Comment


      • #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.

        Comment


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

          Comment


          • #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.
            Last edited by olimlad; 06-03-2005, 15:41.
            http://www.wii-show.com - Nintendo Wii News

            Comment


            • #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.

              Comment


              • #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

                Comment


                • #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.

                  Comment


                  • #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

                    Comment


                    • #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.
                      Last edited by Rolandbar; 06-03-2005, 18:06.
                      Onlie Browsergame: http://www.war-of-empire.de <-- 2. Weltkrieg

                      Comment


                      • #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

                        Comment


                        • #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

                          Comment


                          • #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.

                            Comment


                            • #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

                              Comment

                              Working...
                              X