0
votes

Demande postale à venir en blanc, pourquoi?

J'ai le code suivant enregistré comme send.php: xxx

L'e-mail envoie si je navigue sur https://mywebsite.com/stuff/send.php et faire $ Sujet = "quelque chose"

mais si je définis $ sujette pour être une variable de poste. Il n'envoie pas le sujet lorsque j'écris cette URL dans le navigateur (comme dans, l'email envoie toujours, mais le sujet est maintenant vide): xxx


3 commentaires

€ _ Obtenir ['Sujet'] récupère le sujet à partir de l'URL, $ _ POST ["Sujet '] l'extrait de l'article (c'est-à-dire soumettre le formulaire avec une méthode postale).


Mais dites qu'il y a un formulaire Web sur Internet. Il utilise une demande postale. Et vous voulez jouer avec elle dans la barre d'adresse ... Vous ne pouvez donc pas faire cela?


Si vous souhaitez extraire le sujet à partir de l'URL avec ? Sujet = asd , alors vous besoin $ _ obtenez ["sujet"] . Vous ne pouvez pas utiliser Post sauf si vous envoyez les données sur la poteau .. Il y a aussi $ _ demande qui peut obtenir des données de l'autre ou de l'obtenir, mais je vous recommanderais de choisir votre choix Poster ou obtenir, et ne pas demander.


3 Réponses :


0
votes

Si vous souhaitez extraire les valeurs des paramètres de l'URL, vous devez utiliser le $ £ _ obtenir code> Variable globale pour obtenir les données comme celle-ci,

<?php
$to_email = "person@gmail.com";
$subject = $_GET['subject'];
$body = "Hi, This is test email send by PHP Script";
$headers = "From: Me@myWebsite.com";

if ( mail($to_email, $subject, $body, $headers)) {
    echo("Email successfully sent to $to_email...");
} else {
    echo("Email sending failed...");
}
?>


0 commentaires

0
votes

Pour obtenir les deux $ _ POST code> et _ $ _ GET code> Vous pouvez utiliser € _ Demande code> qui fonctionnera pour les deux.

dans votre code remplacera p> xxx pré>

avec p> xxx pré>

si une personne directe a appuyé sur l'URL dans le navigateur sans paramètre, vous pouvez les empêcher d'utiliser p >

if(!empty($_REQUEST['subject']))
{
  $to_email = "person@gmail.com";
  $subject = $_REQUEST['subject'];
  $body = "Hi, This is test email send by PHP Script";
  $headers = "From: Me@myWebsite.com";

  if ( mail($to_email, $subject, $body, $headers))
    echo("Email successfully sent to $to_email...");
  else
    echo("Email sending failed...");
}


3 commentaires

Génial ça marche! Mais question, disons qu'il existe un formulaire Web sur Internet. Il utilise des demandes postales. Et vous voulez jouer avec cela dans la barre d'URL de votre navigateur, vous ne pouvez pas le faire alors?


Isset ($ _ Demande ['Sujet']) &&! vide ($ _ Demande ['Sujet']) est redondant. ! vide ($ _ demande ['Sujet']) est suffisant.


@Qirel merci d'avoir tapé ça, j'ai mis à jour en conséquence



0
votes

Essayez-le. XXX


1 commentaires

Vous n'avez pas besoin de rechercher isset () et ! Vide () . Vérification simplement pour ! Vide () seul suffit.