搜尋

首頁  >  問答  >  主體

在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粉930448030458 天前573

全部回覆(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
  • 取消回覆