Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面更新后获取更改的数据_Javascript_Php_Jquery_Html_Mysql - Fatal编程技术网

Javascript 在页面更新后获取更改的数据

Javascript 在页面更新后获取更改的数据,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,提交更新按钮时,将调用函数edit\u page()。此函数使用输入的新数据更改数据库表行。 这可以很好地工作,正确地修改表格条目是可以的。 但问题是,当提交更新按钮时 1.已正确插入或更改数据库条目。 2.但当页面重新加载时,此更新页面的内容仍与前端更新之前或提交之后的内容相同。 我的代码: <?php function edit_page() { add_cat(); global $page_id; ?> <?php if (isset($_GET['page_ac

提交更新按钮时,将调用函数
edit\u page()
。此函数使用输入的新数据更改数据库表行。
这可以很好地工作,正确地修改表格条目是可以的。
但问题是,当提交更新按钮时
1.已正确插入或更改数据库条目。
2.但当页面重新加载时,此更新页面的内容仍与前端更新之前或提交之后的内容相同。

我的代码:

<?php

function edit_page()
{
add_cat();
global $page_id; 
?>
<?php
if (isset($_GET['page_action']) && ($_GET['page_action'] == 'edit'))
    {
    $page_id = $_GET['post'];
    } 
?>
<?php
$page_id = $_GET['post'];
$result = mysql_query("SELECT * FROM pages WHERE page_id = '$page_id'"); //execute the SQL query and return records
$row = mysql_fetch_array($result);
$page_title = $row['page_title'];
$page_content = $row['page_content']; 
?>
<form  method="post" action="" name="edit_page" class="edit_page">
<h4>Page Title:</h4> <input type="text" name="title" class="title" placeholder="Add title of the Page" required value="<?php echo  $page_title;?>"/><br/>
<h4>Page Content:</h4><br/> 
<textarea cols="80" id="content" name="content" rows="10"><?php echo $page_content;?></textarea>
<input type="hidden" name="page_edits" value="yes" />   
<input type="submit" name="edit_page"  class="button" value="Update"/>

<?php
save_edits(); }

function save_edits()
    {
if (isset($_POST['edit_page']) && $_POST['page_edits'])
    {
    $page_id = $_GET['post'];
    $page_id = $_GET['post'];
    $page_title = $_POST['title'];
    $page_content = $_POST['content'];
    $date = date('Y-m-d h:i');
    $query = "UPDATE pages SET page_title='$page_title', page_content='$page_content', date_gmt='$date' WHERE page_id = '$page_id'";
    $result = mysql_query($query) or die("Unable to create Page: " . mysql_error());
    }
}
?>
<div class="right_sidebar">
<?php edit_page();?></div>


在这里,您正在以过程的方式进行PHP。这意味着语句会一个接一个地执行,所以问题在于您放置语句的方式

在您的代码中,您首先显示表单,然后才更新它,所以这就是为什么之前的值会被获取,尽管更新只在稍后发生

解决方案:函数
save\u edits()
及其调用应首先调用
edit\u page()。

另一个关于安全性的重要问题是,直接插入从地址栏获得的值。现在的情况是,有人可以在一张纸上写下你的整张桌子。您可以使用
mysql\u real\u escape\u string()
来防止它(虽然不是完全),或者更好:

。它们不再得到维护。看到了吗?相反,学习,并使用,或-将帮助您决定哪一个。如果您选择PDO


最后,您没有关闭您的
标记。

好的,我正在尝试在我的代码中关闭您的代码标记。实际上,我在这里只粘贴了所需的代码,其他我删除的代码,因此可能会在此处出现打字错误。我从未想过您的声明会起作用。谢谢@i Can have Kittenz,这是我的管理面板,而不是前端。稍后我将寻求实现您的其他建议。您应该在加载页面内容之前保存更改。