邮件变量在在线服务器上丢失,在本地工作正常

时间:2016-10-23 14:04:21

标签: html forms

我的post变量在我的在线页面上丢失(使用完全相同的代码在本地工作正常)。以下是我在重新加载页面时检索它们的方法:

if ( isset($_POST['sub']) ) $sub = $_POST['sub']; else $sub = ''; 
if ( isset($_POST['contact_nom']) ) $contact_nom = $_POST['contact_nom']; else $contact_nom = ''; 
if ( isset($_POST['contact_prenom']) ) $contact_prenom = $_POST['contact_prenom' ]; else $contact_prenom = ''; 
if ( isset($_POST['contact_mail']) ) $contact_mail = $_POST['contact_mail']; else $contact_mail = ''; 
if ( isset($_POST['contact_sujet']) ) $contact_sujet = $_POST['contact_sujet']; else $contact_sujet = ''; 
if ( isset($_POST['contact_destinataire']) ) $contact_destinataire = $_POST['contact_destinataire']; else $contact_destinataire = ''; 
if ( isset($_POST['contact_message']) ) $contact_message = $_POST['contact_message']; else $contact_message = ''; 

这是我的表格:

<form id='contact_form_mmt' action='<?php echo bloginfo("wpurl"); ?>/contact' method='post'>
  <input type='text' name='contact_nom' placeholder='Votre nom *' data-validation='length' data-validation-length='min3' data-validation-error-msg='<?php echo $text_too_short_or_empty; ?>'>  
  <input type='text' name='contact_prenom' placeholder='Votre prénom *' data-validation='length' data-validation-length='min3' data-validation-error-msg='<?php echo $text_too_short_or_empty; ?>'>
  <input type='text' name='contact_mail' placeholder='Votre mail *' data-validation='email' data-validation-length='min3' data-validation-error-msg='<?php echo $email_valid; ?>'>
  <select name='contact_destinataire'>
    <option value="contact@example.com|Information générales">Information générales</option>
    <option value="webmaster@example.fr|Problèmes liés au site">Problèmes liés au site</option>
  </select>
  <textarea name='contact_message' placeholder='Message *'data-validation='length' data-validation-length='min3' data-validation-error-msg='<?php echo $text_too_short_or_empty; ?>'></textarea>  
  <input type='hidden' name='sub' value='1'>  
  <input type='submit' value='envoyer'>
</form>

所有这些变量(如$sub$contact_nom)都会在本地服务器上的页面重新加载时填充。它们在我的本地服务器上清空。为什么会出现这个问题以及如何解决?

[编辑]这里是htaccess的内容,可能存在问题吗?

SetEnv PHP_VER 5_4
Options -Indexes
ErrorDocument 404 /index.php
RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www.example.fr$
RewriteRule ^(.*)   http://www.example.fr/$1  [QSA,L,R=301] 

1 个答案:

答案 0 :(得分:1)

我建议您在$_POST上转储index.php以查看$_POST是否包含值。 如果否($_POST is empty),那么您的Wordpress模板中会有重定向。 如果是($_POST is not empty),则表单中的action url错误。并尝试跟踪您将使用$_POST的网址。