テスト目的のために、汎用情報を要求する簡単なフォームがありますが、ユーザーは情報を一度しか入力できません。 IPアドレスが記録されているため、情報を再度入力しようとすると、データはSQLテーブルに送られません。私はフォームの提出にJquery Ajaxを使用しています。フォームが正常に送信された場合は、「情報が送信されました」というメッセージが表示されます。表示する必要があります。ユーザのIPが記録されたIPと一致する場合、「あなたは一度だけ提出する」というメッセージが表示されます。示されています。Jquery Ajax:ユーザーIPがブロックされ、フォームがSQLテーブルに送信されない場合の表示jquery animation
私の問題は、jquery ajaxに「あなたは一度だけ送信する」というメッセージを表示する方法がわかりません。検出されたIPアドレスがデータベース内のIPアドレスと照合された後のメッセージ。 それは使用する必要はありません "というエラー:関数()..."
をここでは、フォームとjQueryのAjaxスクリプトです:ここで
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("form#submit").submit(function() {
var words = $('#words').attr('value');
$.ajax({
type: "POST",
url: "getuser.php",
data: "words="+ words,
success: function(){
$('form#submit').hide(function(){$('div.success').fadeIn();});
},
error: function(){
$('form#submit').hide(function(){$('div.fail').fadeIn();});
}
});
return false;
});
});
</script>
<form id="submit" method="post">
<fieldset>
<legend>Enter Information</legend>
<label for="words">words:</label>
<input id="words" class="text" name="words" size="20" type="text">
<button> Submit </button>
</fieldset>
</form>
<div class="success" style="display: none;">Information submitted.</div>
</div>
<div class="fail" style="display: none;">You only get to submit once.</div>
は、PHPスクリプトです:
<?php
mysql_connect("","","");
mysql_select_db("");
//take IP address and match IP taken with IP in SQL table (I will do this myself later)
//if IPs match
if ($ip == $databaseIP)
{
die();
}
else
{
$words = htmlspecialchars(trim($_POST['words']));
$addClient = "INSERT INTO test VALUES('','$words')";
mysql_query($addClient) or die(mysql_error());
}
?>
UPDATE:ここにあなたのPHPスクリップもし私が
if ($_POST['words'] )
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
$ipquery = mysql_query ("SELECT * FROM rate WHERE ip = '$ip' ");
$ipquery = mysql_fetch_assoc($ipquery);
$ipquery = $ipquery['ip'];
if ($ipquery == $ip)
{
echo "you only get to submit once";
}
else
{
mysql_query ("INSERT INTO rate VALUES ('','$words')");
echo "information submitted";
}
}
"error:function()"を使用する必要はありません。ユーザーに「一度だけ送信するだけです」と伝えるスクリプトが必要です。そのIPがSQLテーブルに記録されている場合 – user701510
私が何をしようとしているのかをより明確に説明するために、更新されたOPをご覧ください。 – user701510
私はJquery AjaxとAjaxにはまだまだかなり新しいです。私が提供したJquery AjaxとPHPスクリプトに関して、あなたの例を説明してください。 – user701510