begin process at 2012 05 28 22:32:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Envoyer eMail vers base de donnée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Envoyer eMail vers base de donnée

jeudi 27 août 2009 à 13:51:22 | Envoyer eMail vers base de donnée

a44icus


Bonjour,

J'ai créé un formulaire tel que :

Code HTML :
<form>

<div id="msgForm2">
<input name="eMailNews" value="" id="eMail" />
</div>
<div id="msgForm1">
<input type="submit" value="OK" id="valider2" name="action" />
</div>
</form>


Ce formulaire sert à ce que les visiteurs du site envoient leur eMail s'ils le souhaite, pour par la suite recevoir des newsletters..
Mais j'aimerai avoir un peu d'aide concernant la parti php, si vous avez un peu de temps.

Merci

/////a44icus/////

jeudi 27 août 2009 à 16:59:24 | Re : Envoyer eMail vers base de donnée

Tonio_35

Bonjour bonjour !

Et bien pour commencer tu pourrais suivre ce tutoriel qui va t'apprendre à te connecter à une base de donnée et a y envoyer des données...

http://www.siteduzero.com/tutoriel-3-14547-tp-un-livre-d-or.html

Bonne soirée !

_________________________________
Min iPomme

jeudi 27 août 2009 à 17:33:45 | Re : Envoyer eMail vers base de donnée

a44icus


Merci pour ta réponse, super site pour apprendre

Mais j'ai un petit problème et je ne trouve pas la solution à celui ci.
Quand j'arrive sur le site ou quand je change de page, le formulaire s'envoie tout seul, donc ma base de donnée se remplit avec de ligne vide à chaque actualisation de page..

Voici mon code :

Code PHP :
<script type="text/javascript">

function verif_formulaire()
{
if(document.formulaire.eMailNews.value == "") {
alert("Veuillez entrer votre adresse électronique!");
document.formulaire.eMailNews.focus();
return false;
}
if(document.formulaire.eMailNews.value.indexOf('@') == -1) {
alert("Ce n'est pas une adresse électronique!");
document.formulaire.eMailNews.focus();
return false;
}
}
</script>


<?php
$host = "xxxx";
$user = "xxxx";
$pass = "xxxx";
$bdd = "xxxx";

@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db($bdd)
or die("Impossible de se connecter");
?>

<?php
mysql_query("INSERT INTO newsletters (eMail) VALUES('$eMailNews')");
mysql_close();
?>


<div id="top">


<div id="blocEmail">
<p class="textGreen">
Abonnement newsletters<br/>Entrez votre email...</p>
<form id="formulaire" name="formulaire" onSubmit="return verif_formulaire()">
<div id="msgForm2">
<input name="eMailNews" value="" id="eMailNews" />
</div>
<div id="msgForm1">
<input type="submit" value="OK" id="valider2" name="action" />
</div>
</form>
</div>

</div>


/////a44icus/////

vendredi 28 août 2009 à 09:33:44 | Re : Envoyer eMail vers base de donnée

Tonio_35

Alors,

Code PHP :
<?php

// j'ai mis la partie php en haut de la page, c'est mieux...

// Ici, quoi qu'il arrive, que le formulaire soit soumis ou non
// Tu va parcourir le code... C'est ca ton problème, il faut donc
// Mettre un test...
// quand ton utilisateur enverras son formulaire, 2 variables de formulaire serons soumises
// $_POST['eMailNews'] contenant le mail et $_POST['action'] contenant OK
// Alors que quand tu charge la page normalement ces variables sont vides...
// On va donc se servir de $_POST['action'] afin de savoir si le formulaire est soumis...
if(isset($_POST['action']) and $_POST['action']=="OK")
{
// adresse de ta page pour redirection
$url = "tapage.php";
// Ici je te conseil de sécuriser un peut tout ca...
// Déjà l'utilisateur si il est malain peux contourner le javascript, ce serais pas mal
// donc de revérifier ce qu'il a envoyé...
$email = $_POST['eMailNews'];
// Si l'user n as pas entré de mail, on le redirige vers la page d'erreur avec le message 1
if($email == "")
{
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Location: ' . $url . '?erreur=1' );
die('Redirection php');
}
// Ici on utilise un filtre préconcus par php, si le texte
// Ne correspond pas a un mail on entre dans le if
// et on redirige avec le message d erreur 2
elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Location: ' . $url . '?erreur=2' );
die('Redirection php');
}
else
{
// Sinon si tout c bien déroulé... On insert et on redirige
// avec le message d erreur 0 qui correspondras pas réelement a un
// message d erreur
$host = "xxxx";
$user = "xxxx";
$pass = "xxxx";
$bdd = "xxxx";
@mysql_connect($host,$user,$pass)
or die("Impossible de se connecter");
@mysql_select_db($bdd)
or die("Impossible de se connecter");
mysql_query("INSERT INTO newsletters (eMail) VALUES('$eMailNews')");
mysql_close();

header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Location: ' . $url . '?erreur=0' );
die('Redirection php');
}
}
?>

Code Javascript :
<script type="text/javascript">

function verif_formulaire()
{
if(document.formulaire.eMailNews.value == "") {
alert("Veuillez entrer votre adresse électronique!");
document.formulaire.eMailNews.focus();
return false;
}
// Nous pouvons utiliser un outil bien pratique pour vérifier des chaines de caractères
// Les Regex ici on vérifie que le texte contenu dans le champ mail contient bien
// En première position une lettre suivis d'autres lettres, . ou - _
// ^[\w\-]+(\.[\w\-]+)*
// Puis qu'il y a un arobase
// @
// Puis encore une série de lettre points - _
// [\w\-]+(\.[\w\-]+)*
// Et que le mail finis bien par un . qqch avec qqch 2 à 4 lettres
// \.[\w\-]{2,4}$
var regexpMail = /^[\w\-]+(\.[\w\-]+)*@[\w\-]+(\.[\w\-]+)*\.[\w\-]{2,4}$/;
// si la regex exécutée sur la chaine de caractères retourne null, c'est qu'elle
// ne corespond pas a un mail
if(regexpMail.exec(document.formulaire.eMailNews.value) == null) {
alert("Ce n'est pas une adresse électronique!");
document.formulaire.eMailNews.focus();
return false;
}
// Pour bien developer, il faut que ta fonction retourne quelquechose si c'est réussi
return true;
}
</script>

Code HTML :
<div id="top">






<div id="blocEmail">

<p class="textGreen">

Abonnement newsletters<br/>Entrez votre email...</p>

<form id="formulaire" name="formulaire" onSubmit="return verif_formulaire()">

<div id="msgForm2">

<input name="eMailNews" value="" id="eMailNews" />

</div>

<div id="msgForm1">

<input type="submit" value="OK" id="valider2" name="action" />

</div>
<!-- Ici j'ai ajouté la gestion de messages d'erreur php -->

Code PHP :
<?php

// Lors de l'envois du formulaire, suivant les cas on as redirigé l'utilisateur vers les pages suivantes
// tapage.php?erreur=1 si il a pas entré de mail
// tapage.php?erreur=2 si il a entré un mail non valide
// tapage.php?erreur=0 si le formulaire a bien été soumis...
// Nous pouvons récuperer les bout d'url qui se trouvent après le point,
// d'interogation comme ca :
// $_GET['erreur] et cette variable contiendras ce qu'il y a après le =
// Pour plus de détail renseigne toi sur les variables d'url
if(isset($_GET['erreur']))
{
// En fonction de l'erreur message !
echo "<div id=\"message\">";
switch($_GET['erreur'])
{
case 0:
echo "Mail enregistré aves succès, merci !";
break;
case 1:
echo "Veuillez entrer une adresse mail, merci !";
break;
case 2:
echo "Veuillez entrer une adresse mail valide, merci !";
break;
default:
break;
}
echo "</div>";
}
?>

Code HTML :
</form>

</div>
</div>


Hésite pas si tu comprends pas une partie du code...

_________________________________
Min iPomme



Cette discussion est classée dans : base, donnée, formulaire, email, envoyer


Répondre à ce message

Sujets en rapport avec ce message

Mail et formulaire [ par Jackboy ] J'aimerai créer un formulaire, assez complexe (pas seulement email, nom, message,...) et j'aimerai avoir ce formulaire envoyer dans un email et format Recuperation les donnée d'un formulaire envoyer par mail [ par demos ] Voila mon probleme je me suis envoyer un formulaire par mail. J'arrive à récuppérer mon mail et à l'afficher (tout le formulaire se trouve dans la mêm formulaire base de donnée mysql [ par lyes_hh ] bonjour, j'ai créé une base de donnée... j'ai un formulaire qui permet de rentrer un nouvel enregistrement et jouhaite pouvoir modifier ces enregistre formulaire en email vers deux adresses [ par metis15 ] Bonjour,toujours ce script qui se termine comme ça pour m'envoyer le formulaire par mail :$recipient = "moi@wanadoo.fr";$subject = "FormulaireGT";$mai email formulaire [ par astrolabbcracker ] bonjour, après avoir lutté pendant 2 heures pour trouver mon bonheur, finalement déçu, je me lance pour vous poser une question.je n'ai pas trouvé de Générateur de formulaire et base de donnée [ par helphp ] Bonjour à tous,Je suis à la case débutant pour la programmation. Je suis entrain de construire un site qui aura le répertoire de plusieurs magasins. J formulaire, compteur de réponses, base de donnée. [ par decaPeter ] Bonjour :) ca fait plusieurs jours que je m'arache les cheveux à essayer de faire un mini moteur de recherche qui requete dans une base de donnée SQL comment envoyer des données par un formulaire en flash à un Email [ par asmathamim ] Bon Merci d'abord pour votre aidej'ai sur mon site un contact ou j'ai mis un formulaire qui se constitue de 3 champ nom, Email, et message je veux qu' envoyer email en meme temps qu'un formulaire dans mysql [ par dannyl ] Bonjours j'ai un un page ou jai un formulaire (le formulaire envoie les information dans une base de donner mysql), j'aimerai que quand le formulaire connexion entre un formulaire et base donnée [ par clio2455 ] je cherche un code qui me permet de faire la connexion entre un formulaire et base donnée


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales