PHP-显示复选框标签,而不是电子邮件中的值 [英] PHP - Display checkbox label instead of its value in E-mail

查看:64
本文介绍了PHP-显示复选框标签,而不是电子邮件中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您知道如何在PHP电子邮件响应器中显示复选框标签而不是值吗?我的电子邮件响应者仅显示复选框值,而不显示标签。我需要为每个标签实现文档转换数组。

Any idea how could I show the checkbox label instead of value in my PHP Email responder? My E-mail responder displays only checkbox value instead of label. I need to implement document translation arrays for each label.

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>
    <label class="container riadok"><p for="document" class="dolava">§21 Elektrotechnik</p>
    <input type="checkbox"  name="document[]" 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[]" 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>

电子邮件响应程序有效,但它不显示选定的复选框标签,而仅显示HTMLŠKOLENIE中的值: CHECKBOX LABEL HERE

Email responder works but it does not display selected checkbox label but only value from HTML ŠKOLENIE: CHECKBOX LABEL HERE

有什么想法吗?谢谢

推荐答案

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 />";
      }
   }
?>

那应该可以帮助您解决问题。

That should help you in your problem.

这篇关于PHP-显示复选框标签,而不是电子邮件中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆