为了账号安全,请及时绑定邮箱和手机立即绑定

PHP - 在电子邮件中显示复选框标签而不是其值

PHP - 在电子邮件中显示复选框标签而不是其值

PHP
精慕HU 2024-01-19 10:37:29
知道如何在 PHP 电子邮件响应程序中显示复选框标签而不是值吗?我的电子邮件回复程序仅显示复选框值而不是标签。我需要为每个标签实现文档翻译数组。PHP代码<?phpif(isset($_POST) && ($_POST['send'] == 1)){    $documents = array(                    'document1' => 'http://www.example.com/document1.doc',                    'document2' => 'http://www.example.com/document2.doc',                    'document3' => 'http://www.example.com/document3.doc'                    'document4' => 'http://www.example.com/document4.doc'                );    $to      = 'lubosmasura@gmail.com';    $subject = 'Prihláška na školenie';    $name = $_POST['name'];    $email = $_POST['email'];    $document = implode(", ",$POST['document']);            if(isset($_POST['document']) && count($_POST['document']) > 0){        foreach($_POST['document'] as $doc){            if(isset($documents[$doc])){                         $message = "             ŠKOLENIE: $document             ";        }        }    }    $headers = 'From: noreply@marcelaskolenia.sk' . "\r\n" .        'Reply-To: noreply@marcelaskolenia.sk' . "\r\n" .        'X-Mailer: PHP/' . phpversion();    $headers  = 'MIME-Version: 1.0' . "\r\n";    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";    mail($to, $subject, $message, $headers);   }   ?>HTML代码  <form method="post" action="test.php">        <p class="center">Vyberte školenie</p>    <label  class="container riadok"><p for="document1" class="dolava">§20 Poučená osoba</p>    <input type="checkbox"  name="document[]" value="document1" id="document1">    <span class="checkmark"></span>    </label>    <label class="container riadok"><p for="document" class="dolava">Aktualizácia: §21 AŽ §24</p>    <input type="checkbox"  name="document[]" value="document2" id="document2">    <span class="checkmark"></span>    </label>电子邮件回复器可以工作,但不显示选定的复选框标签,而仅显示 HTML ŠKOLENIE 中的值:CHECKBOX LABEL HERE有任何想法吗?谢谢
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

HTML:


<form method="post" action="test.php">

    

    <p class="center">Vyberte školenie</p>

    <label  class="container riadok"><p for="document1" class="dolava">§20 Poučená osoba</p>

    <input type="checkbox"  name="document[1]" value="document1" id="document1">

    <span class="checkmark"></span>

    </label>

    <label class="container riadok"><p for="document" class="dolava">Aktualizácia: §21 AŽ §24</p>

    <input type="checkbox"  name="document[2]" value="document2" id="document2">

    <span class="checkmark"></span>

    </label>

    <label class="container riadok"><p for="document" class="dolava">§21 Elektrotechnik</p>

    <input type="checkbox"  name="document[3]" value="document3" id="document3">

    <span class="checkmark"></span>

    </label>

    <label class="container riadok"><p for="document" class="dolava">§24 Revízny technik</p>

    <input type="checkbox"  name="document[4]" value="document4" id="document4">

    <span class="checkmark"></span>

    </label>

    <p class="center">Vyplňte osobné údaje</p>

    <input type="text" name="name" id="name" class="form-control" placeholder="Meno">

    <input type="text" name="email" id="email" class="form-control" placeholder="Email">

    <input type="tel" name="phone" id="phone" class="form-control" placeholder="Telefónne číslo" pattern="[0-9]+"  title="Zadajte iba čísla." required="required">

                            

<input type="hidden" name="send" value="1" />

 <button type="submit" value="SEND" id="submit" class="btn btn-primary"> ODOSLAŤ PRIHLÁŠKU</button>

</form>

PHP:


<?php

   $translation_table = array(1 => '§20 Poučená osoba', 2 => 'Aktualizácia: §21 AŽ §24'); // fill it yourself, I am not going to do that, just add another numbers and labels

   if(isset($_POST['document'])){

      foreach($_POST['document'] as $id => $val){

         echo $translation_table[$id] . " = " . $val . "<br />";

      }

   }

?>

这应该可以帮助你解决你的问题。


查看完整回答
反对 回复 2024-01-19
?
忽然笑

TA贡献1806条经验 获得超5个赞

标签不会在表单提交中自动发送。


您可以更改 HTML,以便将标签包含在复选框值中。


    <label  class="container riadok"><p for="document1" class="dolava">§20 Poučená osoba</p>

    <input type="checkbox"  name="document[document1]" value="§20 Poučená osoba<" id="document1">

然后在 PHP 中你可以:


foreach ($documents as $key => $label) {

    if (isset($documents[$key])) {

        $message = "ŠKOLENIE: $label";

    }

}

$message另外,每次循环都会覆盖。您应该附加它,而不是替换它。


    $message .= "

        ŠKOLENIE: $label

        ";


查看完整回答
反对 回复 2024-01-19
  • 2 回答
  • 0 关注
  • 32 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信