不使用ajax更新php中的数据库
Posted
技术标签:
【中文标题】不使用ajax更新php中的数据库【英文标题】:not update database in php with ajax 【发布时间】:2014-03-29 00:04:56 【问题描述】:Index.php
<link href="css/validationEngine.jquery.css" rel="stylesheet" type="text/css" />
<script language="javascript" src="js/jquery-1.8.2.min.js" type="text/javascript"></script>
<script language="JavaScript" src="js/jquery.validationEngine-en.js" type="text/javascript"></script>
<script language="JavaScript" src="js/jquery.validationEngine.js" type="text/javascript"></script>
<script>
jQuery(document).ready(function()
jQuery("#formID").validationEngine();
);
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
<script type="text/javascript">
$(document).ready(function()
$('#photoimg').live('change', function()
$("#preview").html('');
$("#preview").html('<img src="loader.gif" />');
$("#imageform").ajaxForm(
target: '#preview'
).submit();
);
);
</script>
<style>
.preview float: left;
width: 57px;
</style>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<div class="form-container form-main-bg" style="margin-top:40px;">
<form id="imageform" name="imageform" method="post" enctype="multipart/form-data" action="ajax_upload_profile_image.php">
Upload image <input type="file" name="photoimg" id="photoimg" />
</form>
<div id='preview'>
</div>
<form id="formID" name="formID" method="post" action="edit_profile.php">
<input type="hidden" name="hid_id" id="hid_id" value="<?php echo $_SESSION['UserId']; ?>" />
<div class="row">
<div class="left">About</div>
<div class="right">
<textarea id="about" name="about" id="about"><?php echo $u_data[0]->vCode; ?></textarea>
</div>
<div class="row">
<div class="left">Location</div>
<textarea id="location" name="location"><?php echo $u_data[0]->vCode; ?></textarea> </div>
<div class="row">
<div class="left">Gender</div>
Male <input type="radio" name="gender" id="gender" value="male" />
Female <input type="radio" name="gender" id="gender" value="female" />
<div class="clear"></div>
</div>
<!- Other rows here -->
<div style="text-align:center; margin-top:20px;">
<input name="submit" id="submit" type="submit" class="submit-btn" value="Update" />
</div>
</form>
</div>
ajax_upload_profile_image.php
<?php
session_start();
$session_id= $_SESSION['UserId'];
require_once('includes/config.inc.php');
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
$path = "images/profile/";
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
if(strlen($name))
list($txt, $ext) = explode(".", $name);
if(in_array($ext,$valid_formats))
if($size<(1024*1024)) // Image size max 1 MB
$actual_image_name = time().$session_id.".".$ext;
$tmp = $_FILES['photoimg']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
$query=("UPDATE users SET image='$actual_image_name' WHERE user_id='$session_id'");
$result = mysql_query($query) or die();
if($result)
echo "success";
else
echo "fail";
echo "<img src='images/profile/".$actual_image_name."' class='preview'>";
else
echo "failed";
else
echo "Image file size max 1 MB";
else
echo "Invalid file format..";
else
echo "Please select image..!";
exit;
?>
以下代码不起作用。使用表单操作将数据直接发送到 php 脚本时会更新数据库,但是通过 AJAX 函数将数据发送到 php 脚本时,数据库不会更新,但我会收到成功消息。
【问题讨论】:
【参考方案1】:.ajaxForm插件中的默认类型是GET。
在选项中添加type:"POST"
键。
【讨论】:
【参考方案2】:尝试将session_start();
移动到index.php
【讨论】:
我正在尝试但未修复以上是关于不使用ajax更新php中的数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery Ajax 和 PHP 更新 SQL 数据库
使用 ajax、jquery 和 PHP 从数据库更新图像不起作用
内联可编辑行以使用 ajax php 更新数据库 mysql 中的每个记录