我的处理器.php文件中有这个...
session_start();
$_SESSION['address'] = $_POST['field_2'];
$_SESSION['name'] = $_POST['field_1'];
这些变量被传递到另一个页面,并在第二个表单上预填充输入,如...
<input type="hidden" name="Name" value="<?php echo $_SESSION['name']?>">
<input name="Address" type="text" value="<?php echo $_SESSION['address']?>">
然后该表格正在提交给电子邮件......
mail($to, $subject,"Form data:
Name: " . $_POST['Name'] . "
Property Address: " . $_POST['Address'] . "
More Fields ", $headers
);
电子邮件通过预先填写的“属性地址”成功完成,但“名称”为空白。为什么隐藏的输入没有传递$_POST['Name']
的变量?
答案 0 :(得分:0)
虽然看起来隐藏的领域是问题,但事实并非如此。除了这里的第二行外,每件事都有效。
mail($to, $subject,"Form data:
Name: " . $_POST['Name'] . "
Email: " . $_POST['Email'] . "
Property Address: " . $_POST['Address'] . "
Lots More Fields ", $headers);
整个`mail()'函数位是从Web上复制粘贴到Sublime Text的剪辑。语法很完美,但我最终发现,在来自web snip-it操作的复制粘贴中留下的Name行中有一个不可见的非ASCII字符。我检查了是否有其他人遇到类似这样的问题,并立即找到了FileUtils.mv throwing Invalid char \302 and \255 exception
故事的寓意是,通过使用片段来节省时间并不总能节省您的时间。我应该在Sublime Text中启用"draw_white_space"
,我可能很快就会抓住它。
正如Fred -ii-指出的那样消息体参数都可以更好地连接成$message
变量。我现在跟谁建议。
答案 1 :(得分:-1)
在第2步,检查生成的HTML代码是否为&#34;值&#34;属性具有正确的值。
此外,请使用 $ _ REQUEST [&#39;名称&#39;] $ _ POST [&#39;名称&#39;] >。有了这个,它将在POST或GET请求时起作用。