2014-10-28 4 views
0

제출할 때 내 서버로 데이터를 보내는 간단한 온라인 양식을 만들었습니다.하루에 한 번만 서버 측 제출을 허용하는 방법

일은 양식을 사용하는 사람에게만 "한 번만"양식을 사용할 수있게하려는 것입니다. 어떻게 수행합니까? 이하

입력 양식 및 동작 페이지 ....

============================이다

온라인 양식

<table border="1" cellpadding="0" cellspacing="0" align="center" height="90%"> 
<tr> 
<td style="align: center;"> 
<br> 
<div style="font-family: Eurostile, Impact; font-size:18px; color: #9f9f9f; align: center;">before you</div></td> 
</tr> 
<tr> 
<td style="text-align: center;"> 


<form name="RedpointsForm" action="http://blainevk.isexypartynetwork.net/redpoints/test-promo-upload.php" method="post" /> 
<input type="hidden" name="points" id="points" value="23"> 
<input type="hidden" name="useridV" id="useridV" value="56"> 

<input type="hidden" name="type" id="type" value="V"> 
<input type="hidden" name="date" id="date" value="<?php echo strtotime("now"); ?>"> 
<input type="hidden" name="notes" id="notes" value="iSexy Contest/Burkhart's Pub, 1233 Piedmont Ave. Atlanta, GA 30324"> 


<div style="font-family: Eurostile, Impact; font-size:18px; color: #9f9f9f; line-height:120%">User ID: <input type="input" name="userid" id="userid"></div><br> 

<input type="image" src="rainbow.gif" name="image" width="60" height="60"> 
</form> 

</td> 
</tr> 
</table> 

============================

작업 페이지

<?php 
define('DB_NAME', 'XXXXXXXXX'); 
define('DB_USER', 'XXXXXXXXX'); 
define('DB_PASSWORD', 'XXXXXXXXX'); 
define('DB_HOST', 'localhost'); 

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 

if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

$db_selected = mysql_select_db(DB_NAME, $link); 

if (!$db_selected) { 
    die('Can\'t use ' . DB_NAME . ': ' . mysql_error()); 
} 

$value = $_POST['userid']; 
$value2 = $_POST['useridV']; 
$value3 = $_POST['type']; 
$value4= $_POST['points']; 
$value5= $_POST['notes']; 
$value6= $_POST['date']; 



$sql = "INSERT INTO bcse_points (userid, useridV, type, points, notes, date) VALUES ('$value','$value2','$value3','$value4','$value5','$value6')"; 

if (!mysql_query($sql)) { 
    die('Error: ' . mysql_error()); 
} 

mysql_close(); 

?> 

=======================

미리 감사드립니다.

답변을 기다리면서, 블레인.

+0

하루에 두 번 이상 제출하지 못하도록 계획하는 방법을 나타내는 코드를 게시하지 않았습니다. 해결하려는 문제이므로 제출 양식보다이 코드를 게시하는 것이 더 적절합니다. [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)에있는 StackOverflow 지침을보고 질문을 편집하여 현재있는 문제의 최소한의 완전하고 검증 가능한 예를 제공하십시오 해결하려고 –

답변

0

양식을 작성하기 전에 사용자가 로그인해야하는 경우 각 제출 양식을 외래 키로 특정 사용자에게 연결하면 각 양식이 어떤 양식을 제출했는지 알 수 있습니다.

두 번째 아이디어는 데이터베이스에 데이터 테이블을 만들고 양식이 채워진 장치의 IP 주소를 저장하는 것입니다. 모든 단일 제출이 끝난 후 24 시간 타이머를 설정해야합니다. 최종 IP에 도달하면 DB에서 제거됩니다.