anoniem Geplaatst: 20 augustus 2004 Delen Geplaatst: 20 augustus 2004 hallo, momenteel ben ik druk bezig een template te maken voor een bepaald cms systeem. Daarin word de volgende cookie gemaakt. [code:1:a16f539079]if ($_COOKIE[esselbachst]) { $ldata = addslashes(base64_decode($_COOKIE[esselbachst])); $ldata = explode (":!:", $ldata); $insert[login_name] = stripslashes($ldata[0]); if (file_exists("cache/pm/user-$insert[login_name].cah.php")) { require("cache/pm/user-$insert[login_name].cah.php"); } if (file_exists("cache/pm/userlast-$insert[login_name].cah.php")) { require("cache/pm/userlast-$insert[login_name].cah.php"); } if ($insert[login_time] < mktime()) { dbconnect(); if ($insert[login_time]) { $llast = $insert[login_time] - 3600; $insert[login_last] = date("Y-m-m H:i:s", $llast); $insert[login_current] = date("Y-m-m H:i:s", mktime()); $query = DBQuery("SELECT * FROM esselbach_st_stories WHERE story_hook = '0' AND story_time > ('$insert[login_last]') AND story_time < ('$insert[login_current]')"); $insert[login_newscount] = mysql_num_rows($query); if (file_exists("bbwrapper.php")) { $insert[login_threadcount] = BBLastTopics($llast); } else { $query = DBQuery("SELECT * FROM esselbach_st_forumsthreads WHERE thread_endtime > ('$insert[login_last]')"); $insert[login_threadcount] = mysql_num_rows($query); } MiniCache("cache/pm/userlast-$insert[login_name]", "<?php \$insert[login_last] = \"$insert[login_last]\";\n \$insert[login_newscount] = \"$insert[login_newscount]\";\n \$insert[login_threadcount] = \"$insert[login_threadcount]\"; ?>"); } if (file_exists("bbwrapper.php")) { $insert[login_pms] = BBPMs($insert[login_name]); } else { $query = DBQuery("SELECT * FROM esselbach_st_pms WHERE pm_touser = '$ldata[0]' AND pm_new = '1'"); $insert[login_pms] = mysql_num_rows($query); } $insert[login_time] = mktime() + 3600; MiniCache("cache/pm/user-$insert[login_name]", "<?php \$insert[login_pms] = \"$insert[login_pms]\";\n\$insert[login_time] = \"$insert[login_time]\"; ?>"); } $login_status = GetTemplate("login_header_user"); } else { $login_status = GetTemplate("login_header_anon"); }[/code:1:a16f539079] Nu kan ik dus in een bepaald menu neerzetten Welkom username etc etc door te plaatsen:" [code:1:a16f539079]<font face="verdana" size="1"> Welkom $insert[login_name]<br> U Laatste Bezoek op:$insert[login_last]<p> Er zijn sinds u laatste bezoek:;<a href="whatsnew.php?id=1">$insert[login_newscount] Nieuwe Nieuwsberichten</a> <a href="whatsnew.php?id=2" target="_blank">$insert[login_threadcount] Nieuwe Forum Posts</a> <br> <a href="pm.php" target="_blank">$insert[login_pms] Prive Berichten. </a> <br>Gepost. <p><a href="logout.php">Log Uit</a> </p>[/code:1:a16f539079] Echter zodra members niet zijn ingelogd hebben de $insert dus geen waardes en word er dus niets getoont. Dan stata er bv Welkom u heeft prive berichten er zijn sinds u laatste bezoek forum berichten Etc. Nu wil ik dus dat zodra ze niet ingelogd zijn er de text: U dient zich eerst in te loggen komt te staan. Ik zat zelf te denken aan een code als. if ($_COOKIE[esselbachst]) Else maar dit werkt dus niet :S iemand een idee? Zie http://www.battlez.nl/index.php Quote Link naar reactie
anoniem Geplaatst: 21 augustus 2004 Auteur Delen Geplaatst: 21 augustus 2004 [quote:242e687780="Tupacrulezz"]Ik zat zelf te denken aan een code als. if ($_COOKIE[esselbachst]) Else maar dit werkt dus niet :S [/quote:242e687780] En waarom werkt dit niet? Heb je bijvoorbeeld al gekeken wat er exact in $_COOKIE zit op het moment dat het niet werkt? Overigens iets wat niets met je probleem te maken heeft, maar een tip: [url=http://www.php.net/manual/en/language.types.array.php#language.types.array.donts]Array do's and don'ts[/url]. Quote Link naar reactie
anoniem Geplaatst: 23 augustus 2004 Auteur Delen Geplaatst: 23 augustus 2004 Probeer eens het volgende: [code:1:5ba7511c82]if (array_key_exists('esselbachst', $_COOKIE ))[/code:1:5ba7511c82] Groet, Butch Quote Link naar reactie
anoniem Geplaatst: 7 september 2004 Auteur Delen Geplaatst: 7 september 2004 Je kunt naar mijn weten niet simpelweg met: if(isset($_COOKIE['iets'])) { // gebruiker }else{ // anoniem } .. kijken of iemand is ingelogd. Je CMS zou eigenlijk een geavanceerder systeem moeten hebben dat je met een simpele boolean waarde kunt checken (of nog beter, een functie of constant) of de surfer ingelogd is of niet, bijv: if(LOGGED_IN) { // gebruiker }else{ // anoniem } Dan zou je de templates voor guests en users aan kunne passen en heb je in principe niks te maken met waardes van $insert, aangezien bij guests geen database informatie kan komen te staan (want die info is er simpelweg niet) (Oh, en array indexes zijn OF van het type integer (0, 1, 2 etc.) OF string (en dan moeten er dus quotes omheen, ik meende dat het alleen single quotes konden wezen, maar daar kan ik me in vergissen), dus $_COOKIE[iets] is eigenlijk fout, zal waarschijnlijk WEL werken, zie voor meer info de link die Annie poste) Tim 2K Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen