随着启动发送到数据库

时间:2012-06-18 16:15:05

标签: php mysqli

这就是我在网站上的新手,所以如果你告诉我是否需要做某事我会很高兴,因为我在这里很新...

我的网站有什么问题它是标题,是第二个错误,我不会以某种方式上升。

我是如何构建自己的论坛的,因为我真的不想花费phpbbforum或它说的话。这就是我尝试使用PHP代码使用相同的html,并且它在某种程度上根本不起作用。

我在这里试试:

<form action="#" method="post">

        <?php
            if($stmt = $mysqli->prepare("INSERT INTO `forum_traede` (`kategori_id`, `titel`, `bruger_id`, `dato`, `tekst`) VALUES (?, ?, ?, NOW(), ?)"))
            {
                $stmt->bind_param('ssss', $kategori, $titel, $bruger_id, $tekst);
                $kategori = $_POST["kategori"];
                $titel = $_POST["titel"];
                $bruger_id = $_SESSION["user_id"];
                $tekst = $_POST["tekst_2"];

                $stmt->execute();
                $stmt->close();

                header ('Location: ./bruger-forum');
            }
            else
            {
                echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
            }
        ?>
            <table border="0">
                <tr>
                    <td id="tb-w_a"><p>Titel</p></td>
                    <td>:</td>
                    <td><input type="text" name="titel"></td>
                </tr>
                <tr>
                    <td id="tb-w_a"><p>Kategori</p></td>
                    <td>:</td>
                    <td>
                    <select name="kategori">
                    <?php
                    $query = "SELECT id, beskrivelse FROM forum_kategorier";
                    $result = $mysqli->query($query);
                    while(list($id_katogori, $beskrivelse) = $result->fetch_row())
                    {
                        echo "<option value=\"$id_katogori\">$beskrivelse</option>";  
                    }
                    ?>
                    </select>
                    </td>
                </tr>
            </table>
        <textarea name="tekst_2" style="width:500px; height:170px;"></textarea><br />
        <input type="submit" value="Opret indhold" name="godkendt_indhold">
    </form>

但是我没有点击提交按钮

错误在这里

  

警告:无法修改标题信息 - 已经发送的标题(/home/jesperbo/public_html/xx.dk/bruger_forum_opretindhold.php:26中的输出)/home/jesperbo/public_html/xx.dk/bruger_forum_opretindhold.php第50行

我也尝试这样做,但也有错误。

我在这里尝试agani:)

<form action="http://xxx.dk/bruger-forum-godkendt/" method="post">
            <table border="0">
                <tr>
                    <td id="tb-w_a"><p>Titel</p></td>
                    <td>:</td>
                    <td><input type="text" name="titel"></td>
                </tr>
                <tr>
                    <td id="tb-w_a"><p>Kategori</p></td>
                    <td>:</td>
                    <td>
                    <select name="kategori">
                    <?php
                    $query = "SELECT id, beskrivelse FROM forum_kategorier";
                    $result = $mysqli->query($query);
                    while(list($id_katogori, $beskrivelse) = $result->fetch_row())
                    {
                        echo "<option value=\"$id_katogori\">$beskrivelse</option>";  
                    }
                    ?>
                    </select>
                    </td>
                </tr>
            </table>
        <textarea name="tekst_2" style="width:500px; height:170px;"></textarea><br />
        <input type="submit" value="Opret indhold" name="godkendt_indhold">
    </form>

在此处发送信息

<?php
            if($stmt = $mysqli->prepare("INSERT INTO `forum_traede` (`kategori_id`, `titel`, `bruger_id`, `dato`, `tekst`) VALUES (?, ?, ?, NOW(), ?)"))
            {
                $stmt->bind_param('ssss', $kategori, $titel, $bruger_id, $tekst);
                $kategori = $_POST["kategori"];
                $titel = $_POST["titel"];
                $bruger_id = $_SESSION["user_id"];
                $tekst = $_POST["tekst_2"];

                $stmt->execute();
                $stmt->close();

                header ('Location: ../bruger-forum');
            }
            else
            {
                echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
            }
        ?>

错误在这里! 致命错误:在第2行的/home/jesperbo/public_html/xxx.dk/bruger_forum_opretindhold_godkendt.php中调用非对象的成员函数prepare()

我试过

header ('Location: http://xxx.dk/bruger-forum/');

header ('Location: ../bruger-forum');

我向你展示的第一件事就是当它向数据库发送信息然后它应该只是跳过&#34;回到论坛页面..我建立了我的网址。 htaccess的

随意询问是否有什么,但正如我所说,我来自丹麦,不是最好的英语

谢谢你看!!

2 个答案:

答案 0 :(得分:1)

首先,如果您正在写入标题,则需要在输出任何其他内容之前。在这种情况下,由于页面顶部的<form>标记,它失败了 - 如果您将其移到<table>标记的正上方,那应该会有所帮助。

其次,您的Fatal Error消息表示您的数据库连接不起作用;您在哪里定义$mysqli?您确定所需的所有信息都是正确的吗?尝试在连接代码周围添加一些调试信息,以查看它的失败位置。

答案 1 :(得分:1)

错误是您在向浏览器发送一些输入后试图设置标头。 如果你想重定向,你可以将代码移到开头,然后发送header('location:...);之前的任何内容。

或使用类似echo "<script>window.location = 'yourURL'</script>"

的内容

和致命错误,因为你的对象没有被创建。