[英]Forms in email (no data being sent to server)
我试图将简单的“ +”或“-”投票表放入电子邮件通讯中。
// yes button "+"
<form action="/email-opinions/" method="POST">
<input type="hidden" value="GSC" name="strainName">
<input type="hidden" value="yesLike" name="strainLike">
<input type="image" src="/images/vhc/yesLike.png" alt="I Like">
</form>
// no button "-"
<form action="/email-opinions/" method="POST">
<input type="hidden" value="GSC" name="strainName">
<input type="hidden" value="noLike" name="strainLike">
<input type="image" src="/images/vhc/noLike.png" alt="I Like">
</form>
该表格由wordpress页面处理:
// form vars
$strainLike = $_POST['strainLike'];
$strainName = $_POST['strainName'];
// wordpress loop
$args = array( 'posts_per_page' => -1 );
$lastposts = get_posts( $args );
foreach ( $lastposts as $post ) :
setup_postdata( $post );
// strain data
$currentStrain = get_post_meta( $post->ID, 'strainName', true );
if ($strainName == $currentStrain) {
// set the vote scores
// no vote
if ($strainLike == 'noLike') {
// vote data
$currentYes = get_post_meta( $post->ID, 'yesLike', true );
$currentNo = get_post_meta( $post->ID, 'noLike', true );
$newVote = $currentNo + '1';
update_post_meta($post->ID, 'noLike', $newVote);
}
// yes vote
if ($strainLike == 'yesLike') {
// vote data
$currentNo = get_post_meta( $post->ID, 'noLike', true );
$currentYes = get_post_meta( $post->ID, 'yesLike', true );
$newVote = $currentYes + '1';
update_post_meta($post->ID, 'yesLike', $newVote);
}
}
endforeach; ?>
它可以很好地用作网页。 表单会执行其应做的工作,但是当通过电子邮件发送并单击表单选项时,将不会处理结果是或否的投票,并不会将其计数或显示回投票者。 有人知道怎么了吗?
html电子邮件通常不允许使用表格,当然也有一些例外。 这种功能可以与常规链接一起使用(如以上评论中提到的henrywright)。 链接是html电子邮件的基本元素,也更容易跟踪点击。
将2个表单更改为2个链接,2个不同的URL或具有不同参数的相同URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.