在PHP中,如何使用id来获取元素?
P粉930448030
P粉930448030 2023-08-23 00:09:38
0
2
530
<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>
P粉930448030
P粉930448030

全部回复(2)
P粉863295057

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']),因为有时输入值为空值时甚至不会发送到操作页面。这可以防止PHP在引用不存在的$_POST键时抛出错误。

P粉163951336

要从提交的表单中获取已发布的数据,您可以使用$_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'];
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!