mysql - Limit number of entires inserted into DB, PHP/AJAX -


im trying build function users on website can unter 3 different interests. interests inserted db using ajax, scripts below...

form:

<div id="insert_response"></div> <form action="javascript:insert()" method="post"> <input name="useridint" type="hidden" id="useridint" value="<?php echo $usersclass->userid(); ?>"/> 

ajax:

function createobject() { var request_type; var browser = navigator.appname; if(browser == "microsoft internet explorer"){ request_type = new activexobject("microsoft.xmlhttp"); }else{ request_type = new xmlhttprequest(); } return request_type; }  var http = createobject(); /* -------------------------- */ /* insert */ /* -------------------------- */ /* required: var nocache random number add request. value solve internet explorer cache issue */ var nocache = 0; function insert() { // optional: show waiting message in layer id login_response document.getelementbyid('insert_response').innerhtml = "just second..." // required: verify fileds not empty. use encodeuri() solve issues character encoding. var useridint= encodeuri(document.getelementbyid('useridint').value); var interest = encodeuri(document.getelementbyid('interest').value); // set te random number add url request nocache = math.random(); // pass login variables url variable http.open('get', 'upd_interests.php?useridint= '+useridint+'&interest=' +interest+'&nocache = '+nocache); http.onreadystatechange = insertreply; http.send(null); } function insertreply() { if(http.readystate == 4){  var response = http.responsetext; // else if login ok show message: "site added+ site url". document.getelementbyid('insert_response').innerhtml = response; } } 

php:

<?php require 'config.inc.php'; ?>  <!-- verify if user exists login --> <?php if(isset($_get['useridint']) && isset($_get['interest'])){  $url= $_get['useridint']; $sitename= $_get['interest'];  $insertsite_sql = "insert user_interests (user_id, interest) values('{$url}' , '{$sitename}')"; $insertsite= mysql_query($insertsite_sql) or die(mysql_error());  echo $sitename; } else {  echo 'error! please fill fileds!'; } ?> 

what im asking is, possible can somehow have 3 records in database each user? once user has entered 3 rows, can no longer enter more? if best option be?

thanks


in response @daniel suggestion tried following not inserting...

$res = mysql_query("select count(*) cnt user_interests user_id=$useridint") while($r=mysql_fetch_array($res)) { if($r["cnt"] < 3) { if(isset($_get['useridint']) && isset($_get['interest'])){  $url= $_get['useridint']; $sitename= $_get['interest'];  $insertsite_sql = "insert user_interests (user_id, interest) values('{$url}' , '{$sitename}')"; $insertsite= mysql_query($insertsite_sql) or die(mysql_error());  echo $sitename; } else {  echo 'error! please fill fileds!'; } }   else {  echo "you have 3 "; } }    

just run . idea escape user input. in case user decides favorite site ;drop databases--;

$res = mysql_query("select count(*) cnt user_interests user_id=$useridint") while($r=mysql_fetch_array($res)) {   if($r["cnt"] < 3)   {      insert   }   else   {      error   } } 

Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -