fehler beim cookie-setzen bzw. auslesen.

shiver

Erfahrenes Mitglied
hidi ho,

vielleicht weiss einer von euch rat:

ich habe mir zum üben ein kleines forum programmiert - allerdings habe ich ein problem beim setcookie.

ich setze ein cookie mit meinem username drinne - und damit ich ihn nicht immer eingeben muss, soll er mit value=$name im textfeld gleich eingefügt werden.

das klappt auch gut - allerdings nur auf der forums-hauptseite.

will ich jedoch auf ein thema antworten, so zeigt er im namensfeld den username desjenigen an, der vor mir gepostet hat.

das ist leider nicht der sinn der sache, es leuchtet mir aber ein, da $name einfach den wert des vordermannes enthält..

nur:

wie mache ich das anders?
so dass da mein name aus dem cookie ausgelesen wird?

danke im voraus!!!


das forum ist übrigens hier zu finden:
http://infestus.nu/forums
 
kann es sein das er denn namen des vorgängers beim antworten aus der DB ausleset und dann mit value=$name einfügt?

du must das ding aus dem cockie das beim user auf der platte liegt auslesen und ned aus der DB. ich seh ja leider den code ned sonst könnt ich dir mehr helfen. paste mal ein stücken davon ;)
 
:)

Versuch mal folgenden code zum setzen:

PHP:
setcookie("username",$username,time()+604800);

und folgenden zum auslesen:

PHP:
<input type="text" name="username" value="<?php print( ( $_COOKIE[username] ) ? ( $_COOKIE[username] ) : ( "" ) ); ?>">

Ich hoffe das funktioniert, es ist ungetestet.

Hoffe dir geholfen zu haben :)
 
ohne den cookiecode kann dir wirklich keiner helfen, weil die funktionsweise im forum überhaupt nicht sichtbar wird.

auf der hauptseite steht bei mir IMMER infestus als value im "name" feld, und in den threads immer der name von dem der als letztes gepostet hat.

abfrage pb name cookie gesetzt ist (true: cookie als value für name false: default value für name) bool value weitergeben -> text und name eingeben -> submit -> $name (oder wie immer du das namen feld bezeichnet hast) als wert für den cookie auf den pc des users wenn die bool value false war, oder anderer name als der alte cookie name eingetragen wurde -> eintragen des textes in die datenbank

so würde ich das machen.
 
hallo!

danke für die antworten!!!

kaboom, deine methode klingt für mich am plausibelsten.. doch leider geht sie nicht =(

mein code:

ganz am anfang des scripts:
PHP:
<? ob_start(); 
setcookie("user",$user,time()+1000*24*3600);
?>


dann, beim feld:

PHP:
<input type="text" name="name" maxlength=40 value="<?php print( ( $_COOKIE[user] ) ? ( $_COOKIE[user] ) : ( "" ) ); ?>">



hilft euch das weiter?!

wenn nicht, gut, dann lass ich das mit den cookies weg.... fände nur, dass es praktisch wäre :


danke im voraus :)
 
Bis jetzt heisst die variable im cookie user (nein das cookie hiesst user, aber du greifst über $user drauf zu)

und die variable die du aus deiner datenbank/txt ausliest heisst ebenfalls user.

Nun überschneiden sich die namen, und es wird für dein formular-value immer $user aus der db genommen.

wenn du das cookie nicht user sondern cookieuser nennst, kannst du per $cookieuser draufzugreifen und es gibt keine überschneidungen. Mag ja schönere lösungen geben, ich bevorzuge jedoch die einfachste und einleuchtenste :)
 
aber ich HABE doch gar keine variable $user aus der datenbank.. die is eig. für dat cookie gedacht.. die variable aus der db heisst $name... *ratlos*
 
na das kann ja wohl jetzt mal nicht sein, dann schau mal ob du nicht ausversehen value=$name geschrieben hast.

hmm, oder irgendwo musst du doch die variable $user auf den oberen benutzer festgelegt haben.
 
Zurück