Отправка данных в базу данных с помощью Jquery / ajax

Я пытался выставить свою форму, но я все время застреваю. Я получил его для работы с отключенным jquery. Но если я включу Jquery, он ничего не отправит. (Без ошибок в проверке элементов)

Я был на нем какое-то время, и я пробовал разные решения (несколько из разных тем здесь в переполнении стека), но я продолжаю понимать то же самое. Это может быть что-то на стороне сервера, но я продолжаю думать, что если это будет так, то это не должно работать вообще. Может у кого-нибудь есть идея?

Ссылка: http://www.volunteeringnews.com/osf.php

Коды:

Клиентская сторона: osf.php

<?php include("osb.php");?> <link href="css/styles.css" rel="stylesheet"> <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type = "text/javascript"> $(function(){ $('#submit').click(function(){ $('#container').append('<img src = "img/ajax/ajax-loader.gif" alt="Currently loading" id = "loading" />'); var name=$("#name").val(); var continent=$("#continent").val(); var country=$("#country").val(); var website=$("#website").val(); var email=$("#email").val(); var nameorg=$("#nameorg").val(); var category=$("#category").val(); var price=$("#price").val(); var currency=$("#currency").val(); var description=$("#description").val(); var wanted=$("#wanted").val(); var expectation=$("#expectation").val(); var extra=$("#extra").val(); $.ajax({ url: 'osb.php', type: 'POST', data: 'name =' + name + '&continent=' + continent + '&country=' + country + '&website=' + website + '&email=' + email + '&nameorg=' + nameorg + '&category=' + category + '&price=' + price + '&currency=' + currency + '&description=' + description + '&wanted=' + wanted + '&expectation=' + expectation + '&extra=' + extra, success: function(result){ $('#response').remove(); $('#container').append('<p id = "response">' + result + '</p>'); $('#loading').fadeOut(500, function(){ $(this).remove(); }); } }); return false; }); }); </script> <!--we have our html form here where user information will be entered--> <form action='osb.php' method='post' border='0'> <div id = "container"> <br> <label>Name: </label> <input type='text' id="name" name='name' /><br> <br> <label>Continent: </label> <select id="continent" name="continent"> <option>Africa</option><option>America</option><option>Asia</option> <option>Australia</option><option>Europe</option></select><br><br> <label>Country: </label> <input type='text' id="country" name='country' /><br><br> <label>Website: </label> <input type='text' id="website" name='website' /><br><br> <label>E-mail: </label> <input type='text' id="email" name='email' /><br><br><br> <label>Organisation: </label> <input type='text' id="nameorg" name='nameorg' /><br><br> <label>Category: </label> <input type='text' id="category" name='category' /><br><br> <label>Price per week: </label> <input type='text' id="price" name='price' /><br><br> <label>Currency: </label> <select id ="currency" name="currency" > <option> EUR </option> <option> DOL </option> <option> GBP </option></select><br><br> <label>Description: </label> <textarea id="description" rows="5" cols="40" placeholder="Describe what kind of volunteer is welcome" name='description'/></textarea><br><br> <label>Wanted: </label> <textarea id="wanted" rows="5" cols="40" placeholder="Describe what kind of volunteer is welcome" name='wanted'/></textarea><br><br> <label>Expectation: </label> <textarea id="expectation" rows="5" cols="40" placeholder="Describe what a volunteer can expect" name='expectation'/></textarea><br><br> <label>Extra: </label> <textarea id="extra" rows="5" cols="40" placeholder="Describe what a volunteer can expect" name='extra'/></textarea><br><br> <input type='hidden' name='action' value='create' /> <input type='submit' value='Submit' id="submit" value = "send feedBack"/> <input type="reset" value="Reset" class="reset-org"> <a href='index.php'>Back to index</a> 

Серверная сторона: osb.php

 <?php //set connection variables $host = ""; $username = ""; $password = ""; $db_name = ""; //database name //connect to mysql server $mysqli = new mysqli($host, $username, $password, $db_name); //check if any connection error was encountered if(mysqli_connect_errno()) { echo "Error: Could not connect to database."; exit; } $action = isset($_POST['action']) ? $_POST['action'] : ""; if($action=='create'){ //the the user submitted the form //include database connection include 'mysqli.php'; //our insert query query //$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection $query = "insert into organisation set name = '".$mysqli->real_escape_string($_POST['name'])."', continent = '".$mysqli->real_escape_string($_POST['continent'])."', country = '".$mysqli->real_escape_string($_POST['country'])."', website = '".$mysqli->real_escape_string($_POST['website'])."', email = '".$mysqli->real_escape_string($_POST['email'])."', nameorg = '".$mysqli->real_escape_string($_POST['nameorg'])."', category = '".$mysqli->real_escape_string($_POST['category'])."', price = '".$mysqli->real_escape_string($_POST['price'])."', currency = '".$mysqli->real_escape_string($_POST['currency'])."', description = '".$mysqli->real_escape_string($_POST['description'])."', wanted = '".$mysqli->real_escape_string($_POST['wanted'])."', expectation = '".$mysqli->real_escape_string($_POST['expectation'])."', extra = '".$mysqli->real_escape_string($_POST['extra'])."'"; //execute the query if( $mysqli ->query($query) ) { //if saving success echo "User was created."; }else{ //if unable to create new record echo "Database Error: Unable to create record."; } //close database connection $mysqli->close(); } ?> 

Большое спасибо!!

Related of "Отправка данных в базу данных с помощью Jquery / ajax"

Попробуй это

Вот отредактированный html

HTML

  <form action='osb.php' method='post' border='0' id="form1"> <div id = "container"> <br> <label>Name: </label> <input type='text' id="name" name='name' /><br> <br> <label>Continent: </label> <select id="continent" name="continent"> <option>Africa</option><option>America</option><option>Asia</option> <option>Australia</option><option>Europe</option></select><br><br> <label>Country: </label> <input type='text' id="country" name='country' /><br><br> <label>Website: </label> <input type='text' id="website" name='website' /><br><br> <label>E-mail: </label> <input type='text' id="email" name='email' /><br><br><br> <label>Organisation: </label> <input type='text' id="nameorg" name='nameorg' /><br><br> <label>Category: </label> <input type='text' id="category" name='category' /><br><br> <label>Price per week: </label> <input type='text' id="price" name='price' /><br><br> <label>Currency: </label> <select id ="currency" name="currency" > <option> EUR </option> <option> DOL </option> <option> GBP </option></select><br><br> <label>Description: </label> <textarea id="description" rows="5" cols="40" placeholder="Describe what kind of volunteer is welcome" name='description'/></textarea><br><br> <label>Wanted: </label> <textarea id="wanted" rows="5" cols="40" placeholder="Describe what kind of volunteer is welcome" name='wanted'/></textarea><br><br> <label>Expectation: </label> <textarea id="expectation" rows="5" cols="40" placeholder="Describe what a volunteer can expect" name='expectation'/></textarea><br><br> <label>Extra: </label> <textarea id="extra" rows="5" cols="40" placeholder="Describe what a volunteer can expect" name='extra'/></textarea><br><br> <input type='hidden' name='action' value='create' /> <input type='button' value='Submit' id="submit" /> <input type="reset" value="Reset" class="reset-org"> <a href='index.php'>Back to index</a> </form> 

use .serialize() , он автоматически примет все данные формы

код

  $(function(){ $('#submit').click(function(){ $('#container').append('<img src = "img/ajax/ajax-loader.gif" alt="Currently loading" id = "loading" />'); $.ajax({ url: 'osb.php', type: 'POST', data: $('#form1').serialize(), success: function(result){ $('#response').remove(); $('#container').append('<p id = "response">' + result + '</p>'); $('#loading').fadeOut(500); } }); }); }); 

и на вашей php-странице добавьте это

osb.php

 <?php $data=$_POST['serialize']; $name=$data['name']; //access data like this ?>