需要使用AJAX发送帖子并在另一页上接收POST

时间:2016-08-18 09:19:56

标签: php ajax post

我之前有过这个工作,但我必须改变一些东西,而不是确定我改变了什么,因为代码对我来说很好但是嘿,从其他人的角度来看,发现问题会更容易。

我正在尝试编辑表格中连接到我的表格的信息。单击该行中的文本时,该信息是可编辑的。当他们点击文本区域外的任何地方时,它会执行命令并转到我的另一个文件,该文件接收任何帖子发送我的第一个主页面。

这是我的代码:

主要索引页面(AJAX)

        function showEdit(editableObj) {
            $(editableObj).css("background","#FFF");
        } 

        function saveToDatabase(editableObj,column,id) {
            $(editableObj).css("background","#FFF url(loaderIcon.gif) no-repeat right");
            $.ajax({
                url: "includes/saveedit_members.php",
                type: "POST",
                data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
                success: function(data){
                    $(editableObj).css("background","#FDFDFD");
                    window.location.replace("admin_members.php");
                }        
           });
        }

主要索引页面(HTML)

<tbody>

<?php
foreach($faq as $k=>$v) {
?>
<tr class="table-row" style="text-align: left;" id="no_enter">
<td style="font-size: 11px;"><input type="checkbox" name="checked_id[]" class="checkbox" value="<?php echo $faq[$k]["id"]; ?>"></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'username','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["username"] != '' ? $faq[$k]["username"] : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'email','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["email"] != '' ? $faq[$k]["email"] : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'cpukey','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["cpukey"] != '' ? $faq[$k]["cpukey"] : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'ip','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["ip"] != '' ? $faq[$k]["ip"] : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'time','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["time"] != '' ? $faq[$k]["time"] : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'enabled','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["enabled"]  == 1 ? 'Yes' : 'No'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'activ_status','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["activ_status"]  == 1 ? 'Yes' : 'No'; ?></td>
<td style="font-size: 11px;" contenteditable="false" onBlur="saveToDatabase(this,'profile_picture','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["profile_picture"] != '' ? '<img src="'.$faq[$k]["profile_picture"].'" style="height: 20px; width: 20px;">' : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'userLevel','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo ($faq[$k]["userLevel"] == 1 ? '<img src="images/member_rank.png" style="height: 18px; width: 18px;" > Member' : ($faq[$k]["userLevel"] == 2 ? '<img src="images/staff_rank.png" style="height: 20px; width: 20px;"> Staff' : ($faq[$k]["userLevel"] == 3 ? '<img src="images/admin_rank.png" style="height: 20px; width: 20px;"> Admin' : 'Unknown'))) ?></td>
<td style="font-size: 11px;" contenteditable="false" onBlur="saveToDatabase(this,'register_time','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["register_time"] != '' ? $faq[$k]["register_time"] : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'account_credits','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo $faq[$k]["account_credits"] != '' ? number_format($faq[$k]["account_credits"], 2, '.', '') : 'None'; ?></td>
<td style="font-size: 11px;" contenteditable="true" onBlur="saveToDatabase(this,'free_gifted_credits','<?php echo $faq[$k]["id"]; ?>')" onClick="showEdit(this);"><?php echo number_format($faq[$k]["free_gifted_credits"], 2, '.', '') != '' ? number_format($faq[$k]["free_gifted_credits"], 2, '.', '') : 'None'; ?></td>
</tr>
<?php
}
?>

</tbody>

然后是我收到代码的页面(saveedit_members.php)

<?php

if(!isset($POST['column']) || $_POST["editval"] || $_POST["id"]) {
    header('Location: error-pages/index.php');
} else if(isset($POST['column']) & $_POST["editval"] & $_POST["id"]) {
    include_once('../configuration/db.php');
    $result = mysqli_query($con, "UPDATE users set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE  id=".$_POST["id"]);
}

&GT;

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

1)更改

if(!isset($POST['column']) || $_POST["editval"] || $_POST["id"]) {

if(!isset($_POST['column']) || !isset($_POST["editval"]) || !isset($_POST["id"])) {

2)更改

else if(isset($POST['column']) & $_POST["editval"] & $_POST["id"]) {

else if(isset($_POST['column']) && isset($_POST["editval"]) && isset($_POST["id"])) {

更新代码

<?php
if(!isset($_POST['column']) || !isset($_POST["editval"]) || !isset($_POST["id"])) {
    header('Location: error-pages/index.php');
} else if(isset($_POST['column']) && isset($_POST["editval"]) && isset($_POST["id"])) {
    include_once('../configuration/db.php');
    $result = mysqli_query($con, "UPDATE users set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE  id=".$_POST["id"]);
}
?>