在DIV中显示回声

时间:2013-09-15 12:35:17

标签: php html echo

我有一个非常讨厌的问题,我不知道我做错了什么。它(再次)与将页面加载到DIV中有关。

我制作了一个可用于将信息更新到数据库的表单。此表单和PHP代码在一个文件中,并在一个DIV中加载。当我访问加载到DIV本身的页面时,一切正常,数据库正在按原样更新。

但是,当页面加载到页面中时。当我按提交时没有任何反应。我想要发生的是回声,这是“成功!”或“错误!”正在加载页面时显示在相同的DIV中。这是我的代码,希望有人能帮忙! 一些变量是荷兰语,请原谅。

 if(isset($_POST['submit']))  {

                     include "database.php";
                     session_start();

                     $id = $_POST['id'];
                     $titel = $_POST['titel'];
                     $text = $_POST['text'];
                     $categorie = $_POST['categorie'];
                     $auteur = $_SESSION['sess_loginnaam'];
                     $laatst_aangepast = date("Y-m-d H:i:s");

                     $sql="UPDATE paginas SET id='$id', titel='$titel', text='$text', categorie='$categorie', auteur='$auteur', laatst_aangepast='$laatst_aangepast' WHERE id='$id'";
                     $result=mysql_query($sql);
                     if($result){
                     echo "Success!";
                     ?>
                     <META HTTP-EQUIV="refresh" content="2;URL=index.php">
                      <?php }
                     else {
                         echo "Mislukt!";
                     }
                 }

                 else {

                     include "database.php";
                     $id = $_GET['id'];
                     $sql="SELECT * FROM paginas WHERE id='$id'";
                     $result=mysql_query($sql);
                     $rows=mysql_fetch_array($result);

                     <form name="form1" method="post" action="">
                     ID:
                     <input name="id" type="text" id="id" value="<? echo $rows['ID']; ?>"     size="2"></div> Titel:
                     <input name="titel" type="text" id="titel" value="<? echo $rows['titel']; ?>" size="50%"> Categorie: <select name="categorie"><option    value="Paginas">Pagina's</option>
                     </select>
                     Tekst:
                     <textarea name="text" type="text" id="text" rows="31" cols="79"><?                echo $rows['text']; ? ></textarea>
                     <button type="submit" name="submit">Edit!</button>
                     </form>

以下是我用来将此页面加载到DIV中的代码:

$("#edit").on('click',function(){
$('#content').load($(this).attr('href'));
  });

那么我怎样才能设法将回声显示在同一个DIV中? :)

1 个答案:

答案 0 :(得分:0)

$.load相当于$.get,而您的php代码检测到$_POST,这就是没有响应。

您可以将您的js代码更改为

$("#edit").on('click',function(){
    $.post($(this).attr('href'), YOUR_FORM_DATA_HERE, function(data){
        //update your page here with response
    });
});

See $.load - jQuery Doc