在PHP中,如何使用id来获取元素?
P粉930448030
2023-08-23 00:09:38
<p>我想在我的网站上添加一个邮件发送系统。</p>
<p>问题是当我尝试从我的HTML文件中分配一个变量文本时,它没有发生。我希望变量中的内容应该写在电子邮件的消息中。这是我的代码:</p>
<pre class="brush:php;toolbar:false;"><html>
<?php include('form.php'); ?>
<head>
</head>
<body>
<form action="./form.php" method="post">
<div name="name"><input type="text" id="name"></div>
<div name="surname"><input type="text" id="surname"></div>
<div name="message"><textarea rows="4" cols="50" id="message">Inserisci qui il tuo testo.</textarea></div>
<div name="subject"><select id="subject">
<option selected="selected">--Inserisci Oggetto--</option>
<option>Registrazione al sito</option>
<option>Recupero credenziali</option>
</select></div>
<input type="submit" value="Invia penzolini"/>
<input type="hidden" name="button_pressed" value="1" />
</form>
</body>
</html>
<?php
$dochtml = new domDocument();
$dochtml->loadHTML('index.html');
if(isset($_POST['button_pressed']))
{
//取得名字
$name = $dochtml->getElementById('name');
//取得姓氏
$surname = $dochtml->getElementById('surname');
//取得邮件主题
$subject = $dochtml->getElementById('subject');
//消息<70个字符
$msg = "Inviato da" . ' ' . $name . $surname . ' ' . $dochtml->getElementById('message'); // /n=空格
// 发送邮件
mail("panzersit@gmail.com",$subject,$msg);
echo 'Email inviata.';
}
?></pre>
<p><br /></p>
PHP无法直接访问您的DOM。PHP仅在服务器上运行,并简单地接收请求并给出响应。
在将此表单提交到其操作页面
./form.php
后,输入表单的值将存储在$_POST
中,键名为其name
属性。在您的HTML代码中,像这样为输入标签添加name
属性:现在,如果我提交此表单并在
name
输入标签中输入Zachary,surname
输入标签中输入Taylor,我可以这样获取这些值:在
./form.php
文件中:$name = $_POST['name']; // "Zachary"
$surname = $_POST['surname']; // "Taylor"
要验证首先是否有任何输入,请使用:
isset($_POST['key'])
,因为有时输入值为空值时甚至不会发送到操作页面。这可以防止PHP在引用不存在的$_POST键时抛出错误。要从提交的表单中获取已发布的数据,您可以使用
$_POST['fieldname']
来实现。只需尝试以下操作,并在表单提交后查看您获得的内容。
取消上述两行的注释,查看您获得的内容,然后再次将其注释。