으로 제출되지 않은 경우 jquery 애니메이션 표시 테스트 목적으로 일반 정보를 묻는 간단한 양식이 있지만 사용자는 정보를 한 번만 입력 할 수 있습니다. IP 주소가 기록되어 정보를 다시 입력하려고하면 데이터가 SQL 테이블로 전송되지 않습니다. 양식 제출을 위해 Jquery Ajax를 사용하고 있습니다. 양식이 성공적으로 제출되면 "정보가 제출되었습니다."라는 메시지가 나타납니다. 표시되어야합니다. 사용자의 IP가 기록 된 IP와 일치하면 "한 번만 제출할 수 있습니다."라는 메시지가 나타납니다. 가 표시됩니다.Jquery Ajax : 사용자 IP가 차단되고 양식이 SQL 테이블
내 문제는 jquery 아약스를 가져 오는 방법을 모르겠다는 것입니다. "한 번만 제출하면됩니다." 검색된 IP 주소가 데이터베이스의 IP 주소와 일치하는지 확인하십시오. 은 사용하지 않습니다 "오류 :() 함수를 ..."여기
양식이며, JQuery와 아약스 스크립트 :<?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());
}
?>
: 여기
<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의 전대 경우 내가
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