cookie setzen geht nicht. obwohl er ganz keine html ausgabe davor ist

oconner

Aktives Mitglied
Thread Starter
Dabei seit
11.01.2006
Beiträge
281
Reaktionspunkte
0
Hallo.

kann mir jemand erklaeren wie es zustande kommt das bei folgendem code kein cookie gesetzt wird. die if abfrage gibt auch auch auf true aus d.h. in die Post variablen werden hier erfolgreich übermittelt.

PHP:
<?php

//includes_start
include ('../includes/db_config.php');
include ('../includes/constants.php');
include ('../includes/main.php');
include ('../includes/functions.php');

//includes_end

//post übertragung 
$name = $_POST['nick']; 
$pw = $_POST['pass']; 

$pw_md = md5($pw); 

$sql = "SELECT `user_id`, `user_name`, `user_pass` FROM $user_table WHERE `user_name` = '$name'";
$result = mysql_query( $sql );
$login_row = mysql_fetch_object($result);


if ($name == $login_row->user_name AND $pw_md == $login_row->user_pass) 
    { 
	setcookie ("test", "inhalt", time()+100);
	setcookie ($cookie_pw, $login_row->user_pass, time()+3600); 
	setcookie ($cookie_name, $login_row->user_name, time()+3600); 
	print_r($_COOKIE);
    echo '    <div class="field" style="width:480px" align="left"> 
            <fieldset> 
            <legend><strong>'.$info.'</strong></legend> 
            <span class="norm">Dein Login war erfolgreich!</span><br><bt> 
            Du kannst <a href="index.php"><b>hier</b></a> zum Index zurückkehren. 
            </fieldset> 
        </div>'; 
    } 
    else 
    { 
    echo '    <div class="field" style="width:480px" align="left"> 
            <fieldset> 
            <legend><strong>'.$info.'</strong></legend> 
            <span class="rot">Du hast eine falsches Passwort oder einen falschen Benutzernamen eingegeben!</span><br><bt> 
            <a href="javascript:history.back()"><b>zurück</b></a> zum Login 
            </fieldset> 
        </div>'; 

    } 

?>

In den includieren datei ist keine html ausgabe. aber der cookie wird einfach nicht gesetzt. :koch:

Wie kann sowas entstehen. Ich hoffe mir kann da jemand helfen

p.s. dies ist eine einzelene Datei also sie wird auch nirgends includiert.
 
Zuletzt bearbeitet:
Versteh mich jetzt nicht falsch, aber formuliere doch bitte den einleitenden Kommentar um. Ich kann mir vorstellen, daß soetwas den ein oder anderen hilfsbereiten Leser abschreckt.

Zum eigentlichen Problem kann ich angesichts der fortgeschrittenen Zeit momentan nichts beitragen.
 
hab oben nich was veraendert, aber mir viel jetzt nicht's schlimm formuliertes auf.

Ich schaetze mal so wie es da steht kann man verstehen das mein Problem ist das kein cookie gesetzt wird.
 
oconner schrieb:
hab oben nich was veraendert, aber mir viel jetzt nicht's schlimm formuliertes auf.

Ich meine weniger Deine Problembeschreibung (die ist durchaus verständlich) sondern eher die Formulierung "die Datei wo fuer die login aktion ist". Das tut weh. Nimm es nicht persönlich, sondern als gut gemeinten Hinweis.
 
na das sind kommentare im code die ich schnell dahin ratter.

ich kann sie auch rausloeschen wenn du magst.

nur bitte lass uns hier jetzt nicht von meinem problem abkommen.
 
Wohlmöglich ist in den Includierten Dateien eine Leerzeile, welche die ausgegeben wird, und damit Cookies verhindert.

gruß
Lukas
 
@koli.bri wenn dem aber so waere gaeb es eine Fehlermeldung.

Wenn ich z.b. vor dem code nur ein echo mache dann kommt sofort ne fehlermeldung aber sonst nicht.

in den include Dateien sind nur ein paar html ausgaben die aber in Variablen gespeichert sind.
 
Stimmt auch wieder...

Jetzt aber mal wirklich blöd gefragt (sind ja meistens so fehler, kenn ich ja von mir)

Du hast nicht zufälligerweise Cookies vom Browser deaktiviert, oder? wobei, dann müsste ja der Else-Zweige vom Login kommen, oder?
Ich mach mir mal weiter Gedanken.

gruß
Lukas
 
also ich geh mal davon aus das meine cookies an sind denn in meiner cookie Liste stehen genug ;)

koli.bri schrieb:
Ich mach mir mal weiter Gedanken.

danke sehr.
 
Weitere Ideen:

Setzt die setcookies mal in eine IF-Abfrage, so, dass sicher ist, dass die auch erstellt werden (auch wenn Du sie danach ausgibst, sicher ist sicher).

Und gib vorher auch mal die Varbiablen von den Cookies aus ($cookie_pw, etc...)
Vielleicht liegt da ja der Fehler...
 
Hab also den setcookie code einfach vor die if abfrage so das er auf jeden Fall gesetzt werden muesste.

Und hab noch vor die if abfrage nach dem setcookie folgendes gemacht
PHP:
echo $cookie_pw."<br><br>\n";
echo $cookie_name."<br><br>\n";
und mir wird auch der inhalt der in den variablen stehen soll ausgegeben.

Kann es sein das man am server zu cookies einstellungen machen muss, obwohl ich schon mal in einer test Datei die im root Pfad des servers lag einen cookie setzen lies und das ging auch.

Kanns am Pfad vielleicht liegen?

aber dann muesste eine Fehler Meldung kommen, oder?
 
setcookie selbst setzt im Misserfolgt meine ich keine wirkliche Meldung, sie gibt nur TRUE oder FALSE zurück (Außer halt, der Header wurde vorher schon gesendet)... Leider gibt es afaik keine mysql_error für cookies...

Am Server muss man, soweit ich weiß, keine einstellung machen, zumindest stand dot nichts explizietes bei php.net...
Aber das ist ja eine Frage, die die Forensuche beantworten kann...

Pardon, aber ich bin mit meinem Latein am Ende...

gruß
Lukas
 
check mal ab, ob du im code vor dem <? ein blank hast. dann wird das nähmlich als html-ausgabe gewertet. das habe ich auch schon ein paar mal gehabt und die suche hat mich zur verzweiflung getrieben.
 
@koli.bri komisch wie ist das dann nur moeglich das so ein Fehler entsteht. Und wieso muss gerade ich so ein Pech gaben :(

@goddess nee hab nichts vor meinem <?php gemacht.
 
So hab das Problem gelöst

Also im Firefox und im Explorer geht es, nur in Netscape nicht, kann mir jemand erklaeren warum? Es ist auch nicht so das ich dort keine cookies aktiviert habe. Schließlich bin ich durch andere Seiten auch nur durch cokies und nicht durch sessions eingeloggt.

Falls mir da zu Netscape noch jemand was erklaeren kann wäre ich sehr dankbar darüber. :)
 
dpr schrieb:
...
Ich kann mir vorstellen, daß soetwas den ein oder anderen hilfsbereiten Leser abschreckt.
...
Mich schreckt schon durchgängige Kleinschreibung ab.
 
Zurück
Oben Unten