0

コードは機能していますが、ID「addmsg」の未定義のインデックスをまだ受け取ります

     <?php
     $addmsg=$_GET["addmsg"];
     if (isset($addmsg)) // If the user wants to add a Message
     { 
     ?>

これは、テキストエリアと送信ボタンのコードです。

    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
    <p>Post your Message:<br />
    <textarea name="msg" rows="10" cols="70" wrap></textarea><br />
    <input type="submit" name="smtmsg" value="SUBMIT" /></p>
    </form>

最後に、このコードはMysqlデータベースに接続するためのものです

    $url = $_SERVER['PHP_SELF'] ."?addmsg=1";
4

5 に答える 5

2

変数を割り当てる前に isset を確認する必要があります。

<?php

     if (isset($_GET["addmsg"])) // If the user wants to add a Message
     { 
          $addmsg=$_GET["addmsg"];
     }
?>

$_POST を使用して、フィールド msg がここで評価されないようにします。$_GET['addmsg'] を $_POST['msg'] に変更するか、フィールド msg を addmsg に変更し、フォーム タイプを "get" に変更します。

于 2012-11-30T19:58:39.140 に答える
0

2 つのエラーがあります。

初め:

メソッドが「post」の場合、変数は $_POST です。

2番:

テキストエリアの名前が「msg」の場合、$_POST["msg"] を実行する必要があります。

もちろん、methos="get" の場合、変数は $_GET["msg"] です。

于 2012-11-30T20:01:11.087 に答える
0

フォームは に送信されて<?php echo $_SERVER['PHP_SELF'];?>いるため、サーバー側ではaddmsg$_GETスーパーグローバルにインデックスがありません。

<?php echo $_SERVER['PHP_SELF'] . "?addmsg=1";?>質問の最後の行にあるように、フォーム アクションを変更する必要があります。

于 2012-11-30T19:58:50.487 に答える
0

メッセージは、それが言っていることを正確に意味します。には何も設定されていません$_GET['addmsg']

この場合、2 つの問題があります。フォーム メソッドが に設定されていpostます。したがって、あなたの価値を探す必要があります$_POST

addmsg2 つ目は、実際にフォームに名前付きのフィールドが必要です。フォームのフィールドの名前はmsgです。したがって、値は次のように利用できます$_POST['msg']

于 2012-11-30T19:59:44.707 に答える
0

HTML に「addmsg」という名前のフィールドがありません。あなたが持っている唯一のものは「msg」という名前です。

于 2012-11-30T19:58:47.553 に答える