在PHP中,如何使用id來取得元素?
P粉930448030
2023-08-23 00:09:38
<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>
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']
來實作。只需嘗試以下操作,並在表單提交後查看您獲得的內容。
取消上述兩行的註釋,查看您獲得的內容,然後再次將其註釋。