我想在我的网站上建立一个电子邮件发送系统。
问题是,当我尝试从HTML文件分配可变文本时,它不会发生。我希望变量中的内容应该写在电子邮件消息中。这是我的代码:
None
答案 0 :(得分:4)
PHP无法直接访问您的DOM。 PHP仅在服务器上运行,并且简单地接受请求并给出响应。
将此表单提交到其操作页面./form.php
时,输入表单的值存储在$_POST
中以其name
属性命名的键中。在您的HTML代码中,将name
属性添加到输入标签,如下所示:
<form action="./form.php" method="post">
<div name="name"><input type="text" name="name"></div>
<div name="surname"><input type="text" name="surname"></div>
</form>
现在,如果我提交此表单并为name
输入标签输入Zachary,为surname
输入标签输入Taylor,我可以这样获取这些值:
在./form.php
文件中:
$name = $_POST['name'];
// "Zachary"
$surname = $_POST['surname'];
// "Taylor"
要验证是否首先输入了任何内容,请使用:
isset($_POST['key'])
,因为有时SOMETIMES输入值为空的值甚至不会发送到操作页面。如果引用了不存在的$ _POST密钥,则可以防止PHP引发错误。
答案 1 :(得分:-1)
在查看文档(http://php.net/manual/pt_BR/domdocument.getelementbyid.php)时,我发现了一个观察结果:
“请注意,如果您的HTML不包含doctype声明,则getElementById将始终返回null。”
发布form.php的内容将有助于重新创建场景。
答案 2 :(得分:-2)
要从提交的表单中获取已发布的数据,可以使用$_POST['fieldname']
只需尝试以下操作,看看提交表单后会得到什么。
//echo "<pre>";
//print_r($_POST);
取消注释两行以上,看看得到了什么,再次评论。
if( isset($_POST['name']) )
{
$name = $_POST['name'];
}
if( isset($_POST['surname']) )
{
$surname = $_POST['surname'];
}
if( isset($_POST['subject']) )
{
$subject = $_POST['subject'];
}