私はいくつかのPHPコードを書いています。私は、ユーザが来ているIPアドレスとIPアドレスを比較したいと思います。これはコードです:ファイルからデータを読み込んでログを保存するPHPコードのバグ
<!DOCTYPE html>
<html>
<?php
// set date and hour
$date=date('H:i:s d-m-Y');
// set ip user
$ip=$_SERVER['REMOTE_ADDR'];
// log text
$ipLog="User entered at " . $date . " from ip address: " . $ip . ".\n";
// write log
$firstLogFile="../../logs/firstLogIP.txt";
// ipcheck
$myfile=fopen("../../logs/ownip.txt", "r") or die("Unable to read ownip file!");
$ownip=fgets($myfile);
fclose($myfile);
if($ip!=$ownip) {
$handleFirstLog=fopen($firstLogFile, 'a') or die("<br><br>Can't open logfile!<br><br>");
fwrite($handleFirstLog, $ipLog);
fclose($handleFirstLog);
}
?>
<head>
</head>
<body>
<div class="container">
<div class="inner-container">
<div>
<?php
if($ip!=$ownip) {
print "ips not equal: " . $ip . " " . $ownip;
} else {
print "ips equal";
}
?>
</div>
</div>
</div>
<body>
</html>
ユーザーのIPアドレスが私のファイルに保存されているのIPアドレス(../../logs/ownip.txt)のそれと等しいしない場合、これがあるべきログファイル(firstLogIP.txt)に書き込まれ、画面上に「ips is equal」と表示されるはずです。
したがって、ipが等しい場合、ログは書き込まれず、画面に「ips等しい」と表示されます。
私のIPアドレスとユーザのアドレス($ _SERVER ['REMOTE_ADDR'])は同じですが、スクリプトはまだ「ips is equal」と表示され、IPアドレスが記録されます!
このバグの助けがありますか?どうも!!
2つの変数の値を印刷するためにvar_dumpをコードに追加できますか? –