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

知道如何在 PHP 电子邮件响应程序中显示复选框标签而不是值吗?我的电子邮件回复程序仅显示复选框值而不是标签。我需要为每个标签实现文档翻译数组。


PHP代码


<?php


if(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


有任何想法吗?谢谢


精慕HU
浏览 41回答 2
2回答

侃侃无极

HTML:<form method="post" action="test.php">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; <p class="center">Vyberte školenie</p>&nbsp; &nbsp; <label&nbsp; class="container riadok"><p for="document1" class="dolava">§20 Poučená osoba</p>&nbsp; &nbsp; <input type="checkbox"&nbsp; name="document[1]" value="document1" id="document1">&nbsp; &nbsp; <span class="checkmark"></span>&nbsp; &nbsp; </label>&nbsp; &nbsp; <label class="container riadok"><p for="document" class="dolava">Aktualizácia: §21 AŽ §24</p>&nbsp; &nbsp; <input type="checkbox"&nbsp; name="document[2]" value="document2" id="document2">&nbsp; &nbsp; <span class="checkmark"></span>&nbsp; &nbsp; </label>&nbsp; &nbsp; <label class="container riadok"><p for="document" class="dolava">§21 Elektrotechnik</p>&nbsp; &nbsp; <input type="checkbox"&nbsp; name="document[3]" value="document3" id="document3">&nbsp; &nbsp; <span class="checkmark"></span>&nbsp; &nbsp; </label>&nbsp; &nbsp; <label class="container riadok"><p for="document" class="dolava">§24 Revízny technik</p>&nbsp; &nbsp; <input type="checkbox"&nbsp; name="document[4]" value="document4" id="document4">&nbsp; &nbsp; <span class="checkmark"></span>&nbsp; &nbsp; </label>&nbsp; &nbsp; <p class="center">Vyplňte osobné údaje</p>&nbsp; &nbsp; <input type="text" name="name" id="name" class="form-control" placeholder="Meno">&nbsp; &nbsp; <input type="text" name="email" id="email" class="form-control" placeholder="Email">&nbsp; &nbsp; <input type="tel" name="phone" id="phone" class="form-control" placeholder="Telefónne číslo" pattern="[0-9]+"&nbsp; title="Zadajte iba čísla." required="required">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<input type="hidden" name="send" value="1" />&nbsp;<button type="submit" value="SEND" id="submit" class="btn btn-primary"> ODOSLAŤ PRIHLÁŠKU</button></form>PHP:<?php&nbsp; &nbsp;$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&nbsp; &nbsp;if(isset($_POST['document'])){&nbsp; &nbsp; &nbsp; foreach($_POST['document'] as $id => $val){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;echo $translation_table[$id] . " = " . $val . "<br />";&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp;}?>这应该可以帮助你解决你的问题。

忽然笑

标签不会在表单提交中自动发送。您可以更改 HTML,以便将标签包含在复选框值中。&nbsp; &nbsp; <label&nbsp; class="container riadok"><p for="document1" class="dolava">§20 Poučená osoba</p>&nbsp; &nbsp; <input type="checkbox"&nbsp; name="document[document1]" value="§20 Poučená osoba<" id="document1">然后在 PHP 中你可以:foreach ($documents as $key => $label) {&nbsp; &nbsp; if (isset($documents[$key])) {&nbsp; &nbsp; &nbsp; &nbsp; $message = "ŠKOLENIE: $label";&nbsp; &nbsp; }}$message另外,每次循环都会覆盖。您应该附加它,而不是替换它。&nbsp; &nbsp; $message .= "&nbsp; &nbsp; &nbsp; &nbsp; ŠKOLENIE: $label&nbsp; &nbsp; &nbsp; &nbsp; ";
打开App,查看更多内容
随时随地看视频慕课网APP