php session verliert inhalt

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_session_verliert_inhalt_121690/page_1 - zur Vollversion wechseln!


Seppo schrieb am 11.08.2004 um 20:37

hi zusammen!

hab ein kleines problem:

bin gerade dabei mir so eine art kleines forum zu programmieren
dabei bin ich jetzt auf folgendes problem gestossen

wenn ein user einen neuen beitrag verfasst wird alles erfasste problemlos in die db eingetragen. das problem is jetzt das wenn er dies getan hat, wird er weitergeleitet zum forenindex... und sobald dies geschehen ist ist plötzlich der $_SESSION["USERNAME"]= "1"

sonst funkt der sessionusername immer nur komischerweise hier nicht ;(
ich befülle die Session nur beim login.. mir ist es schleierhaft wie da plötzlich nach einer erfassung was hineinkommt ;(

falls jemand zeit hat zu testen: http://talkbook.s4.cybton.com/forum


dio schrieb am 11.08.2004 um 20:41

ohne sourcecode wird man dir nicht helfen können.


Seppo schrieb am 11.08.2004 um 20:42

habe ich fast befürchtet .. aber kann ja jetzt nicht alle meine php dateien reinkopieren


Seppo schrieb am 11.08.2004 um 20:44

aber rein prinzipiell versteh ichs nicht.. weil auf der einen seite wo ich meine sql inserts mache.. ist der session username noch gefüllt und steht auch richtig in der tabelle.. und dann nach der umleitung mittels META-Tag steht da plötzlich "1" drinnen .. und ich verändere die variable doch nirgends


ica schrieb am 11.08.2004 um 20:50

und deine session id wird korrekt übergeben?


dio schrieb am 11.08.2004 um 20:51

machs halt mit einem header. session_start() steht auch sicher in der forward-site drin?


Seppo schrieb am 11.08.2004 um 21:31

hmm @ica- wie meinst sessionid übergeben ?

ich mach im loginscript ein session start und schmeiss den user in die session.. und die session is ja dann eh global verfügbar
oder ist dem nicht so ?

@diolektian
ja session_start steht auf der forward seite

ich hasse es :(


ica schrieb am 11.08.2004 um 22:08

Zitat von Seppo
hmm @ica- wie meinst sessionid übergeben ?

ich mach im loginscript ein session start und schmeiss den user in die session.. und die session is ja dann eh global verfügbar
oder ist dem nicht so ?

das kommt auf die einstellungen von php an - dem muss nicht so sein


Seppo schrieb am 11.08.2004 um 22:38

bei mir is es so ;)

ich versteh nur nicht wieso meine anderen forwards funken!
und nur bei den 2 forwards von: thread erstellen und beitrag antworten funkt es nicht.. weil immer dann der username 1 ist! :heul:


ica schrieb am 11.08.2004 um 22:52

und was hast sonst noch für forwards? auch welche wo du etwas per post übertragst?

post doch einfach mal ein wenig code...sonst kann dir wirklich keiner helfen


Seppo schrieb am 11.08.2004 um 23:02

also das ist eine der forwardseiten wo ich meiner meinung nach den inhalt der session verliere!
hier wird in tab eingefügt und weitergeleitet

<?
session_start();
$user = $_SESSION["username"];

$db_link = mysql_connect("localhost", "db", "pw");
mysql_select_db("usr_web2608_1");

if ($_SESSION["username"] =! "")
{
$insthread = mysql_query("insert into hb_treads1 (subforumid, thema, threadstarter) values ('$forumid', '$thema', '$user')", $db_link);

$threadabfr = mysql_query("select threadid from hb_treads1 order by threadid desc limit 1", $db_link);
$a_threadabfr = mysql_fetch_array($threadabfr);

$inspost = mysql_query("insert into hb_posts (threadid, subforumid, beitrag, postverfasser) values ('$a_threadabfr[threadid]', '$forumid', '$beitrag', '$user')", $db_link);

----------------> bei diesem insert ist $user noch gefüllt weils in der db richtig steht

----------------> ähm ja und nach dem unten stehenden wird umgeleitet und $user ist plötzlich "1"

echo "<meta http-equiv=\"refresh\" content=\"3; URL=index.php\"></meta><center>Danke für deinen Beitrag!<br> Du wirst in 3 Sekunden weitergeleitet, oder falls dein Browser dies nicht unterstützt <a href=index.php>klicke hier</a>";
}
?>


dio schrieb am 11.08.2004 um 23:09

Code:
if ($_SESSION["username"] =! "")
->
Code:
if ($_SESSION["username"] != "")
is zumindest das, was mir auffält. =! is mir ned bekannt.

edit: http://www.dynamic-webpages.de/php/....comparison.php


Seppo schrieb am 11.08.2004 um 23:11

ah hehe das erklärt mal eins :)


Seppo schrieb am 11.08.2004 um 23:13

HAHAHAHAHAHA das wars

i glaub i werd verrückt

lolololol :D

BIG THX!


dio schrieb am 11.08.2004 um 23:16

solved tag :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026