私はPHPに非常に慣れていないので、まだ「インとアウト」を学ぼうとしています.(独学)同じIPが複数回署名するのをブロックするために、友人にコードを開発してもらった請願Webサイトがあります。
この特定の嘆願書は、同じ IP を使用する複数の署名者がいるオフィスに送信されるため、重複する IP をブロックするコードから、署名者が提供する重複する「GLVAR」番号をブロックするコードに変更する必要があります。データベースをセットアップしましたが、これを機能させるためにコーディングを正確に変更する場所がわかりません。
また、署名者が送信した情報を私の電子メール アドレスに送信して、追加のコピーを取得しようとしています。私はこれが簡単であることを知っていますが、私が言ったように、私は独学で非常に新しいので、どんな助けも大歓迎です. お時間をいただきありがとうございました。
<?php
include('database/config.php');
include('database/database.php');
$err = '';
if(isset($_POST['submit'])){
$first = addslashes(trim($_POST['first']));
$last = addslashes(trim($_POST['last']));
$glvar = addslashes(trim($_POST['glvar']));
$ip = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
//echo $ip;
if(($first!='')&& ($last!='')&& ($glvar!='')){
$database = new Database(HOST, DATEBASE, USERNAME, PASSWORD);
$allUsers = $database->select('user','ip','*',"ip = '".$ip."'");
//echo $ip;
$checkIp = 0;
$checkIp = count($allUsers);
$userData = array(
'first_name' => $first,
'last_name' => $last,
'glvar_id' => $glvar,
'ip' => $ip,
);
if(!$checkIp) {
$database->insert('user',$userData);
header('location:thank-you.html');
} else $err.='<p style="color:red">Ooops! You have already signed the petition</p>';
} else {
if($first=='') $err.='<p style="color:red">Your first name not empty</p>';
if($last=='') $err.='<p style="color:red">Your last name not empty</p>';
if($glvar=='') $err.='<p style="color:red">Your GLVAR ID not empty</p>';
}
}
?>