1

それが私がこのウェブサイトで初めての方法です。私がここで非常に新しいので、何かをする必要があるかどうか教えていただければ、とても助かります..

私が自分のウェブサイトで問題を抱えているのはヘッダーであり、はい、何らかの方法で上がらないという2番目のエラーです。

私は本当に 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>

しかし、ここでは送信ボタンをクリックしませんでした

エラーはここにあります

警告: ヘッダー情報を変更できません - 50 行目の /home/jesperbo/public_html/xx.dk/bruger_forum_opretindhold.php の (/home/jesperbo/public_html/xx.dk/bruger_forum_opretindhold.php:26 で開始された出力) によって既に送信されたヘッダー

私もこの方法でやろうとしましたが、エラーも発生します。

私はここでアガニを試します:)

<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');

データベースに情報を送信したときに最初に表示したいのは、フォーラムページに「ジャンプ」するだけです.. URLを作成します。htaccess

何かあればお気軽にお尋ねください。しかし、私が言ったように、私はデンマーク出身で、英語がまったく得意ではありません。

見てくれてありがとう!!

4

2 に答える 2

1

エラーは、ブラウザに入力を送信した後にヘッダーを設定しようとしていることです。リダイレクトする場合は、コードを先頭に移動して、header('location:...);何かの前に送信することができます。

または次のようなものを使用しますecho "<script>window.location = 'yourURL'</script>"

そして致命的なエラー、それはあなたのオブジェクトが作成されていないためです。

于 2012-06-18T16:25:01.397 に答える
1

まず、ヘッダーに書き込む場合は、他のものが出力される前に行う必要があります。この場合、<form>ページの上部にあるタグが原因で失敗しています。タグをタグのすぐ上に移動すると、うまくいく<table>はずです。

次に、Fatal Errorこのメッセージは、データベース接続が機能していないことを意味します。どこで定義します$mysqliか? 必要な情報がすべて正しいと確信していますか? 接続コードの周りに小さなデバッグ情報を追加して、どこが失敗しているかを確認してください。

于 2012-06-18T16:22:41.660 に答える