我有以下代码可以使联系表单起作用:
<?php
session_name("fancyform");
session_start();
$_SESSION['n1'] = rand(1,20);
$_SESSION['n2'] = rand(1,20);
$_SESSION['expect'] = $_SESSION['n1']+$_SESSION['n2'];
if(isset($_SESSION['sent']))
{
$success='<p>GThanks for contacting us! We'll reply you asap!</p>';
$css='<style type="text/css">.demo-form{display:none;}.thanks{display:block;}</style>';
unset($_SESSION['sent']);
}
?>
问题在于我想要添加个性化消息。
示例:我的名字是Xavi,所以如果我输入名称字段:Xavi,我会得到这样的回复:感谢您联系我们Xavi!我们会尽快回复你!</ p>
我不知道如何解决它,因为我尝试了以下值,但没有任何结果:
&name, 'name', ['name'], '['name']'
联系表格标签:
<label for="name">Name:</label>
<input type="text" placeholder="Nombre" id="name" name="name" data-parsley-trigger="change" required tabindex="1" autocomplete="off" value="<?php echo (isset($_SESSION['post']['name']) ? $_SESSION['post']['name'] : ''); ?>" >
答案 0 :(得分:3)
在您定义$_SESSION['sent'] = true
的同一位置,添加另一个会话变量来存储名称:
$_SESSION['name'] = $_POST['name'];
然后,在您的消息中使用它:
$success="<p>GThanks for contacting us " . htmlspecialchars($_SESSION['name']) . "! We'll reply you asap!</p>";
旁注:您的引号存在问题,因为您将字符串换成单引号,但在单词We'll
中使用另一个单引号。
答案 1 :(得分:1)
您可以使用$_REQUEST
数组访问表单数据:
echo $_REQUEST['name'];