Saya ingin menambah sistem penghantaran e-mel ke tapak web saya.
Masalahnya ialah apabila saya cuba menetapkan teks pembolehubah daripada fail HTML saya, ia tidak berlaku. Saya mahu kandungan dalam pembolehubah harus ditulis dalam mesej e-mel. Ini kod saya:
loadHTML('index.html'); if(isset($_POST['butang_tekan'])) { //Dapatkan nama $name = $dochtml->getElementById('nama'); //Dapatkan nama keluarga $nama keluarga = $dochtml->getElementById('nama keluarga'); //Dapatkan subjek e-mel $subjek = $dochtml->getElementById('subjek'); //Mesej <70 aksara $msg = "Inviato da" ' ' . $nama keluarga // menghantar e-mel mail("panzersit@gmail.com",$subjek,$msg); echo 'E-mel inviata.'; } ?>
PHP tidak boleh mengakses DOM anda secara langsung. PHP hanya berjalan pada pelayan dan hanya menerima permintaan dan memberikan respons.
Serahkan borang ini ke halaman tindakannya
./form.php
后,输入表单的值将存储在$_POST
中,键名为其name
属性。在您的HTML代码中,像这样为输入标签添加name
Atribut:Sekarang, jika saya menyerahkan borang ini dan memasukkan Taylor dalam
name
输入标签中输入Zachary,surname
teg input, saya boleh mendapatkan nilai seperti ini:Dalam
./form.php
fail:$nama = $_POST['nama']; // "Zachary"
$nama keluarga = $_POST['nama keluarga']; // "Taylor"
Untuk mengesahkan bahawa terdapat sebarang input terlebih dahulu, gunakan:
, kerana kadangkala nilai input tidak dihantar ke halaman tindakan apabila ia adalah batal. Ini menghalang PHP daripada membuang ralat apabila merujuk kunci $_POST yang tidak wujud.isset($_POST['key'])
isset($_POST['key'])Untuk mendapatkan data yang disiarkan daripada borang yang diserahkan, anda boleh menggunakan
$_POST['fieldname']
untuk mencapai ini.Cuba yang berikut dan lihat apa yang anda dapat selepas penyerahan borang.