gpt4 book ai didi

php - 使用 Jquery/ajax 将数据发送到数据库

转载 作者:太空狗 更新时间:2023-10-29 14:41:44 25 4
gpt4 key购买 nike

我一直在尝试填写我的表格,但我总是被卡住。我让它在禁用 jquery 的情况下工作。但是如果我打开 Jquery,它不会发送任何东西。 (我的元素检查没有错误)

我已经使用它一段时间了,我尝试了不同的解决方案(一些来自 Stack overflow 上不同主题的解决方案),但我一直在做同样的事情。它可能是服务器端的东西,但我一直在想,如果是这样的话,它根本不应该工作。有没有人可能有想法?

链接: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();
}



?>

非常感谢!!

最佳答案

试试这个

这是修改后的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>

使用.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

?>

关于php - 使用 Jquery/ajax 将数据发送到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18722028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com