Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Cannot send session cookie

Diskussion: Cannot send session cookie im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Nabend zusammen, ich hab das untenstehende Script nu endlich fertig, funktionierte auch soweit. Jedoch hab ich eben Mozilla ausgemacht ...

Antwort
Alt 05.04.07, 23:09   #1 (permalink)
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Cannot send session cookie

Anzeige

Nabend zusammen,
ich hab das untenstehende Script nu endlich fertig, funktionierte auch soweit. Jedoch hab ich eben Mozilla ausgemacht und wollte dann neu auf die Seite drauf gehn... dann kam folgender Fehler:

Code:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /Applications/MAMP/Homepages/real-insanity.com/index.php:17) in /Applications/MAMP/Homepages/real-insanity.com/inhalt/login_header.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /Applications/MAMP/Homepages/real-insanity.com/index.php:17) in /Applications/MAMP/Homepages/real-insanity.com/inhalt/login_header.php on line 2
Hier das PHP Script:
PHP-Code:
#<?php
session_start
(); 
if(isset(
$_REQUEST['action'])=="logout"){
        unset(
$_SESSION['user_id']);
        
session_destroy();}
if(isset(
$_SESSION['user_id'])) {
        echo 
'<table border="0" margin="0" cellspacing="0" cellpadding="0">
        <tr>
            <td>Willkommen,</td>
            <td>&nbsp;'
.$_SESSION['user_nickname'].'!</td>
        </tr>
        <tr>
            <form action="?section=login&action=logout" method="post">
                <td><input type="image" src="images/buttons/logout.jpg" name="submit" value="Login"></td>
            </form>
            <form action="?section=profile" method="post">
                <td><input type="image" src="images/buttons/edit_profile.jpg" name="submit" value="Login"></td>
            </form>
        </tr>
         </table><br>'
;} 
else { 
        echo 
'<table border="0" margin="0" cellspacing="0" cellpadding="0">
                <tr>
                    <form action="?section=Login" method="post">
                        <td><input value="User" width="6" type="text" name="User" id="User" class="input"></td>
                        <td><input value="Passwort" width="6" type="password" name="password" id="password" class="input"></td>
                        <td><input type="image" src="images/buttons/login.jpg" name="submit" value="Login"></td>
                        <td><input type="image" src="images/buttons/forget.jpg" name="forget" value="Login Vergessen?"></td>
                    </form>
                </tr>
                 </table><br>'
;}

if(isset(
$_POST['User'],$_POST['password'],$_POST['submit'])){
    
$sql "SELECT ID,Name,PW FROM user WHERE Name='".$_POST['User']."' AND PW=md5('".$_POST['password']."')"
    
$result mysql_query($sql) OR die(mysql_error());

    if(
mysql_num_rows($result)>0){
        
$row mysql_fetch_array ($result);
        
$_SESSION["user_id"] = $row["ID"]; 
        
$_SESSION["user_nickname"] = $row["Name"];}
    else{
        echo 
"<br>User und PW stimmen nicht überein!!! <br><br>";}}
?>
reaLInsanity ist offline   Mit Zitat antworten
Alt 05.04.07, 23:15   #2 (permalink)
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

Ist dein geposteter Code die Index.php-Datei ?
Sonst poste die auch bitte noch.
Und schreibe bitte drann, welche Datei das oben ist.
0wnZ ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 05.04.07, 23:17   #3 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

index.php

PHP-Code:
<?php
if(isset($_GET['section'])=="gb"){
    
setcookie("zufallszahl"$zufallszahl);}
include 
"includes/config.php";
include 
"includes/sql.php";
include 
"includes/func.php";

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//DE">
<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html" charset="utf-8">
        <title>reaL - Insanity.com ? Your Insanity ruLe my LiFe</title>
        <meta name="author" content="Marco Matthias Franke">

        <meta name="description" content="Dies ist die private Homepage von real-Insanity (Marco Matthias Franke)

            Hier erfahrt Ihr alles über mich und noch viel mehr ;)">

        <meta name="publisher" content="Marco Matthias Franke">

        <meta name="copyright" content="Marco Matthias Franke">

        <meta name="keywords" content="Eigene, Homepage,real-insanity,real,insanity,marco,marco,franke,marco,matthias,marco,matthias,
            franke,boisheim,viersen,nrw,nv speicher, html hilfe,hilfe">

        <meta name="page-type" content="Private Homepage">

        <meta name="audience" content="Alle">
        <meta http-equiv="content-language" content="de">

        <meta name="robots" content="index, follow">
        <link rel="stylesheet" type="text/css" href="style.css">
        <link rel="shortcut icon" href="favicon.ico">
    </head>
    <script type=\"text/javascript\">

    function FensterOeffnen (Adresse) {

        Fenster1 = window.open(Adresse, \"Zweitfenster\", \"width=300,height=400,left=100,top=200\");

        Fenster1.focus();}

    </script>

    <script language = "Javascript">

    function taLimit() {

        var taObj=event.srcElement;

        if (taObj.value.length==taObj.maxLength*1) return false;}



    function taCount(visCnt) { 

        var taObj=event.srcElement;

        if (taObj.value.length>taObj.maxLength*1) taObj.value=taObj.value.substring(0,taObj.maxLength*1);

        if (visCnt) visCnt.innerText=taObj.maxLength-taObj.value.length;}

    </script>

    <body background="images/background.jpg" style="font-size:11px;">
    <div align="center">
    <table class="bgtable" border="0" margin="0" cellspacing="0" cellpadding="0" valign="top">
        <tr>
            <td colspan="3"><img src="images/header.jpg" border="0" usemap="#rss" width="900" height="92">
                <MAP name="rss">
                    <AREA shape="rect" coords="876,69,895,88" href="?section=rss" alt="real-Insanity.com &raquo; RSS-Feeder">
                </MAP>
            </td>
        </tr>&nbsp;
        <tr>
            <td></td>
        </tr>        
        <tr>
            <td colspan="3" valign="middle" align="left">&nbsp;
                <?php include "inhalt/login_header.php"?>
            </td>
        </tr>
                <tr>
            <tr>
                <td class="navi"><img src="images/menue.jpg">
                <?php include "includes/navi.php"?><br><br>
                <img src="images/community.jpg"><?php include "includes/comnavi.php"?><br><br>
                <img src="images/adverds.jpg"></div></td>
                <td class="inhalt">
                    <table width="100%" border="0">
                        <tr>
                            <TD align='left'>                        
                 <?php echo $_SERVER['SERVER_NAME']; ?> &raquo; 
                 <?php
                 
if($_GET['section']==NULL){
                     echo 
"<a href='?section=".$_GET['section']."'>Home</a>";}          
                 else{
                     echo 
"<a href='?section=".$_GET['section']."'>".$_GET['section']."</a>";
                     if(isset(
$_REQUEST['content'])){
                         echo 
" &raquo; <a href='?section=".$_GET['section']."&content=".$_REQUEST['content']."'>".$_REQUEST['content']."</a>";}}
                 
?>
                 </TD>
                        </tr>
                        <TR>
                            <TD height="90%">
                                <?php echo "<br>"; include "includes/inhalt.php"?>                
                            </TD>
                        </tr>
                        <tr>
                            <td><br><br><br><br><br><br>
                                <a href="?section=Home">Home</a> | 
                                <a href="?section=Kontakt">Kontakt</a> | 
                                <a href="?section=Impressum">Impressum </a>
                            </td>
                        </TR>
                    </table>                
                </td>
                <td class="extra"><img src="images/actions.jpg"><br> 
                <div align="right">
                <?php
                    
include "inhalt/actions.php"
                
?>
                </div>
                <br><br>
                <img src="images/charts.jpg"><br>
                <?php
                    
include "inhalt/charts.php"
                
?>
                <br><br>
                <img src="images/stats.jpg"><br>
                <?php
                
include "counter.php";
                
?>
                </td>
            </tr>
        </tr>
        <tr>
            <td class="footer" colspan="3"><img src="images/footer.jpg"></td>
        </tr>
    </table>
    </body>
</html>
reaLInsanity ist offline   Mit Zitat antworten
Alt 05.04.07, 23:30   #4 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard

also wenn ich mir den anderen thread von dir angucke tippe ich darauf, dass du dich nicht an die anweisung gehalten hast, session_start() in jeder datei ganz am anfang zu senden, wo die session benötigt wird. in deiner index.php kann ich das oben nämlich nicht sehen. und in der anderen php ist eine # als erstes zeichen, dies könnte aber auch beim posten passiert sein

das mit dem header bereits gesendet kann auch sein, wenn die php-datei mit nem leerzeichen, ner leerzeile... anfängt. das allererste zeichen in einer php-datei muss das < sein.

überprüfe diese paar punkte mal
lightsaver ist offline   Mit Zitat antworten
Alt 05.04.07, 23:33   #5 (permalink)
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

Jop lightsaver hat recht.
Laut php.net schickt setcookie nen Header weg.
Also vorher session_start.
0wnZ ist offline   Mit Zitat antworten
Alt 05.04.07, 23:35   #6 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

ja okay lag daran hatte die alte index.php geöffnet gehabt und ne die neue.... ach woran kann es liegen, dass ich mich nachm ausloggen immer doppelt anmelden muss bis ich dann endlich eigeloggt bin?!
reaLInsanity ist offline   Mit Zitat antworten
Alt 05.04.07, 23:45   #7 (permalink)
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

Liegt wohl an der Gliederung.
Habe da eine vage Vermutung, bin mir aber nicht ganz sicher.
Versuch mal:
PHP-Code:
session_start(); 
if(isset(
$_REQUEST['action'])=="logout"){
        unset(
$_SESSION['user_id']);
        
session_destroy();}

if(isset(
$_POST['User'],$_POST['password'],$_POST['submit'])){
    
$sql "SELECT ID,Name,PW FROM user WHERE Name='".$_POST['User']."' AND PW=md5('".$_POST['password']."')"
    
$result mysql_query($sql) OR die(mysql_error());

    if(
mysql_num_rows($result)>0){
        
$row mysql_fetch_array ($result);
        
$_SESSION["user_id"] = $row["ID"]; 
        
$_SESSION["user_nickname"] = $row["Name"];}
    else{
        echo 
"<br>User und PW stimmen nicht überein!!! <br><br>";
    }
}

if(isset(
$_SESSION['user_id'])) {
        echo 
'<table border="0" margin="0" cellspacing="0" cellpadding="0">
        <tr>
            <td>Willkommen,</td>
            <td>&nbsp;'
.$_SESSION['user_nickname'].'!</td>
        </tr>
        <tr>
            <form action="?section=login&action=logout" method="post">
                <td><input type="image" src="images/buttons/logout.jpg" name="submit" value="Login"></td>
            </form>
            <form action="?section=profile" method="post">
                <td><input type="image" src="images/buttons/edit_profile.jpg" name="submit" value="Login"></td>
            </form>
        </tr>
         </table><br>'
;} 
else { 
        echo 
'<table border="0" margin="0" cellspacing="0" cellpadding="0">
                <tr>
                    <form action="?section=Login" method="post">
                        <td><input value="User" width="6" type="text" name="User" id="User" class="input"></td>
                        <td><input value="Passwort" width="6" type="password" name="password" id="password" class="input"></td>
                        <td><input type="image" src="images/buttons/login.jpg" name="submit" value="Login"></td>
                        <td><input type="image" src="images/buttons/forget.jpg" name="forget" value="Login Vergessen?"></td>
                    </form>
                </tr>
                 </table><br>'
;} 
hab das jetzt einfach mal umgestellt
0wnZ ist offline   Mit Zitat antworten
Alt 05.04.07, 23:56   #8 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

okay das wars danke (:
wie war denn deine Vermutung?!
reaLInsanity ist offline   Mit Zitat antworten
Alt 06.04.07, 00:06   #9 (permalink)
 
Registriert seit: 25.06.06
0wnZ Leistung: Facit NTK
0wnZ eine Nachricht über ICQ schicken
Likes: 0
Standard

Öhm, das wird was viel zu schreiben. Ich hoffe man kann mich nachvollziehen. Undzwar versuche ich zu verstehen, was das Skript genau macht. Bei deinem Beispiel:
Ich klicke auf Ausloggen.
Das Skript wird aufgerufen, die Session gestartet und direkt wieder zerstört. Damit kommt man automatisch in den else-Zweig, wo wieder nach den Angaben gefragt wird. Dort macht man seine Angaben und drückt auf wegschicken. Jetzt wird zwar der Rest des Skriptes auch noch ausgeführt, aber die Daten, die eingegeben wurden, werden nichtmehr berücksichtigt. Damit hat man dann auch keine user_id
und landet nach session_start() wieder im else-Zweig, wo dann wieder nach der Eingabe gefragt wird. Nun sind aber schon die Daten von der letzten Eingabe vorhanden. Man tippt wieder alles ein und schickt auf
Absenden. Nun wird auch wieder der Rest ausgeführt. Jetzt aber MIT den Daten von vorher. Dann wird auch das entsprechende Ergebniss geliefert und man bekommt eine userid zugewiesen, die einen nacher dann, beim Neuaufruf des Skriptes durch das absenden der Daten des 2. mals, nicht in den else-Zweig führen.
Wahrscheinlich würde das auchgehen, wenn man refresh drückt.

Hoffe man konnte mich verstehen

0wnZ
0wnZ ist offline   Mit Zitat antworten
Alt 06.04.07, 00:18   #10 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

ja ich konnte es verstehen, klingt auch sehr plausibel so im nachhinein, aber wie gesagt 4 Augen sehen mehr als 2

Und danke bei den Hilfen (:
reaLInsanity ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Cannot send session cookie
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Status Überprüfen via Session Nohos (Web-) Design und webbasierte Sprachen 8 23.04.09 18:27
Wget - Cookie übergeben (--load-cookie) CentralWay Linux/UNIX 2 07.04.08 13:56
Session sichern Lilu (Web-) Design und webbasierte Sprachen 4 20.06.07 17:29
ssh session remote beenden boehmi Linux/UNIX 5 17.05.06 14:14
Session Hacken ? Dragon2003 (Web-) Design und webbasierte Sprachen 11 14.09.05 13:06


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61