SQL更新后的PHP textarea刷新并显示文本

时间:2015-10-21 00:59:49

标签: php

我的代码出了问题。我使用textarea来更新我的数据库。当我保存更改时,页面会刷新并显示预编辑的文本。

在搜索线程2小时后,是时候问一个愚蠢的问题......

我试过

    header('Location: ./kommers_edit.php');  

它有效,但不是我需要的方式。

我需要传递我的id变量(我现在使用表单)来获取内容并显示文本被编辑的消息。

我想到了一个额外页面,以显示已编辑的文字和信息...是否有更“优雅”,也许并不复杂的方式来做这个?

    if (isset ($_GET['aktion']))
{
    if ($_GET['aktion'] == "speichern" )
{
    $liedtitel      = $_GET['liedtitel'];
    $liedtext       = $_GET['liedtext'];
    $id             = $_GET['id'];

    $liedtitel_html= nl2br ($liedtitel,true);
    $liedtext_html= nl2br ($liedtext,true);

    $sql  = "UPDATE kommersbuch SET liedtitel='$liedtitel_html',liedtext='$liedtext_html' WHERE id='$id'";

    require_once ('config.php');
    $db_data = mysql_query($sql)
    or die("Anfrage fehlgeschlagen: " . mysql_error());

    echo '<h2>Lied wurde geändert</h2>';
    echo '<a href="kommers.php">zurück zum Kommersbuch</a>';
    //header('Location: ./kommers_edit.php');    
    exit;

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

尝试使用

header('Location: ./kommers_edit.php?id=$id');
之后, 在kommers_edit.php中,创建一个获取id的脚本

答案 1 :(得分:0)

您有一个表单,该表单与表单数据的表单发布到同一页面。如果页面捕获表单帖子,它将更新数据库中的表单。

由于这是更新,我可以假设此条目已存在吗?

所以我想你在提交之前有一个选择来填充表格数据?只需确保在更新后再次运行它。 ID不会改变。

大致是:

<?php
if($_POST['action'] = "submission"){
    $sql = "UPDATE...."
    $r = mysqli_query($con, $sql);
    // do your request & validtion, make sure it works.
}
$sql = "SELECT * ...."
$r = mysqli_query($con, $sql);
// Do your request & validation, make sure it worked

?>
<form action ="" method="POST">
   <input value="<?php echo $result['colname'];?> name="colname">
   <textarea name="textname"><?php echo $result['textname']; ?></textarea>
   <input type="hidden" name="action" value="submit">
   <input type="submit" name="submit">
</form>

这样,首先填充表单的选择将使用刚进入数据库的内容重新填充它。

现在,如果您想要在验证错误的情况下,使用已发送的内容(但不在数据库中)填充字段,只需将发送的值分配给$ request [&#39; sentvaluename&#39; ]并停止发生SELECT查询。