如何在PHP中通过ID获取元素?

时间:2019-02-08 21:34:00

标签: php

我想在我的网站上建立一个电子邮件发送系统。

问题是,当我尝试从HTML文件分配可变文本时,它不会发生。我希望变量中的内容应该写在电子邮件消息中。这是我的代码:

None

3 个答案:

答案 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'];
}