doubi6215 2017-07-24 13:14
浏览 36
已采纳

如何通过PHP脚本从表单发送多个输入到电子邮件

So I have this little php script which upon form completion sends the information to my email. I was able to make it work with one input, however, when trying to specify 3 different inputs, it won't go through.

I suspect that maybe I'm not specifying the inputs as I should with isset at the beginning of the if statement. I'm very new to php and appreciate all the help I can get, anyway here's the code.

       <?php

    if (isset($_POST['name' && 'emailq' && 'message'])){
  $visitor_name = $_POST['name'];
  $visitor_email = $_POST['emailq'];
  $visitor_message = $_POST['message'];

  $email_from = "LightDesigns";
  $email_subject = "new quot";
  $email_body = "Name: " .$visitor_name."
Email: " .$visitor_email."

" 
 .$visitor_message;

  $to = "stefanvujic576@gmail.com";
  $headers = "From: $email_from 
";
  $headers .= "Reply-To: $visitor_email 
";
  $result = mail($to,$email_subject,$email_body,$headers);
}
?>

<?php
$link_address = 'www.light-designsonline.co.uk';
if ($result){
    echo '<link href="css/phpcss.css" rel="stylesheet">';
    echo "<header></header>";
    echo '<h1>Thank You!</h1>';
    echo "<p>I'll get in contact with you shortly.</p>";

 }else{
    echo '<link href="css/phpcss.css" rel="stylesheet">';
    echo "<header></header>";
  ?>
  }
 <?php
  }
?>

<form action="quotform.php" method="POST" class="quote" name="quot">
        <div>
        <h1>Get a quot</h1>
        <hr align="left" style="width: 82%;">
            <label>Name</label><br>
            <input type="text" placeholder="Name" class="form" autocomplete required name="name">
                </div>
                    <div>
                        <label>Email</label><br>
                        <input type="email" placeholder="Email Address" class="form" autocomplete required name="emailq"> 
                    </div>
                <div>
            <label>Message</label><br>
            <textarea placeholder="Message" name="message"></textarea>
        </div>
            <button class="button_1" type="submit" class="form"><span>Send</span></button>
    </form>
  • 写回答

3条回答 默认 最新

  • dpbvpgvrhwxen3222 2017-07-24 13:17
    关注

    it's wrong

    if (isset($_POST['name' && 'emailq' && 'message'])){
    

    it means to AND together 'name', 'emailq' and 'message' values, which will be a logical TRUE and checked if the $_POST array has a value with the key TRUE

    what you need is

    if (isset($_POST['name']) && isset($_POST['emailq']) && isset($_POST['message'])){
    

    or you could use

    if (isset($_POST['name'], $_POST['emailq'],$_POST['message'])){
    

    as mentioned by Magnus Eriksson

    each has to be a separate logical expression which are then ANDed together

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵