更新到数据库后,PHP行会下降

时间:2013-09-12 18:33:17

标签: php html

因此,如果我在文本框中键入文本,那么我按下提交按钮,将数据发送到update.php,update.php将数据发送到我的数据库,然后update.php重定向回edit.php和文本框全文已经下降,任何想法?

Edit.php

<html>
<head></head>
<body>

<form method="post" action="update.php">

    Meist<br>
    <textarea style="resize:none" cols="100" rows="10" method="post" type="text" id="meist" name="meist"><?php

        include_once("connect.php");

        $sql = 'SELECT meist FROM content WHERE id=1';

        mysql_select_db('fava');
        $retval = mysql_query( $sql, $conn );
        if(! $retval )
        {
          die('Could not get data: ' . mysql_error());
        }
        while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
        {
            echo    "{$row['meist']}";
        } 
        mysql_close($conn);

        ?>
        </textarea><br>
    <input type="submit" value="salvesta"/>
</form>
</body>
</html>

update.php

<?php
// configuration
$dbhost     = "localhost";
$dbname     = "fava";
$dbuser     = "root";
$dbpass     = "";

// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);

// new data
$meist =$_POST["meist"];
$id = 1;
// query
$sql = "UPDATE content SET meist=? WHERE id=?";
$q = $conn->prepare($sql);
$q->execute(array($meist,$id));
echo "Edukalt salvestatud";
header('Refresh: 2; URL=http://localhost/php_sandbox/edit.php');



?>

如果有任何问题,那么拍摄,因为它很难解释。

1 个答案:

答案 0 :(得分:1)

对于初学者来说,获取内容区域的所有PHP代码。由于您包含了connect.php文件,因此它实际上将connect.php的内容放在textarea项中。如果connect.php中有新的行字符,就像在文件的末尾一样,它将在textarea输入中创建一个空行。

<html>
<head></head>
<body>
    <?php

    include_once("connect.php");

    $sql = 'SELECT meist FROM content WHERE id=1';
    $text = '';

    mysql_select_db('fava');
    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
      die('Could not get data: ' . mysql_error());
    }
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
    {
        $text .= "{$row['meist']}";
    } 
    mysql_close($conn);

    ?>

    <form method="post" action="update.php">

    Meist<br>
    <textarea style="resize:none" cols="100" rows="10" method="post" type="text" id="meist" name="meist">
        <?php echo $text; ?>
    </textarea><br>
    <input type="submit" value="salvesta"/>
    </form>
</body>
</html>

请注意,我创建了一个空白的$ text变量,并在字段中填入了您想要的数据,当所有工作完成后,我们只回显内容中的该项。

这会清理代码,清楚地说明你在做什么,并确保在你不想要它们的地方植入流浪的新行字符。