javascript, ajax, PHP insert onSubmit not working...POST not set -
i'm trying insert mysql database onsubmit() function... main part, function works. however, keeps inserting 1 db logbook_id field (the logbook_id should not 1 every time). here's (relevant) html:
echo '<div class="logbook_box" id="logbook'.$id.'" style="display: block; overflow: hidden;">'; echo '<form action="cgi-bin/read_log.php" method="post" onsubmit="return ajaxsubmit(this, ' . $id . ');">' . '<input type="hidden" value="'.$id.'" id="id" name="id" />'. '<input style="float: right; width: 20%" type="submit" value="mark read" />' . '</form>'; here's onsubmit function:
<script type="text/javascript" src="cgi-bin/jquery-2.0.3.js"></script> <script> var ajaxsubmit = function(form, id) { div = document.getelementbyid("logbook" + id); div.style.display = "none"; // fetch want submit form var url = $(form).attr('action'); var id = $('#id').val(); // setup ajax request $.ajax({ url: url, data: { id : id }, datatype: "json", success: function() { if(rsp.success) { alert('marked read, thanks!'); } } }); // return false form not // submit page return false; } </script> and here's php file:
<?php include('/var/www/olin2/includes/functions.php'); $con = connect_db(); session_start(); $id = isset($_post['id']); $username = $_session['username']; $query = 'insert read_logbook(logbook_id, username) values("'.$id.'", "'.$username.'")'; mysqli_query($con, $query) or die(mysqli_error($con)); ?> so, <div> disappears should when submit clicked, shows id getting passed correctly. php script called, either doesn't input anything database, or (even more strangely) submit username , value 1 database if change php $_post $_get without changing method in form.
i'm new @ ajax/javascript, i'm sure has function, i'm confused , @ complete loss... ideas?
add type option post ajax since retriving value post...default get..
$.ajax({ url: url, data: { id : id }, type: "post", //<---here .... and make sure id of logbook_box different , not 1 time
and change
$id = isset($_post['id']); //this return either true or false. $id either 0 or 1 try this
$id = isset($_post['id'])?$_post['id']:""; //or $_post['id'];
Comments
Post a Comment