クーポンは、そのタイプをまだ表示していないIPに対してのみ表示されます。含まれている場合は、エラーページをエコーする必要があります。これは、ユーザーがページを1回だけ表示できるようにするためのものです。
IPはデータベースに到達していますが、そのタイプのデータベースでIPが見つかった場合、PHPはエラーページを表示するように正しく機能していません。
URL: http: //muhs.trinix.co/coupon?type=czo0OiJNZW93Ijs=
<?PHP
if(empty($_GET['type'])){die();}
mysql_connect("localhost", "muhs_cp", "********************");
mysql_select_db("muhs_cp");
$type = mysql_real_escape_string(unserialize(base64_decode($_GET['type'])));
$randid = rand(1, 9999999999);
$ip = $_SERVER['REMOTE_ADDR'];
$resultz = mysql_query("SELECT ip FROM coupons WHERE type = '$type' AND ip = '$ip' LIMIT 1");
if(mysql_fetch_array($resultz) !== false){
mysql_query("INSERT INTO `coupons` (`id`, `type`, `ip`) VALUES ('$randid', '$type', '$ip')");
$result = mysql_query("SELECT * FROM coupons WHERE type = '".mysql_real_escape_string($type)."'") or die(mysql_error());
$row = mysql_fetch_array( $result );
$expired = $row['expired'];
$notes = $row['notes'];
$cookie = $row['cookie'];
mysql_query("UPDATE `totals` SET `number` = `number` + 1 WHERE `type` = '".mysql_real_escape_string($type)."'");
}
else{
echo "
<html>
<head>
<title>Your Coupon</title>
<link href='css/screen.css' rel='stylesheet' type='text/css' />
</head>
<body id='wrapper'>
<div id='login'>
<h1>Whoops! Looks like this coupon has already been used.</h1>
<br />
<img src='../images/logo.png' />
<br />
<p>You are unable to make a coupon more than once.</p>
</div>
</body>
</html>"; die();};
?>
更新:私は余分なものを持っていました!ifステートメントで。また、ユーザーがページを1回だけ表示できるようにコードを変更することができました。