使用javascript和php推送MySQL数据
Pushing in MySQL data with javascript and php
我正在编写一个程序,但我是js/jQuery/Ajax的新手。我试图从表单(html)中获取用户输入,并将其发送到php文件,该文件将数据插入MySQL数据库,然后最终将信息吐出到div中。我按了submit,但我的用户提交的数据没有插入数据库。最初,我通过标记(action="post.php")将提交重定向到我的php文件,该标记在将数据插入mysql数据库方面起到了作用,但在提交时也将其重定向到了post.php文件。
我的js文件datawire.js:
$( 'button#submit').on('click', function() {
var uName = $('input#uName').val();
var uMessage = $('input#uMessage').val();
if ($.trim(uName) != '' && $.trim(uMessage) != '') {
$.post('post.php', {username: uName, message: uMessage}, function(data) {
$('div#viewer').text(data);
});
}
});
我的php文件post.php
<?php include("config.php");
$username = isset($_POST['username']);
$message = isset($_POST['message']);
if (($username && $message) && (empty($_POST['username'] === false) && empty($_POST['message']) === false)) {
$username = $_POST['username'];
$message = $_POST['message'];
// insert into database
$nowTime = getDateTime();
$userIp = getIp();
$sql = "INSERT INTO commentdb (id,username, message,date,ip) VALUES ('','$username','$message', '$nowTime', '$userIp') ";
$result = mysql_query($sql);
}
?>
和我的HTML文件:
<html>
<head>
<!-- latest jQuery direct from google -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!-- for getting data -->
<script src="datawire.js"></script>
<!-- for posting data -->
<script type="text/javascript">
$(document).ready(function() {
$('#viewer').load("getdata.php");
});
</script>
</head>
<body>
<div id="viewer"> </div>
<br>
<!-- User form -->
<form method='post'>
<input type="text" id="uName" name="username" placeholder="Name" value="" maxlength="15" />
<br />
<input type="text" id="uMessage" name="message" placeholder="Message" value="" maxlength="100" />
<br />
<button id="submit" type="submit">Submit!</button> <button type="reset">Clear!</button>
</form>
</body>
</html>
试着像在html文件中那样用$(document).ready包装datawire.js的内容。这确保了$在使用之前已经被实际定义。
使用preventDefault()函数阻止表单提交
$( 'button#submit').click(function(e) {
e.preventDefault();
var uName = $('input#uName').val();
var uMessage = $('input#uMessage').val();
if ($.trim(uName) != '' && $.trim(uMessage) != '') {
$.post('post.php', {username: uName, message: uMessage}, function(data) {
$('div#viewer').text(data);
});
}
});
从服务器返回类似的文本消息
<?php include("config.php");
$username = isset($_POST['username']);
$message = isset($_POST['message']);
if (($username && $message) && (empty($_POST['username'] === false) && empty($_POST['message']) === false)) {
$username = $_POST['username'];
$message = $_POST['message'];
// insert into database
$nowTime = getDateTime();
$userIp = getIp();
$sql = "INSERT INTO commentdb (id,username, message,date,ip) VALUES ('','$username','$message', '$nowTime', '$userIp') ";
$result = mysql_query($sql);
if($result)
{
echo " Data Inserted Successfully";
}else{
echo " Data insert failed - ".mysql_error();
}
}else{
echo " Required fields are missing";
}
?>
相关文章:
- 使用jquery将mysql数据获取到新的表行中
- 单击鼠标,用MySQL数据填充html表单输入字段
- 使用 mysql 数据创建条形图
- 使用 Ajax 将 PHP 嵌入到 JavaScript 中,以便将 MySQL 数据存储在 JavaScript 对象
- 用 MySql 数据填充 JavaScript 数组
- 使用javascript和php推送MySQL数据
- 使用html表显示MySql数据
- 我无法获取显示mySql数据的Slickgrid
- 使用javascript和ajax插入mysql数据
- 无法获取 AJAX 表单来提交 MySQL 数据
- 如何使用 .ajax 拉取 MySQL 数据并用它填充表单
- 使用 Ember.js 从 Laravel 后端加载 Mysql 数据
- 为什么尽管查询查找记录,mysql 数据没有拉入表单,查找值是否需要是唯一的
- 使用 mysql 数据在 php 中构建多维数组
- 获取 MySql 数据到 PHP 数组并转换为 Javascript 数组
- 使用 jQuery ajax 从选择框加载 MySQL 数据时遇到困难
- PHP页面未更新MySQL数据
- 如何在php中从mysql数据中绘制树结构
- 如何在javascript代码中获取Mysql数据
- 骨干关系型,使用mysql数据将模型表示为表行