ホームページ >バックエンド開発 >PHPチュートリアル >dz3.1 フォーラムにコードを追加すると、ページが空白になります

dz3.1 フォーラムにコードを追加すると、ページが空白になります

WBOY
WBOYオリジナル
2016-06-23 13:55:24911ブラウズ

sourcemoduleforumforum_forumdisplay.php を追加します

$query = $db->query("select * from bbs_forum_post where tid ='$tid' ");while($result = $db->fetch_array($query)) {      $mythread[] = $result;}

forumdisplay_list.htm テンプレート ファイルの下に追加します
5c8d35814a80dda90c2994d799e5fbae . ->

ウェブサイトのページが空白です、何が起こっていますか?


ディスカッションに返信 (解決策)

プログラムを変更することができます、それをデバッグする方法がわかりませんか?

エラーメッセージも出ず、どこにエラーがあるのか​​分かりません

空白だと500エラーではないでしょうか?

プログラムを書いているときにこれに遭遇したことはありませんか?

デバッグ時は必ずエラー表示をオンにする必要がありますよね?

Dreamweave を使用しています

何か良いツールはありますか?


メモ帳も使用していますか?

これはプログラムのデバッグと何の関係がありますか?


心からアドバイスをお願いします: 私はプログラムを体系的にデバッグする方法を学んだことがありません

1. エラー ログを開いて表示します

2。関連する変数を出力して、どの行にエラーが発生したかを確認します

目視検査 $ db は存在しません。dx3 は将来この書き込み方法をサポートしません

1. エラー ログを開いて表示します

2. 関連する変数を出力します。どの行にエラーが発生しているかを確認してください

目視検査 $db は存在しません。dx3 は今後これをサポートしません 書き方

今どのように書くべきですか

<?$result=mysql_query("SELECT * FROM `bbs_forum_post` where tid ='$tid'");while($row=mysql_fetch_array($result)){?><?=$row[message]?><?}?>
私のこのコードはスタンドアロン ページで実行できますですが、テンプレート ページに追加すると空白になります。何が起こっているのでしょうか?


discuz には、多くのメソッドをカプセル化する独自のデータベース クラスがあり、セキュリティ フィルタリングも含まれています

$query = $db->query("select * from bbs_forum_post where tid ='$tid' ");
while($result = $db->fetch_array($query)) {
$mythread [] = $result;
}

段落を

$tid に変更します= intval($tid);
$mythread = DB::fetch_all('select * from '.DB::table('forum_post') .'where tid = $tid');

10 階のコードは次のとおりです。間違っています

最後の$tidを含むシングルクォーテーションマークをダブルクォーテーションマークに変更しました

wander_windさん、ありがとうございます

これで完了ですが、 $tid =$_GET['tid' ];これには価値がありません

欲しいです各投稿の tid を取得する方法

または両方
$mythread = DB::fetch_all('select * from '.DB ::table('forum_post').' where tid = $tid');
この文をテンプレートに直接追加できますか? 追加できればもっと簡単です
間違った $tid = intval($tid); を書きました。

$tid =$_GET['tid']; を変更しました



ありがとう、wander_wind

修正しましたが、 $tid =$_GET['tid']; はできません値を取得します


リスト ページの各投稿の下に表示したいです。 各投稿の tid を取得する方法

または両方
$mythread = DB::fetch_all('select * from '.DB:: table( 'forum_post').' where tid = $tid');
この文をテンプレートに直接追加できますか?


直接追加できます。テンプレートに追加します

< ;!--{eval $mythread = DB::fetch_all('select * from '.DB::table('forum_post')." where tid = $tid");}--> eval は php を直接実行するためのタグです

これを forum_forumdisplay.php に追加できます
テンプレートによって呼び出される投稿リストは、テンプレートのコードを導入する前に、$_G['forum_threadlist'] の最後にあります。 、このリスト変数を走査するだけです。 ." where tid = $tid" );}-->
それも機能しません

forum_forumdisplay.php
このファイルの下にタイトル件名を追加する方法が見つかりません。 tid を個別に見つける必要はありません

存在しないメソッドがいくつかあるかもしれません

dz のテンプレートは非常に乱雑です、どの位置がターゲットであるか確認できますか? e388a4556c0f65e1904146cc1a846bee1111111194b3e26ee717c64999d7867364b1b4a3と書くだけで表示されますか?
うまくいかない場合は15階と同じ方法を試してください

a79f653fcb69e015c8424bb3c322264e

ここに tid前のものを直接書くことで表示できます

ec5dbfd44c4dc1aa87dc17cae2f9d4bb

ここでの tid は直接記述することで表示できます



つまり、コードが正しいかどうかを確認するか、$thread[tid] をエコーするか、$tid= を使用してください。それを受け取って eval に入れて再試行してください
今日はずっと密かに csdn の作業をしていて、仕事を終えるまでまだ 30 分あります。退屈な作業の進捗状況を見てみたいと思います
。兄さん、自分で方法を考えてください

ありがとうございます
$thread[tid] を < ;!--{eva inside

わかりました、ありがとうございます


出力できれば良いのですがここに直接

まだメモ帳を使用していますか?
これはプログラムのデバッグと何の関係がありますか?


基本さえ理解していない場合は、答える必要はありません。感情の無駄
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。