所以,编写这个脚本,现在我确实收到了正确的电子邮件,包括数据库中的旧IP地址和脚本中的新地址。我现在的问题是,旧的IP地址和电流是相同还是不同,电子邮件发送。此脚本将每分钟运行一次,以检查动态IP地址更改,因此我不想每分钟都收到一封电子邮件。我的目标是,如果最后发布的IP与发现的IP不同,则仅发送电子邮件。现在,电子邮件正在发送IP不同或不同。其他一切都有效。电子邮件发送正常,其他一切都很完美。唯一的问题是使用逻辑来决定何时发送电子邮件。 (当新旧IP不同时。)
当脚本从数据库获取ip时,它看起来像123.123.123.123。来自http://www.ipaddresscheck.comlu.com/ip.php的IP也看起来像123.123.123.123。 (***示例)但是如果数据库说123.123.123.123,当前是134.134.134.134,它应该发送电子邮件。
在比较中,我试过了!=,==,我已经尝试将邮件块放在then和else部分。问题可能是由不同的数据类型引起的吗? $ new_ip是一个字符串而$ old_ip是一个整数吗?我只有14岁,所以...是的。
<?php
//Get IP
$new_ip = file_get_contents('http://www.ipaddresscheck.comlu.com/ip.php');
//Connect to SQL
mysql_connect('localhost','root','root');
//Select database
mysql_select_db("ip_changes") or die(mysql_error());
//Get Date Info
$date = date("D M Y");
$time = date("H:i:s");
//Get last inserted IP
$sql = mysql_query('SELECT * FROM ip ORDER BY id DESC LIMIT 1');
$row = mysql_fetch_array( $sql );
$old_ip = $row['current_ip'];
echo $old_ip;
//Generate SQL query
$sql="INSERT INTO ip (date, time, current_ip) VALUES ('$date', '$time', '$new_ip')";
//Execute SQL
mysql_query($sql);
//Get latest IP
//$lastip = mysql_query(SELECT $selected FROM ip ORDER BY id DESC LIMIT 1);
if ($old_ip == $current_ip)
{
}
else {
//Set Mail Settings
$to = "justinmarmorato@gmail.com";
$subject = "IP Address Change";
$from = "no-reply@http://mar-remote-net.dns2.us";
$headers = array (
"From:" . $from,
"Content-Type: Text/HTML"
);
//Create email
$finalmessage = <<< EOT
Hello! This is an automated message from the IPMS. An IP address change has been detected.
<html>
<style>
table, th, td
{
border: 2px solid black;
border-color:grey;
}
</style>
<table class='table'>
<tr>
<td>Old IP</td><td>New IP</td><td>Time Detected</td>
</tr>
<tr>
<td>$old_ip</td><td>$new_ip</td><td>$date $time</td>
</tr>
</table>
</html>
EOT;
mail($to,$subject,$finalmessage, implode("\r\n", $headers));
mail('justinmarmorato@gmail.com', 'Hello!', implode("\r\n", $headers));
}
?>
答案 0 :(得分:1)
您的意思是$new_ip
在$current_ip
声明中说if
而不是$current_ip
吗?
$current_ip
似乎没有设置在任何地方 - 如果是这种情况$old_ip
将始终未设置且永远不会等于{{1}}。