
22-04-2005, 00:47
|
|
|
|
חבר מתאריך: 01.11.04
הודעות: 109
|
|
|
בעיה - אחת המוזרות שקרו לי בחיים. MySQL
פאק אני לא מאמין :|
כתבתי את כל ההודעה ובטעות העכבר המפגר שלי חזר עמוד אחורה :|
עכשיו אני צריך לכתוב הכל מחדש :|
טוב,
( מקודם היה לי יותר כוח וכתבתי יותר יפה )
יש לי בעיה מאוד מוזרה,
יש לי קובץ ששומר את מיקום המשתמש בפורום.
בסוף כל עמוד אני עושה include לקובץ וקורא לפונקציה שתעשה את שלה.
בכל העמודים הכל טוב ויפה,
אבל,
פיתאום נתקלתי בבעיה מאוד מאוד מוזרה.
בקובץ show_topic, שלא נכתב בעזרת שום תוכנה (Notepad בלבד),
הפונקציה לא עובדת.
מזא"ת לא עובדת?
היא מעדכנת נכון את המיקום של המשתמש שהוא צפייה בנושא,
אבל לאחר שניות ( כנראה בסוף העמוד ) איכשהו, משהו לא צפוי, משנה את מיקום המשתמש ל"עמוד ראשי".
בשני הקבצים (פונקצית העידכון, וview_topic.php) לא קיימת המחרוזת "עמוד ראשי" חוץ מלינק בתחילת העמוד.
בדבר כ"כ מוזר עוד לא נתקלתי בחיים.
הפונקציה updateSessions שנמצאת בקובץ end.php:
קוד PHP:
function updateSessions() { $on = 0; global $page; global $on; include "common.php"; $now = time(); $f = NULL; $ip = $_SERVER["REMOTE_ADDR"]; $qsessions = mysql_query("SELECT * FROM sessions"); while($sessions = mysql_fetch_array($qsessions)) { if($sessions["ip"] == $ip) { $sid = $sessions["id"]; $f++; } if($sessions["time"] + 300 < $now) { $id = $sessions["id"]; mysql_query("DELETE FROM sessions WHERE id=$id"); } $count++; } if($f == NULL) { if(!check()) { include "common.php"; mysql_query("INSERT INTO `sessions` VALUES('','$ip','','0','$page','','$now')") or die(mysql_error()); mysql_close(); } else { include "common.php"; $id = $_COOKIE["phpvl_id"]; $name = $_COOKIE["phpvl_user"]; mysql_query("INSERT INTO `sessions` VALUES('','$ip','$name','$id','$page','','$now')"); mysql_close(); } } else { $q_this = mysql_query("SELECT * FROM sessions WHERE id=$sid"); $this = mysql_fetch_array($q_this); if($this["loc"] != $page) { mysql_query("UPDATE sessions SET loc='$page',time=$now WHERE id=$sid"); } } include "common.php"; $qrecord = mysql_query("SELECT record, time FROM record"); $record = mysql_fetch_array($qrecord); if($record["record"] < $count){ $time = date("d.m.Y"); mysql_query("UPDATE `record` SET record='$count',time='$time'"); } $time = time(); if(check()) { include "common.php"; $now = time(); $id = $_COOKIE["phpvl_id"]; mysql_query("UPDATE members SET last_login='$now' WHERE id=$id"); mysql_close(); } }
חלק קטן מהעמוד show_topc.php שהוא קורא לפונקציה.
קוד PHP:
$page = "צופה בנושא %t".$topic_id." %f".$forum_id; include "end.php"; updateSessions();
באג אחד המוזרים שהיו לי בחיים,
אני יושב כבר שעה שלמה ולא מצליח לפתור.
תודה ענקיתתתת לפותר.
טל.
_____________________________________
Your signature did not follow Fresh's signatures policy, therefore it was automatically erased. Please see the E-Mail which has been sent to you, to learn how to fix this.
|