您应该使用相同的name
属性,用于您的2个无线电输入。所以我们假设这个名字是language
. 如果language
设置时,有两个选项,表示为value
, 任何一个English
或Chinese
.
在您发布的代码中,这主要是您的问题。您设置了$radio
变量为$_POST[\'language1\']
但是$_POST[\'language1\']
将ALWAYS 是English
因为Chinese
值由设置$_POST[\'language2\']
在表单标记中,更改radio
输入name
价值观
<div class="overflow-hidden">
<form class="text-center" method="post" action="<?php echo $_SERVER[\'REQUEST_URI\']; ?>">
<div class="col-md-6">
<p class="tns">First Name *:</p>
<input type="text" name="clname" placeholder="First Name" required />
</div>
<div class="col-md-6">
<p class="tns">Last Name *:</p>
<input type="text" name="clsurname" placeholder="Last Name" required />
<input type="radio" name="language" value="English">English
<input type="radio" name="language" value="Chinese">Chinese
</div>
<hr>
<div class="overflow-hidden">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="submit" value="submit" />
</div>
</div>
</form>
</div>
在PHP中:
更改的引用language1
到language
使用ternary operator 设置$fileatt
. 如果$radio
是English
将英文url输出到文件。否则输出中文url。
if(isset($_POST[\'submit\']) && isset($_POST[\'language\'])){
$radio = $_POST[\'language\'];
$fileatt = \'English\' == $radio ? "http://example.com/english.pdf" : "http://example.com/chinese.pdf" ;
$fileatttype = "application/pdf";
$headers = \'From:\' . $_POST[\'clname\'] . \' <\'. $_POST[\'clemail\'] .\'>\' . "\\r\\n";
$mail = get_option(\'admin_email\');
$subject = "Testing";
$message = \'Name: \' . $_POST[\'clname\'] . \' \' . $_POST[\'clsurname\'] .\'\\n\\n
Email:\'.$_POST[\'clemail\'].\'\\n\\n Radiovalue:\' . $radio . \'\\n\'. $fileatt;
wp_mail($mail,$subject,$message,$headers);
$emailsent= true;
}