2016-12-19 27 views
0

私はPHPを学んでいます。初心者です。私が従うチュートリアルのコードは以下の通りです。

<?php 
     if (isset($_POST['submit']) && (!empty($_POST['submit']))) { 
      $from = 'Alexey Pazukhin ([email protected])'; 
      $subject = $_POST['subject']; 
      $text = $_POST['elvismail']; 
      $output_form = FALSE; 
       if (empty($subject) && empty($text)){ 
       echo 'Subject and text fields are empty. <br/>'; 
       $output_form = TRUE; 
       } 
       if (empty($subject) && (!empty($text))) { 
       echo 'Subject field is empty. <br/>'; 
       $output_form = TRUE; 
       } 
       if ((!empty($subject)) && empty($text)) { 
       echo 'Text field is empty. <br/>'; 
       $output_form = true; 
       } 
       if((!empty($subject)) && (!empty($text))){ 

       $dbc = mysqli_connect('localhost', 'root', 'root', 'elvis_store') 
     or die ('Connection failed. MySQL'); 
       $query = "SELECT * FROM email_list"; 
       $result = mysqli_query($dbc, $query) 
     or die('DB query error'); 
       while ($row = mysqli_fetch_array($result)) { 
       $first_name = $row['first_name']; 
       $last_name = $row['last_name']; 
       $msg = "Dear $first_name $last_name, \n $text"; 
       $to = $row['email']; 
       mail($to, $subject, $msg, 'From:' . $from); 
       echo 'Message sent:' . $to . '<br/>'; 
       } 
       mysqli_close($dbc); 
       } 
      } 
     else { 
      $output_form = TRUE; 
     } 

     if ($output_form) { 
     ?> 
     <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> 
     <label for="subject">Subject of email:</label><br /> 
     <input id="subject" name="subject" type="text" value="<?php echo $subject; ?>" size="30" /><br /> 
     <label for="elvismail">Body of email:</label><br /> 
     <textarea id="elvismail" name="elvismail" rows="8" cols="40"><?php echo $text; ?></textarea><br /> 
     <input type="submit" name="Submit" value="Submit" /> 
    </form> 
<?php 
} 
?> 

問題は(どちらかのIフィールドを埋めたりしないでください)Submitボタンをクリックした後、任意のメールを送信しないコードで、ブラウザ(クローム)に空(新しい)フォームを返します。

+0

あなたのボタン名は 'Submit'で、あなたのPHPコードでは' submit'ではなく 'submit'をチェックしています –

答えて

2

<input type="submit" name="submit" value="submit" /> 
+0

私はその大文字と小文字を区別しないと思います – Jigar7521

+0

ありがとう! –

0

<input type="submit" name="Submit" value="Submit" /> 

を交換してあなただけ確認することができます - (ISSET($ _ POST [ '送信']))場合。あなたはチェックしたくない!空!

入力タグには、name = "Submit"という名前属性を指定しました。そう

、[ '提出'] [ '送信']の代わりに$ _POSTの

を$ _POSTを使用

ポスト変数は大文字と小文字が区別されますので。

0

私はif (isset($_POST['Submit'))

if (isset($_POST['sendIt'))にを変更したいし、私はに <input type="submit" name="Submit" value="Submit" />

を変更したい:あなたのフォームがそれ自身のユニークな送信値を持っているのではなく、この方法を

<input type="submit" name="sendIt" value="Submit" />

bogの標準submitは、Webサイトにフォームを追加することを決定した場合に、将来の問題につながる可能性があります。

関連する問題