私は私のワードプレスサイトでカスタム電子メールとフォームを使っています。
ものは2つのラジオボタンがある形であります:
他のフィールドは正常です。
上記の両方の言語で、2 PDFをサーバーにアップロードしました。私が欲しいのはフォームの言語選択に基づいてEメールでuse PDFリンクを送ることです。
私は試していますが、常に同じPDFリンクを送信しています。
データをチェックしてEメールで送信するコード:
if(isset($_POST['submit']) && isset($_POST['language1'])){
$clname=$_POST['clname'];
$clsurname=$_POST['clsurname'];
$clemail=$_POST['clemail'];
$radio = $_POST['language1'];
$fileatt1 = "http://example.com/english.pdf";
$fileatttype = "application/pdf";
$fileattname = "newname.pdf"; //name that you want to use to send or you can use the same name
$headers = 'From: '. $clname .' <'. $clemail .'>' . "\r\n";
$mail = get_option('admin_email');
$subject = "Testing";
$message = 'Name:'.$clname.' '.$clsurname.'\n\n
Email:'.$clemail.'\n\n Radiovalue:'.$radio.'\n'. $fileatt;
wp_mail($mail,$subject,$message,$headers);
$emailsent= true;
}
フォームコード
<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="language1" value="English">English
<input type="radio" name="language2" value="Chinese">Chinese </div>
</div>
<hr>
</div>
<div class="overflow-hidden">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="submit" value="submit" />
</div>
</div>
</form>
別のPDFリンクをELSE状態にしようとしましたが、うまくいきません。私はまた条件を入れて2つの異なるを試してみましたが、それはまた私のために働いていません。
2つの無線入力に同じname
属性を使用する必要があります。したがって、名前がlanguage
であるとしましょう。 language
が設定されている場合、value
で表される2つのオプションがあります。English
またはChinese
です。
あなたが投稿したコードでは、それは主にあなたの問題です。 $radio
変数を$_POST['language1']
に設定しますが、$_POST['language1']
は常に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
に変更します$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;
}