2009-11-20 5 views
2

Comment un lien vers le bouton submit, je pense à incorporer ou simplement utiliser href ou ai-je intégré le code php entier dans la section submit?php emailer link après avoir cliqué sur le bouton submit

Je peux soumettre les informations fournies par un utilisateur à une base de données MySQL et l'enregistrer là; Cependant, je me demandais s'il y avait une façon plus élégante d'envoyer des courriels en utilisant les informations sauvegardées dans ma base de données par l'utilisateur après avoir cliqué sur soumettre, ou devrais-je simplement écrire un email php et utiliser le code ci-dessous , de sorte que lorsque l'utilisateur clique sur soumettre, j'en ai une copie sur ma base de données et l'autre copie est envoyée à mon adresse email dans la boîte?

Plus de code peut être fourni comme demandé, merci de ne pas enflammer le newb.

<label for="submit">Submit</label> 
<input id="submit" type="submit" value="Send Email!" /><br /> 
</p> 
</form> 

Répondre

1

Comment un lien vers le bouton d'envoi
Sur une page Web, un élément d'entrée avec « submit » comme attribut dans un élément de forme « type » présentera le formulaire à l'URL spécifiée dans « l'action de la forme L'attribut et la réponse seront chargés dans la fenêtre fournie dans l'attribut 'target' du formulaire.

<form action='process.php' target='_blank' id='emailForm'> 
    <input type='text' name='email' /> 
    <input type='submit' value='Send Email!' /> 
</form> 

Le code présentera au-dessus de ce que l'utilisateur entre (après avoir cliqué sur le «Envoyer un message! Bouton) dans le champ texte « e-mail » à « process.php » et la page il retourne sera affiché dans un nouvelle fenetre.

Je pense à l'intégration d'un ou tout simplement en utilisant href
Si vous ne souhaitez pas utiliser un bouton d'envoi comme dans l'exemple ci-dessus, le code ci-dessous produira les mêmes résultats que le bouton d'envoi.

<a href='javascript:document.getElementById("emailForm").submit();'> 
    <img src='images/submit.jpg' /> 
</a> 

ont l'intégralité du code php mailer intégré en quelque sorte dans la section soumettre
À moins que vous parlez AJAX, il y a une distinction claire entre la capacité de code exécuté sur le côté client (JavaScript) et le serveur côté (PHP).

Le code JavaScript est exécuté du côté client et vous permet de vérifier les erreurs potentielles (et d'arrêter un formulaire soumis) avant de soumettre un formulaire, comme un espace dans une adresse email ou des lettres où l'entrée est censée être numérique .

Le code PHP est exécuté du côté serveur et enregistre l'adresse e-mail (ou tout ce qui doit être sauvegardé) dans une base de données. Il est également capable d'envoyer des emails.Pour des raisons de sécurité, vous ne devriez pas dépendre uniquement de JavaScript pour la vérification des erreurs et les mêmes vérifications, comme les espaces dans les adresses e-mail et les lettres où l'entrée est censée être numérique, devraient également être effectuées dans le PHP.

Je peux soumettre les informations fournies par un utilisateur à une base de données MySQL et l'y connecter; Cependant, je me demandais s'il y avait une façon plus élégante d'envoyer des courriels en utilisant les informations enregistrées dans ma base de données
Si je vous comprends bien, vous avez maintenant un formulaire qui soumet à un fichier PHP qui à son tour enregistre le contenu de ce formulaire (une adresse e-mail) à une base de données MySQL que vous vérifiez de temps en temps. Maintenant, votre objectif est d'avoir l'adresse e-mail envoyée à votre boîte de réception en plus d'être enregistrée dans la base de données MySQL, n'est-ce pas? Tout ce que vous devez faire est d'ajouter ce code à votre fichier PHP existant qui écrit actuellement dans votre base de données MySQL.

$to = "[email protected]"; 
$subject = "New email address!"; 
$body = "Hi,\n\nYou have a new email address:\n" . $_REQUEST['email']; 
if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 

Les différents fournisseurs de services d'hébergement peuvent avoir des règles différentes régissant l'envoi des e-mails comme nécessitant un champ ou le champ doit contenir une adresse e-mail correspondant au domaine du formulaire est hébergé sur, etc. Vérifiez auprès de votre service fournisseur si vous avez des problèmes d'envoi de courrier.

+0

Merci, maintenant je peux "haz" un journal de base de données et un email; en outre, à la réponse étant approfondie et emballé avec des informations, bien écrit, merci. – Newb

0

est-ce pas le point entier d'avoir un attribut action dans votre form?

Utilisez cette technique:

<form method="post" action="your_page_where_you_send_a_mail"> ... </form> 
0

Vous n'avez pas lien à un élément button. En cliquant sur un bouton, vous déclenchez une action qui est exécutée dans le client (si Javascript est impliqué) et pour la plupart sur le serveur. Tout écrit en PHP est exécuté sur le serveur, pas dans le client. Donc, oui, vous écrivez du code PHP pour enregistrer des données dans une base de données, envoyer un email, rediriger le navigateur vers une page de succès, et tout le reste nécessaire pour gérer la requête déclenchée en cliquant sur le bouton.

Questions connexes