I have a problem in passing a value from JS to PHP so that it can be used as a parameter for a PHP function. The JS function will be trigger by onclick event once the link w
index.html
<script src="http://code.jquery.com/jquery-latest.min.js" type='text/javascript'></script>
<script>
$(document).ready(function(){
$("#insert").click(function(event){
$.post('insert.php',{username:$(this).html()});
})
});
</script>
<a href='javascript:void(0);' id='insert'>Username</a>
insert.php
<?php
function insert($username){
$conn = mysql_connect("host","user","passwd");
if($conn){
$username = mysql_real_escape_string($_POST['username']);
$result = mysql_query("INSERT INTO test.user(username) VALUES('".$username."')") or die(mysql_error());
mysql_close($conn);
}
}
if(isset($_POST['username'])){
insert($_POST['username']);
}
?>
You pass data from the browser to your server. Javascript is a language for manipulating the browser. PHP is your server side language.
You can pass data in a get or post request such as "mypage.php?Username=john"
What you want is a form so that you can interact with the user
<script type="text/javascript">
function insertIntoDb() {
document.getElementById("myform").submit();
//or if you want to use jquery and ajax
$.post("insert.php", $("#myform").serialize());
return false;
}
</script>
<form id="myform" method="post" action="insert.php">
<a href="#" onclick="insertIntoDb();">INSERT MY USERNAME</a>
<input type="text" name="Username"></input>
</form>