อยากทราบว่าเก็บ IP แบบนี้ได้ไหมครับ ใช้วิธีเก็บ LOG IP แบบเป็นไฟล์ .txt แต่อยากให้เก็บไม่ซ้ำIP
ตอนนี้ผมใช้ iframe แทรกไปในเว็บA ซึ่งก็เก็บได้เช่นกัน แต่ใจจริงอยากจะให้เก็บแบบในฐานข้อมูล SQL แต่ลองดูวิธีต่างๆที่แนะนำผมก็ งง อยู่ดีพอดีไม่ค่อยรู้เรื่องSQLสักเท่าไหร่
ลองดูวิธี MySQL INSERT DUPLICATE KEY UPDATE ก็สร้างพอเป็นอยู่แต่ไม่รู้ต้องเขียนcodeยังไง
แต่ไปเจอcodeนึงไม่รู้ถูกหรือไม่
mysql_query ("localhost","root","556677"); ไอสามตัวนี้เอาจากไหนอะครับพอดีใช้hostฟรีของ โฮสสติ้งเกอร์
mysql_select_db ("ip");
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ('d-m-Y');
$time = date ('H:i:s');
$sqlselect = mysql_query ("select ip from ip where ip = '$ip' AND date = '$date'");
if (mysql_num_rows($sqlselect)>0){
$sqlup = mysql_query ("update ip set quantity = quantity+1,timelast = '$time' where ip = '$ip' AND date = '$date'");
} else {
$sqlinsert = mysql_query ("insert into ip values (0,'$ip','$date','$time','$time','1')") or die (mysql_error());
}
คือผมใช้วิธีเก็บ LOG IP แบบเป็นไฟล์ .txt ซึงไปเอาcodeจากเว็บของฝรั่งที่เขาโพสไว้
1.แต่ถ้าจะให้มันเก็บIPไม่ซ้ำจะทำได้หรือเปล่า?
2.สามารถทำให้เช็คแบบ IP นี้เข้ามากี่ครั้งทำได้ไหม?
<?php
$protocol = $_SERVER['SERVER_PROTOCOL'];
$ip = $_SERVER['REMOTE_ADDR'];
$port = $_SERVER['REMOTE_PORT'];
$agent = $_SERVER['HTTP_USER_AGENT'];
$ref = $_SERVER['HTTP_REFERER'];
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$fh = fopen('ip.txt', 'a');
fwrite($fh, 'IP Address: '."".$ip ."\n");
fwrite($fh, 'Hostname: '."".$hostname ."\n");
fwrite($fh, 'Port Number: '."".$port ."\n");
fwrite($fh, 'User Agent: '."".$agent ."\n");
fwrite($fh, 'HTTP Referer: '."".$ref ."\n\n");
fclose($fh);
?>
Tag : PHP, HTML
ประวัติการแก้ไข 2017-05-25 04:34:13 2017-05-25 04:35:11 2017-05-25 04:40:09 2017-05-25 05:00:01 2017-05-25 05:09:56 2017-05-25 05:14:18
Date :
2017-05-25 04:32:16
By :
clay01
View :
2000
Reply :
3
ใช้การเขียน Textfile ปกตินี่แหละครับ
PHP fopen(),fwrite() write text file
Date :
2017-05-25 05:01:37
By :
mr.win
ถ้าเก็บแบบ txt มันสามารถเก็บ IP ให้ไม่ซ้ำได้ไหมอะครับ ใจจริงอยากจะให้เก็บแบบ SQL แต่ก็ยัง งงๆ
ผมก็ดูวิธีการสร้างแบบ SQL จากแอดมิน MySQL INSERT DUPLICATE KEY UPDATE
แต่ไม่รู้codeที่จะนำไปแสดงผลต้องเขียนยังไง
ประวัติการแก้ไข 2017-05-25 05:17:48
Date :
2017-05-25 05:16:06
By :
clay01
จะทำยังไงให้มันต่อท้ายกันอะครับตอนนี้ผมเพิ่มวันที่กับเวลามา แต่อยากให้มันต่อท้ายกัน และอีกอย่างเวลามันไม่ตรงตามประเทศไทย
ของเก่า
IP Address: 171.99.xxx.x
Port Number: 26xx
DATE: 24-05-2017
TIME: 23:03:04
ที่ต้องการจะให้เป็น
IP Address: 171.99.xxx.x Port Number: 26xx DATE: 24-05-2017 TIME: 23:03:04
อันนี้codeอะครับต้องแก้ยังไง
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$port = $_SERVER['REMOTE_PORT'];
$date = date ('d-m-Y');
$time = date ('H:i:s');
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$fh = fopen('history/ip.txt', 'a');
fwrite($fh, 'IP Address: '."".$ip ."\n");
fwrite($fh, 'Port Number: '."".$port ."\n");
fwrite($fh, 'DATE: '."".$date ."\n");
fwrite($fh, 'TIME: '."".$time ."\n");
fclose($fh);
?>
Date :
2017-05-25 06:11:01
By :
clay01
Load balance : Server 02