Seite 1 von 1

cookie wird erkannt, jedoch kann ich ihn nicht ansprechen...

Verfasst: 24.12.2003 04:26
von 18inch
Hallo,
ich teste gerade ein paar Sachen aus, deswegen wundert euch nicht wieo ich so komische php-Seiten habe.
Auf der index Site kann man wählen ob man in die Datenbank will,..., oder ob man sich einlogen will.
Klickt man den "Einlog-Link" an, dann kommt man auf die login.php!
login.php:
Hier wird der User aufgefordert seinen Usernamen und sein Passwort einzugeben.
Daraufhin betätigt er den Button Proof und es wir überprüft ob er in der Datenbank zu finden ist, wenn die der Fall ist, dann erscheint ein neuer Button welcher ihn zur login02.php führt.
login02.php:

Code: Alles auswählen

<?php
     setCookie("mycookie",$hidden_id,time()+20);
?>
$hidden_id ist hier der Primärschlüssel aus meine Datenbanktabelle, damit ich den User eindeutig zuweisen kann!
Auf derselben Site habe ich folgenden Code:

Code: Alles auswählen

$name=@mysql_query("SELECT username FROM freunde WHERE ID=='$hidden_id'");
echo("$name");
echo("Hallo $name, Du bist nun eingeloggt und siehst auf allen Seiten deinen Usernamen.");
echo("<br><br><a href='index.php'>@home</a>");
Jedoch kann er mir hier nicht den Namen ausgeben!!!
Es kommt immer nur:"Hallo , Du bist nun eingeloggt und siehst auf allen Seiten deinen Usernamen.
Ich habe auf den anderen Seiten auch noch kleinere Tests eingefügt:
index.php:

Code: Alles auswählen

if(isset($_COOKIE['mycookie'])) 
     {
          $dbcnx = @mysql_connect("localhost","root","");
          if(!$dbcnx)
          {
               echo("<p>Zur Zeit keine Verbindung möglich.</p>");
               exit();
          }
          if(!@mysql_select_db("tests"))
          {
               echo("<p>Auswahl der Datenbank leider nicht möglich!</p>");
               exit();
          }
          $result=@mysql_query("SELECT vorname FROM freunde WHERE ID==$mycookie");
          echo("$result");
          echo ("Hallo $result! Du bist per Cookie erkannt worden.");    
     } 
Hir gibt er mir nur wieder aus: "Hallo ! Du bist per Cookie erkannt worden.
Anscheinend mache ich irgendwas bei der Datenbankabfrage falsch. Aber wo ist denn der Fehler????
Ich weiss, dass ich den cookie nur auf 20 Sekunden gesetzt habe!
Das habe ich nur zu Testzwecken gemacht.

Würde mich riesig freuen, wenn mir hier jemand helfen könnte!!!

Frohe Weihnachten und einen Guten Rutsch ins neu Jahr!!!

Euer 18inch

Verfasst: 24.12.2003 05:14
von itst

Verfasst: 24.12.2003 11:59
von 18inch
ich kann mit sql und datenbanken eigentlich umgehen!
Aber kann mir vielleicht jemand sagen, wo bei mir der Fehler liegt!!

Wenn ich anstatt ID==$mycookie, ID=$mycookie schreibe, dann gibt er mir immer den User oder das Ergebnis: Resource id #2
Wieso gibt er mir nicht den richtigen Usernamen aus!!!???
Wieso macht er das so!!!??

Hat einer einen Tip für mich!!!???

Euer 18inch

Verfasst: 24.12.2003 15:27
von Pyramide
Lies dir am besten nochmal die Grundlagen zum Zugriff auf MySQL aus PHP sowie was für Datentypen die einzelnen Funktionen zurückgeben durch, du scheinst da einiges nicht verstanden zu haben.

Ausserdem solltest du die "@" vor den Funktionsnamen wegnehmen, denn die verhindern, daß Fehlermeldungen angezeigt werden, die dir sagen was du falsch gemacht hast. Mit [php:mysql_error] und [php:mysql_errno] kannst du noch detailiertere Fehlermeldungen anzeigen lassen.

Verfasst: 25.12.2003 16:51
von Elo
Und was ist mit den Usern welche die Kekse in ihren Brausern deaktiviert haben und mir einer SID im Forum unterwegs sind?

Zur Info:

Code: Alles auswählen

ID==$mycookie
in einer Mysql-Abfrage ist nicht korrekt.

Korrekt ist:

Code: Alles auswählen

ID = $mycookie
Ansonsten den o.g. Links folgen.

Elo

Verfasst: 27.12.2003 03:11
von 18inch
Trotzdem Danke an alle!
Diese Lösung hatte ich auch schon!
Ich hatte das "==" nur benutzt weil ich schon so verzweifelt war!
Es funktioniert einfach nicht!
Ich werde mir einfach mal dei handbücher vornehmen!

Vielen Dank
18inch

Re: cookie wird erkannt, jedoch kann ich ihn nicht anspreche

Verfasst: 27.12.2003 17:19
von Programmer
18inch hat geschrieben: $name=@mysql_query("SELECT username FROM freunde WHERE ID=='$hidden_id'");
echo("$name");
echo("Hallo $name, Du bist nun eingeloggt und siehst auf allen Seiten deinen Usernamen.");
echo("<br><br><a href='index.php'>@home</a>");
[/code]
Jedoch kann er mir hier nicht den Namen ausgeben!!!
Es kommt immer nur:"Hallo , Du bist nun eingeloggt und siehst auf allen Seiten deinen Usernamen.

Euer 18inch
lol :D :D :D

Was die anderen übersehen haben ist ganz simpel.
ECHO löscht alle COOKIE Inhalte !!!
Sobald ein ECHO da war, wars mit dem Inhalt vom COOKIE !

$namestr = $_COOKIE("name");
echo("Hallo $namestr, Du bist nun eingeloggt und siehst auf allen Seiten deinen Usernamen.");

So gehts !