在PHP中,如何使用id来获取元素?
P粉930448030
P粉930448030 2023-08-23 00:09:38
[PHP讨论组]
<p>我想在我的网站上添加一个邮件发送系统。</p> <p>问题是当我尝试从我的HTML文件中分配一个变量文本时,它没有发生。我希望变量中的内容应该写在电子邮件的消息中。这是我的代码:</p> <pre class="brush:php;toolbar:false;">&lt;html&gt; &lt;?php include('form.php'); ?&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;form action="./form.php" method="post"&gt; &lt;div name="name"&gt;&lt;input type="text" id="name"&gt;&lt;/div&gt; &lt;div name="surname"&gt;&lt;input type="text" id="surname"&gt;&lt;/div&gt; &lt;div name="message"&gt;&lt;textarea rows="4" cols="50" id="message"&gt;Inserisci qui il tuo testo.&lt;/textarea&gt;&lt;/div&gt; &lt;div name="subject"&gt;&lt;select id="subject"&gt; &lt;option selected="selected"&gt;--Inserisci Oggetto--&lt;/option&gt; &lt;option&gt;Registrazione al sito&lt;/option&gt; &lt;option&gt;Recupero credenziali&lt;/option&gt; &lt;/select&gt;&lt;/div&gt; &lt;input type="submit" value="Invia penzolini"/&gt; &lt;input type="hidden" name="button_pressed" value="1" /&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; &lt;?php $dochtml = new domDocument(); $dochtml-&gt;loadHTML('index.html'); if(isset($_POST['button_pressed'])) { //取得名字 $name = $dochtml-&gt;getElementById('name'); //取得姓氏 $surname = $dochtml-&gt;getElementById('surname'); //取得邮件主题 $subject = $dochtml-&gt;getElementById('subject'); //消息&lt;70个字符 $msg = "Inviato da" . ' ' . $name . $surname . ' ' . $dochtml-&gt;getElementById('message'); // /n=空格 // 发送邮件 mail("panzersit@gmail.com",$subject,$msg); echo 'Email inviata.'; } ?&gt;</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'];
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号