טוב אז התחלתי ללמוד קצת php, והחלטתי שבתור התחלה אני אבנה איזה מונה כניסות, רציתי לשכלל אותו קצת אז אמרתי שאני יבנה מונה כניסות יחודיות.
משום מה המונה שלי לא עובד, ניסיתי לעשות בדיקה של כניסות יחודיות עם עוגיות וכתובת אייפי אבל אני רואה שהוא לא מבצע טוב את הבדיקה האם כתובת האייפי נמצאת במסד הנתונים, וגם האם העוגיה קיימת במחשב הוא גם לא בודק.
זה הקוד של המערכת:
PHP קוד:
<?php
//התחברות למסד
$mysql_link = mysql_connect("localhost" , "tomerzvi_user" , "password") or die(mysql_error());
mysql_select_db("tomerzvi_mone",$mysql_link) or die(mysql_error());
//מחיקת כתובות אייפי ישנות ממסד הנתונים
$time=time();
mysql_query("DELETE FROM `IpAddresses` WHERE ($time-IpDate>86400)");
//בדיקה האם כתובת אייפי קיימת במסד
function check_ip(){
$flagIp=true;
$user_ip=$_SERVER["REMOTE_ADDR"];
$ip_result=mysql_query("SELECT * FROM `IpAddresses` ");
while ($ip_row=mysql_fetch_array($ip_result))
{
$ipDb=$ip_row['UserIp'];
if($ipDb==$user_ip)
$flagIp=false;
break;
}
return $flagIp;
}
//בדיקה האם עוגיה קיימת במחשב של המשתמש
function check_coockie(){
$flagCoockie=true;
if($_COOCKIE["myCookie"]) $flagCoockie=false ;
return $flagCoockie;
}
//פונקציה המציגה את המונה
function Show_mone(){
$MoneF_result=mysql_query("SELECT `Mone` FROM `Monim`");
$MoneF_row=mysql_fetch_array($MoneF_result);
echo "כמות הכניסות היא:".$MoneF_row['Mone'];
echo "\n";
}
if((check_coockie) && (check_ip)){ // במקרה של כניסה ראשונה
//הכנסת אייפי והשתלת עוגיה
$user_ip=$_SERVER["REMOTE_ADDR"];
$time=time();
mysql_query("INSERT INTO `IpAddresses` (UserIp , IpDate) VALUES ('$user_ip','$time')");
$name="Something";
setcookie("myCookie",$name,time()+86400);
//עדכון והצגת מונה
mysql_query("UPDATE `Monim` SET Mone = Mone +1");
Show_mone();
echo "זוהי כניסתך הראשונה לאתר ב24 השעות האחרונות";
} else { //במקרה של כניסה שנייה
// הצגת מונה בלבד
Show_mone();
echo "כבר נכנסת לאתר ב24 השעות האחרונות";
}
mysql_close();
?>
אם אתם רוצים אז מה שהדפדפן מציג זה:
http://tomerzv.220mb.com/MoneN.php