我的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]
答案 0 :(得分:1)
我建议您在$_POST
上转储index.php
以查看$_POST
是否包含值。
如果否($_POST is empty)
,那么您的Wordpress模板中会有重定向。
如果是($_POST is not empty)
,则表单中的action url
错误。并尝试跟踪您将使用$_POST
的网址。