我正在尝试制作 -
- 一个安卓 WEB 应用程序
- 带电话间隙
- 使用 JqueryMobile 进行布局
我在做什么——
- 以 ID、姓名和地址为输入的 html 表单
- '使用 ajax 序列化这些数据
- 用它制作一个 json 对象
- 应该将它发送到一个名为“connection.php”的文件
- 在哪里,这些数据被放入数据库(MySql)
其他详情 -
- 我的服务器是本地主机,我使用 xampp
- 我已经使用 phpmyadmin 创建了一个数据库和表
问题 -
- 我的 json 对象在其中创建的 html 文件未连接到我的 localhost 托管的 php 文件
这是我的完整 html 文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<!-- Change this if you want to allow scaling -->
<meta name="viewport" content="width=default-width; user-scalable=no" />
<meta http-equiv="Content-type" content="text/html;charset=utf-8">
<title>Trial app</title>
<link rel="stylesheet" href="thestylesheet.css" type="text/css">
<script type="text/javascript" charset="utf-8" src="javascript1.js"></script>
<script type="text/javascript" charset="utf-8" src="javascript2.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova-1.8.0.js"></script>
<script>
$(document).ready(function () {
$("#btn").click( function() {
alert('hello hello');
$.ajax({
url: "connection.php",
type: "POST",
data: {
id: $('#id').val(),
name: $('#name').val(),
Address: $('#Address').val()
},
datatype: "json",
success: function (status)
{
if (status.success == false)
{
alert("Failure!");
}
else
{
alert("Success!");
}
}
});
});
});
</script>
</head>
<body>
<div data-role="header">
<h1>Heading of the app</h1>
</div><!-- /header -->
<div data-role="content">
<form id="target" method="post">
<label for="id">
<input type="text" id="id" placeholder="ID">
</label>
<label for="name">
<input type="text" id="name" placeholder="Name">
</label>
<label for="Address">
<input type="text" id="Address" placeholder="Address">
</label>
<div id="btn" data-role="button" data-icon="star" data-theme="e">Add record</div>
<!--<input type="submit" value="Add record" data-icon="star" data-theme="e">
-->
</form>
</div>
</body>
</html>
这是我的本地主机托管的“connection.php”
<?php header('Content-type: application/json');
$server = "localhost";
$username = "root";
$password = "";
$database = "jqueryex";
$con = mysql_connect($server, $username, $password);
if($con) { echo "Connected to database!"; }
else { echo "Could not connect!"; }
//or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
/*
CREATE TABLE `sample` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) DEFAULT NULL,
`Address` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
)
*/
$id= json_decode($_POST['id']);
$name = json_decode($_POST['name']);
$Address = json_decode($_POST['Address']);
$sql = "INSERT INTO sample (id, name, Address) ";
$sql .= "VALUES ($id, '$name', '$Address')";
if (!mysql_query($sql, $con)) {
die('Error: ' . mysql_error());
} else {
echo "Comment added";
}
mysql_close($con);
?>
我的疑惑:
- 当我在 phpmyadmin 中查看表“样本”时,没有在我的表中创建任何条目
- 很明显,我也没有看到任何成功消息
- 我没有收到任何错误,不是来自 ajax,也不是来自 php 文件。
我怀疑的东西:
- 我应该使用 jsonp 而不是 json 吗?我对此很陌生。
- 我的php文件有问题吗?
- 也许我需要在我的 html 文件中包含更多的 javascript 文件?
我认为这是一个非常简单的问题,所以请帮助我!我认为这只是一些概念上的错误,因为我刚刚开始使用 jquery、ajax 和 json。谢谢你。
一些编辑:
我收到以下语法错误:
已连接数据库!
注意:未定义索引:第28行C:\xampp\htdocs\connection.php中的id注意:未定义索引:第31行C:\xampp\htdocs\connection.php中的名称注意:未定义索引: C:\中的地址第34行的xampp\htdocs\connection.php
错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''', '')' 附近使用正确的语法
所以我将代码更改为
if (isset($_POST['id']))
$id= json_decode($_POST['id']);
if (isset($_POST['name']))
$name = json_decode($_POST['name']);
if (isset($_POST['Address']))
$Address = json_decode($_POST['Address']);
仍然遇到相同的错误
请帮忙!