2016-12-19 192 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 
} 
?> 

的问题是,代码点击提交按钮(或者我满山遍野或不)后不发送任何电子邮件和浏览器(Chrome)返回一个空(新)的形式。

+0

您的按钮名称是'Submit'并且在您的php代码中您正在检查'submit'而不是'Submit' –

回答

2

更换

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

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

以及我不认为它的区分大小写 – Jigar7521

+0

非常感谢! –

0

你只能检查 - 如果(isset($ _ POST [ '提交']))。你不想检查!空。

在您的输入标签中,您已经为name =“Submit”提供了name属性。

所以,使用$ _ 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如果您决定在网站中添加任何表格,可能会导致未来问题。

相关问题