【发布时间】:2011-11-08 20:09:48
【问题描述】:
我已经学习了三个教程,一个关于将表单数据提交到 php 文件,一个关于将数据写入 mysql 表,然后一个关于 jQuery AJAX 以在没有页面重定向的情况下完成所有这些操作。
顺便说一句,jQuery AJAX 教程就在这里,因为似乎这个网站上的很多人都问过如何在没有 POST 重定向的情况下发送表单:
POST a form without page redirect
在通过 AJAX 将数据获取到 php 文件方面,我已经正确设置了所有内容,但是 php mysql 语句不会将数据写入数据库。我已经使用 firebug 来检查数据是否到达 php,这就是我认为的。
我确定问题不在于数据库连接,我认为这是由于传递给 php 文件的数据格式所致。混合和匹配教程对我来说很困难。我需要解压我在 jQuery 函数中创建的字符串数据吗?
顺便说一句,在 jQuery AJAX 教程中,他提到“除了发送电子邮件和发送成功消息之外,您还可以在这里做更高级的事情。例如,您可以将您的值发送到数据库,对其进行处理,然后将结果显示给用户。听起来他是在说您可以使用 POST 到 php 文件以外的东西来完成所有这些工作。我以为 php 文件的全部意义在于做数据库存储?
感谢您的宝贵时间。
发送数据的jQuery AJAX:
jQuery(function() {
jQuery(".button1").click(function() {
var txtRow1 = jQuery('#txtRow1').val();
var tickerRow1 = jQuery('#tickerRow1').val();
var dataString = 'txtRow1='+ txtRow1 + '&tickerRow1=' + tickerRow1;
//alert (dataString);return false;
jQuery.ajax({
type: "POST",
url: "form_action.php",
data: dataString
});
return false;
});
});
还有form_action.php:
<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'pass';
$dbname = 'dbname';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
$txtRow1 = $_POST['txtRow1'];
$tickerRow1 = $_POST['tickerRow1'];
$sqlinsert = "INSERT INTO stock_port (name, ticker) VALUES ('$txtRow1', '$tickerRow1')";
?>
【问题讨论】: