Monday 15 March 2010

PHP Jquery Ajax Post data not saving to database -



PHP Jquery Ajax Post data not saving to database -

i'm studying jquery ajax php post, i'm getting success message info not saving on database, page online please see on link below.

http://marlz13.net78.net/feedback%20ajax/

here send js script:

$(document).ready(function() { $('form #response').hide(); $('#submit').click(function(e) { // prevent forms default action until // error check has been performed e.preventdefault(); // grab form field values var valid = ''; var required = ' required.'; var name = $('form #name').val(); var email = $('form #email').val(); var message = $('form #message').val(); var honeypot = $('form #honeypot').val(); var humancheck = $('form #humancheck').val(); // perform error checking if (name = '' || name.length <= 2) { valid = '<p>your name' + required +'</p>'; } if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) { valid += '<p>your email' + required +'</p>'; } if (message = '' || message.length <= 5) { valid += '<p>a message' + required + '</p>'; } if (honeypot != 'http://') { valid += '<p>spambots not allowed.</p>'; } if (humancheck != '') { valid += '<p>a human user' + required + '</p>'; } // allow user know if there erros form if (valid != '') { $('form #response').removeclass().addclass('error') .html('<strong>please right errors below.</strong>' +valid).fadein('fast'); } // allow user know happening behind scenes // serialize form info , send our ajax function else { $('form#response').removeclass().addclass('processing').html('processing...').fadein('fast'); var formdata = $('form').serialize(); submitform(formdata); } }); }); // create our ajax request server function submitform(formdata) { $.ajax({ type: 'post', url: 'feedback.php', data: formdata, datatype: 'json', cache: false, timeout: 7000, success: function(data) { $('form #response').removeclass().addclass((data.error === true) ? 'error' : 'success') .html(data.msg).fadein('fast'); if ($('form #response').hasclass('success')) { settimeout("$('form #response').fadeout('fast')", 5000); } }, error: function(xmlhttprequest, textstatus, errorthrown) { $('form #response').removeclass().addclass('error') .html('<p>there an<strong> ' + errorthrown + '</strong> error due a<strong> ' + textstatus + '</strong> condition.</p>').fadein('fast'); }, complete: function(xmlhttprequest, status) { $('form')[0].reset(); } }); };

here's php script

<?php // establishing connection server.. $connection = mysql_connect("databaseserver", "username", "password"); // selecting database $db = mysql_select_db("db", $connection); sleep(2); //sanitize incoming info , store in variable $name = trim(stripslashes(htmlspecialchars($_post['name']))); $email = trim(stripslashes(htmlspecialchars($_post['email']))); $message = trim(stripslashes(htmlspecialchars($_post['message']))); $humancheck = $_post['humancheck']; $honeypot = $_post['honeypot']; if ($honeypot == 'http://' && empty($humancheck)) { //validate info , homecoming success or error message $error_message = ''; $reg_exp = "/^[a-za-z0-9._%+-]+@[a-za-z0-9-]+\.[a-za-z.]{2,4}$/"; if (!preg_match($reg_exp, $email)) { $error_message .= "<p>a valid email address required.</p>"; } if (empty($name)) { $error_message .= "<p>please provide name.</p>"; } if (empty($message)) { $error_message .= "<p>a message required.</p>"; } if (!empty($error_message)) { $return['error'] = true; $return['msg'] = "<h3>oops! request successful form not filled out correctly.</h3>".$error_message; echo json_encode($return); exit(); } else { //insert query mysql_query("insert formdata (name, email, desc) values ('$name', '$email', '$message')"); //connection closed mysql_close($connection); $return['error'] = false; $return['msg'] = "<p>thanks feedback " .$name .".</p>"; echo json_encode($return); } } else { $return['error'] = true; $return['msg'] = "<h3>oops! there problem submission. please seek again.</h3>"; echo json_encode($return); } ?>

this on head of htm

<head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>ajax form tutorial using jquery , php</title> <link href="styles.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript" src="ajax_submit.js"></script> </head>

like said in comment, desc reserved word in mysql, should set backticks arround below.

also can check error mysql_error().

$save = mysql_query("insert formdata (name, email, `desc`) values ('$name', '$email', '$message')"); if(!$save) { $return["mysql_err"] = mysql_error(); }

php jquery ajax post

No comments:

Post a Comment