PHP-MySQLメッセージシステム

私はいくつかのサイトを作成し、今ではメッセージシステムを作成します。そのために、mysql inbox_msgベース(from、件名、日付、時刻、メッセージ、file1、file2、file3、未読)を作成します。 そして、今私は知らない、どのようにPHPスクリプトを作成してメッセージを出力するのか。 これは次のようになります:

<?
session_start();
$user = $_SESSION['login'];
$mysql_connect = mysql_connect("localhost", "root", "");
$mysql_select_db = mysql_select_db("site");
$sql = "SELECT * FROM `msg_inbox` WHERE `to` = '$user'";
$result = mysql_query($sql) or die(mysql_error());
$sql1 = "
    UPDATE `msg_inbox`
    SET `unread` = 0
    WHERE `to` = '" . mysql_real_escape_string($user) . "'
  ";
$result1 = mysql_query($sql1) or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
        
From: <?= $row['from'] ?>
Date: <?= $row['date'] ?> at <?= $row['time'] ?>

<?= $row['message'] ?>

} ?>

しかし、それは良いことではありません:私は、削除ボタンなどを追加する問題があります。手伝って頂けますか? ありがとうございました!

1
省略形のPHPタグ(「<?」と「<?=」)は、すべてのサーバで機能しないため、一般的には使用しないでください。このコードをリリースするか、別のサーバーに展開する予定がある場合は、 "<?php"に固執することをお勧めします。 "<?" "<?php"は特にPHP用ですが、他の言語でも使用されています(間違ったインタプリタで読み込まれる可能性があります)。また、あなたの人生をより簡単にするために、データベース接続にPDOを使用する方法を検討します。
追加された 著者 Mr_Chimp,

1 答え

まず、whileループ内のコードは有効なPHPではないので、スクリプトは確実に投稿として実行されません。あなたがする必要があるのは、そのコードをPHP以外のもの(つまり、whileループの後にPHPスクリプトタグを閉じ、whileの前に再オープンするHTMLマークアップ)としてマークするか、 echo 関数を使用します。

echoを使ってwhileループを書き直す方法は次のとおりです:

while ($row = mysql_fetch_array($result)) {
   echo("
From: ".$row['from']."
"); echo("Date: ".$row['date']." at ".$row['time']."

"); echo($row['message']); echo("

"); }

削除ボタンまでは、それをsubmit型のHTML入力要素としてページに追加し、HTML form 要素の中に配置することができます。ユーザーがボタンをクリックすると、フォームは form 要素に置かれた method 属性に応じてHTTP POSTまたはGETを実行します。 POSTまたはGETするページは action という form 要素の別の属性によって制御されます。

ここに例があります:

 <form id='frmMessageView' name='frmMessageView' method='POST' action='delete_message_script.php'>
     <input id='btnDelete' name='btnDelete' type='submit' value='Delete Message' />
 </form>

上記の例では、ユーザーが「メッセージの削除」というボタンをクリックすると、ブラウザはdelete_message_script.phpスクリプトに対するPOST HTTPリクエストを実行します。

HTMLフォーム要素とフォームがどのように機能するか(POSTとGETリクエストの違い、リクエスト変数、入力要素の種類の違い、PHPがHTTPリクエストを処理する方法についての記事を読むことができます)変数)。フォームに投稿されたPHPスクリプトでは、ユーザーがクリックするためにクリックしたボタン(複数ある場合)と、削除する必要のあるメッセージを追跡する必要がある場合があります。

最後に、考えを得たら、ポストバック形式を読んでください。これは、同じページ(スクリプト)にポストバックするメカニズムです。

2
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com