Je suis similaire à php et je ne comprends pas quel est le problème.
Parfois, les fonctions php m'envoient des messages vides comme
Noms des parents
Trop tard :
Lynn :
Numéro de téléphone :
Courriel :
Date de naissance :
Message text:
Mais il devrait être renseigné avec des valeurs comme celle-ci
Test de nom des parents
Trop d'erreurs : Test
Lynn : Teste
Numéro de téléphone : Test
E-mail : test@test
Date de naissance : 21313
Message text: Test
Voici mon code php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Обратная Связь</title> </head> <body> <?php if (isset($_POST['parent'])) {$parent = $_POST['parent'];} if (isset($_POST['child'])) {$child = $_POST['child'];} if (isset($_POST['contacts'])) {$contacts = $_POST['contacts'];} if (isset($_POST['email'])) {$email = $_POST['email'];} if (isset($_POST['bbd'])) {$bbd = $_POST['bbd'];} if (isset($_POST['city'])) {$city = $_POST['city'];} if (isset($_POST['mess'])) {$mess = $_POST['mess'];} $to = "info@test.ee"; /*Укажите ваш адрес электоронной почты*/ $headers = "Content-type: text/plain; text/html; charset=utf-8"; $subject = "Kontakti Info"; $message = "Vanema nimi $parent \n Lapse nimi: $child \nLinn: $city \nTelefoninumber: $contacts \nEmail: $email \nSünnikuupäev: $bbd \nSõnumi tekst: $mess"; $send = mail ($to, $subject, $message, $headers); if ($send == 'true') { echo "<b>Спасибо за отправку вашего сообщения!<p>"; echo "<a href=index.php>Нажмите,</a> чтобы вернуться на главную страницу"; } else { echo "<p><b>Ошибка. Сообщение не отправлено!"; } ?> </body> </html> <?php header('Location: https://test.ee/aitah.html '); ?>
S'il vous plaît, donnez-moi des conseils sur ce qui n'a pas fonctionné.
Si votre script n'est qu'un gestionnaire de formulaire, vous pouvez par exemple ajouter
if(empty($_POST)) { die('没有表单数据!'); }
en haut pour l'empêcher de s'exécuter, sauf en réponse à la soumission d'un formulaire.Si vous devez remplir tous les champs, vous devez vérifier chaque champ avant de traiter l'e-mail. Vous pouvez mettre tout cela
isset
塞进一个巨大的if(isset(...)
dans des déclarations. Cependant, il existe un moyen plus simple et plus lisible de procéder. Tout d’abord, configurons quelques variables :On boucle ensuite sur les champs et si la valeur existe, on l'ajoute à
$data
, sinon on ajoute une annotation d'erreur.S'il y a une erreur (= champ manquant), l'email ne sera pas envoyé. En bonus, vous disposez désormais d'un morceau de code réutilisable qui doit simplement être modifié
$fields
数组即可将其用于具有类似功能的其他表单。 (如果您确实需要重用它,则将其包装到函数中是一个好主意;不要复制粘贴代码。function x($post, $fields) { ... }
pour les fonctions d'aide aux opérations de base. )Veuillez noter qu'ici nous utilisons
sera défini (avec la chaîne videempty
au lieu deisset
. Si un formulaire vierge est soumis, le champempty
代替isset
。如果提交空白表单,则会设置字段(为空字符串""
)。另请注意,empty
返回true
对于任何等于false
的内容(即""
、0
、false
、null,[]
)。 (如果“0”是预期且可接受的值,请注意它的“空性”!)另一方面,isset
对于任何非null
""
). Notez également queempty
renvoie true pour tout ce qui est égal àfalse
(c'est-à-dire""
,0
,false
,null
,[]
). (Si "0" est une valeur attendue et acceptable, merci de noter son "vide" !
) Par contre,isset
Renvoie vrai pour tout contenu qui n'est pasnull
. 🎜 🎜P.S. Si le code ci-dessus est le code complet et que votre script gère uniquement les données du formulaire et les redirections, alors vous n'avez pas du tout besoin du wrapper HTML. Il ne s'affiche jamais. 🎜