-3

お問い合わせフォーム contact.php を作成しました。値を send_contact.php に送信し、入力を処理します

しかし、何が起こっているのかというと、送信ボタンを押した後、 send_contact.php ファイルがブラウザに表示されます

contact.php

  <table width="300" border="0" align="left" cellpadding="0" cellspacing="1">
    <tr>
      <td>
        <form target="_blank" name="form1" method="post" action="send_contact.php" id="form1">
          <table width="100%" border="0" cellspacing="1" cellpadding="3">
            <tr>
              <td width="16%">Subject</td>

              <td width="2%">:</td>

              <td width="82%"><input name="subject" type="text" id="subject" size="30" /></td>
            </tr>

            <tr>
              <td>Detail</td>

              <td>:</td>

              <td>
              <textarea name="detail" cols="24" rows="4" id="detail">
              </textarea></td>
            </tr>

            <tr>
              <td>Name</td>

              <td>:</td>

              <td><input name="name" type="text" id="name" size="30" /></td>
            </tr>

            <tr>
              <td>Email</td>

              <td>:</td>

              <td><input name="customer_mail" type="text" id="customer_mail" size="30" /></td>
            </tr>

            <tr>
              <td></td>

              <td></td>

              <td><input type="submit" name="Submit" value="Submit" /><input type="reset" name="Submit2" value="Reset" /></td>
            </tr>
          </table>
        </form>
      </td>
    </tr>
  </table>

send_contact.php

<?php

    // Contact subject
    $subject ="$subject"; 

    // Details
    $message="$detail";

    // Mail of sender
    $mail_from="$customer_mail"; 

    // From 
    $header="from: $name <$mail_from>";

    // Enter your email address
    $to ='abcd@gmail.com';
    $send_contact=mail($to,$subject,$message,$header);

    // Check, if message sent to your email 
    // display message "We've recived your information"
    if($send_contact){
    echo "We've recived your contact information";
    }
    else {
    echo "ERROR";
    }

?>
4

2 に答える 2

3

register globalsに依存しているようです。これは、最近のバージョンの言語から完全に削除された危険な PHP 機能です。

フォームから送信されたデータにアクセスするにはスーパーグローバル配列method="post"を使用する必要があります。$_POST

$subject = $_POST['subject'];
于 2013-08-24T06:15:00.473 に答える
2

たとえば、$_POST から値を取得する必要があります。

$subject ="$subject";

これである必要があります:

$subject =$_POST['subject'];

これは、スーパーグローバル配列 $_POST を使用してフォームから値にアクセスする方法です

于 2013-08-24T06:14:58.840 に答える