搜索

首页  >  问答  >  正文

在PHP中,如何使用id来获取元素?

<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粉930448030P粉930448030508 天前610

全部回复(2)我来回复

  • P粉863295057

    P粉8632950572023-08-23 20:54:49

    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键时抛出错误。

    回复
    0
  • P粉163951336

    P粉1639513362023-08-23 11:56:52

    要从提交的表单中获取已发布的数据,您可以使用$_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'];
    }

    回复
    0
  • 取消回复