Wie erhalte ich in PHP ein Element mithilfe der ID?
P粉930448030
2023-08-23 00:09:38
<p>Ich möchte meiner Website ein E-Mail-Versandsystem hinzufügen. </p>
<p>Das Problem besteht darin, dass dies nicht geschieht, wenn ich versuche, einen variablen Text aus meiner HTML-Datei zuzuweisen. Ich möchte, dass der Inhalt der Variablen in die Nachricht der E-Mail geschrieben wird. Das ist mein Code: </p>
<pre class="brush:php;toolbar:false;"><html>
<?php include('form.php');
<Kopf>
</head>
<Körper>
<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">Fügen Sie Ihren Text hinzu.</textarea></div>
<div name="subject"><select id="subject">
<option selected="selected">--Inserisci Oggetto--</option>
<option>Standortregistrierung</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']))
{
//Den Namen abrufen
$name = $dochtml->getElementById('name');
//Den Nachnamen abrufen
$surname = $dochtml->getElementById('surname');
//E-Mail-Betreff abrufen
$subject = $dochtml->getElementById('subject');
//Nachricht <70 Zeichen
$msg = "Inviato da" . ' $name
// E-Mail senden
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']
来实现。只需尝试以下操作,并在表单提交后查看您获得的内容。
取消上述两行的注释,查看您获得的内容,然后再次将其注释。