Accueil > Forum > > > > Problème pour récupérer des données puis les mettre dans un mail à envoyer
Problème pour récupérer des données puis les mettre dans un mail à envoyer
jeudi 13 août 2009 à 17:20:59 |
Problème pour récupérer des données puis les mettre dans un mail à envoyer

palisse
|
Bonjour,
Je suis novice avec le php et Mysql... et je voudrai faire un code pour envoyer des données dans une base de données, les récupérer et envoyer un mail avec ces données.
Or mon code ne fonctionne pas... Seule, l'insertion fonctionne ainsi que l'envoi de mail. Mais mises ensemble, ces fonctions ne marchent pas.
Voici le code:
<?php
ob_start();
$cnx = mysql_connect( "localhost", "root", "" ) ;
$db = mysql_select_db( "contact" ) ;
if (isset($_POST['submit']))
//récupération des valeurs des champs:
//nom:
$titre= $_POST["titre"];
$nom= strip_tags($_POST["nom"]);
$responsabilite= $_POST["responsabilite"];
$eleve= strip_tags($_POST["eleve"]);
$classe= $_POST["classe"];
$email= $_POST["email"];
$prof= $_POST["prof"];
$date1= $_POST["date1"];
$heure1= $_POST["heure1"];
$date2= $_POST["date2"];
$heure2= $_POST["heure2"];
//création de la requête SQL:
$sql = "INSERT INTO rendezvous (titre, nom, responsabilite, eleve, classe, email, prof, date1, heure1, date2, heure2) VALUES ('$_POST[titre]', '$nom', '$responsabilite', '$eleve', '$classe', '$email', '$prof', '$date1', '$heure1', '$date2', '$heure2')" ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
// on récupère le dernier numéro inséré, soit le numéro de tibo
$dernier_id = mysql_insert_id();
// on prépare la requête pour récupérer le numero du propriétaire
$sql = "SELECT * FROM rendezvous WHERE id = '$dernier_id'";
$requete = mysql_query($sql, $cnx) or die( mysql_error() );
if($requete)
{
// Recuperation des resultats
while($row = mysql_fetch_row($requete))
{
$id = $row["id"];
$titre = $row["titre"];
$nom = $row["nom"];
$responsabilite = $row["responsabilite"];
$eleve = $row["eleve"];
$classe = $row["classe"];
$email = $row["email"];
$prof = $row["prof"];
$date1 = $row["date1"];
$heure1 = $row["heure1"];
$date2 = $row["date2"];
$heure2 = $row["heure2"];
$ref = $row["ref"];
$dateheure = $row["dateheure"];
}
// envoi email au secretariat
/* Construction du message */
$msg = " BONJOUR MR / MME LE PROFESSEUR DE $prof.
UNE DEMANDE DE RENDEZ-VOUS A ETE ENVOYEE PAR LE SITE DE SAINT ELME:
$titre $nom ($email)
$responsabilite DE $eleve, ELEVE EN CLASSE DE $classe.
SOUHAITE VOUS RENCONTRER SOIT:
- LE $date1 A $heure1
ou
- LE $date2 A $heure2
MERCI DE CONFIRMER UN DE CES CHOIX AUPRES DU SECRETARIAT.";
/* Envoi de l'e-mail */
mail("palisse@numericable.fr", "DEMANDE DE RENDEZ-VOUS PROF", $msg)
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
{ header('Location: envoimessage.php');
exit;
}
else
{
echo("L'envoi du message a échoué") ;
}
mysql_close($cnx);
ob_end_flush();
?>
C'est une compilation de codes trouvés lors de mes recherches.
J'espère que vous pourrez m'aider
Merci
|
|
jeudi 13 août 2009 à 22:08:22 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

pysco68
|
Bonsoir,
Je ne vois pas vraiment d'office où il doit y avoir une erreur, mais je me demande pourquoi il y a ces deux requêtes pour la BDD... enfin s'il s'agît de récupérer les informations et de les envoyer par email je ne vois pas l'intérêt d'une BDD...
Sinan j'essaierais peut-être de changer les noms de variable, par exemple en "$requete_1" et "$requete_2" pour essayer... même si a la base il ne devrait pas y avoir de soucis de ce coté là....
Sinon petite chose très déplaisante a dire, mais vraie: ce script est une passoire et un GRAND risque coté sécurité... tu ne vérifie aucune de tes donnés, ce qui est très dangereux!
Bonne soirée
PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here
|
|
jeudi 13 août 2009 à 23:28:15 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

palisse
|
Bonsoir Pysco68,
Merci pour cette information. Je n'ai pas essayé en ne gardant que la première connexion. Si je veux une BDD c'est pour garder les données.
Pour la sécurité, j'ai fait le formulaire avec Dreamweaver. Et je lui demande soit de vérifier le format de l'email, soit c'est dans une liste qu'on vérifie. Les données "nom" et "eleve" sont les 2 seules qui sont tapées par l'internaute. Bon là aussi je ne suis pas un pro...
Je vais tenter voir ce que cela peut donner.
Merci encore
|
|
vendredi 14 août 2009 à 08:55:01 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

pysco68
|
Ça n'a rien à voir avec pro ou pas ^^
Pour ce qui est de la vérification du formulaire, Dreamweaver donne une belle illusion de sécurité, mais le problème est que si l'on désactive la Javascript (c'est juste une coche a enlever dans la plupart des grands navigateurs...) on finit par pouvoir taper ce que l'on veut... et cela donne lieu a de gros problèmes...
ci dessous un peux de lecture a ce propos:
- http://www.sitepoint.com/article/php-security-blunders/2/ (sur la page 2 SQL-Injections)
- http://www.linuxjournal.com/article/6061 (globalement très intéressant!)
Bonne journée!
PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here
|
|
dimanche 16 août 2009 à 21:07:43 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

palisse
|
Bonjour,
Je viens de faire une vérification progressive avec "echo" du code.
Ainsi la partie "insert" marche, puis avec "mysql_insert_id" aussi. Et si je rajoute "select" ça marche et le mail est bien envoyé à la bonne adresse.
Aussi je voudrais rediriger vers une autre page pour confirmer le bon envoi des informations. Or là ça ne marche pas. Voici le code entier
<code>
<?php
ob_start();
$cnx = mysql_connect( "localhost", "root", "" ) ;
$db = mysql_select_db( "contact" ) ;
if (isset($_POST['submit']))
//récupération des valeurs des champs:
//nom:
$titre= $_POST["titre"];
$nom= strip_tags($_POST["nom"]);
$responsabilite= $_POST["responsabilite"];
$eleve= strip_tags($_POST["eleve"]);
$classe= $_POST["classe"];
$email= $_POST["email"];
$prof= $_POST["prof"];
$date1= $_POST["date1"];
$heure1= $_POST["heure1"];
$date2= $_POST["date2"];
$heure2= $_POST["heure2"];
//création de la requête SQL:
$sql = "INSERT INTO rendezvous (titre, nom, responsabilite, eleve, classe, email, prof, date1, heure1, date2, heure2) VALUES ('$_POST[titre]', '$nom', '$responsabilite', '$eleve', '$classe', '$email', '$prof', '$date1', '$heure1', '$date2', '$heure2')" ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
$id = mysql_insert_id($cnx);
// on prépare la requête pour récupérer le numero du propriétaire
$sql = "SELECT * FROM rendezvous ORDER BY id DESC LIMIT 0,1";
$requete = mysql_query($sql, $cnx) or die( mysql_error() );
$result=mysql_fetch_row($requete);
$id = $result[0];
$titre = $result[1];
$nom = $result[2];
$responsabilite = $result[3];
$eleve = $result[4];
$classe = $result[5];
$email = $result[6];
$prof = $result[7];
$date1 = $result[8];
$heure1 = $result[9];
$date2 = $result[10];
$heure2 = $result[11];
// envoi email au secretariat
/* Construction du message */
$msg = " Ref: $id
BONJOUR MR / MME LE PROFESSEUR DE $prof
UNE DEMANDE DE RENDEZ-VOUS A ETE ENVOYEE PAR LE SITE DE SAINT ELME:
$titre $nom ($email)
$responsabilite DE $eleve, ELEVE EN CLASSE DE $classe
SOUHAITE VOUS RENCONTRER SOIT:
- LE $date1 A $heure1
ou
- LE $date2 A $heure2
MERCI DE CONFIRMER UN DE CES CHOIX AUPRES DU SECRETARIAT.";
/* Envoi de l'e-mail */
mail("palisse@numericable.fr", "DEMANDE DE RENDEZ-VOUS PROF", $msg)
if()
{ header('Location: envoimessage.php');
exit;
}
else
{
echo("L'envoi du message a échoué") ;
}
ob_end_flush();
?>
<code>
J'ai donc un problème avec le if en fin de code. Si je lui mets comme condition "requete" ça me met une erreur parse... même si je nomme cette requete "requete1". Ca ne reconnaît aucune condition.
Comment faire pour rediriger vers une autre page?
Merci
|
|
dimanche 16 août 2009 à 21:31:12 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

pysco68
|
Tu pourrais mettren en place une variable comme $error, puis remplacer par ex. tout tes or die( mysql_error()) par une incrémentation de cette variable...
a la fin tu vérifie si la variable est toujours égale a zéro tout c'est bien passé sinon tu envoi une erreur...
Bonne soirée
PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here
|
|
dimanche 16 août 2009 à 22:16:08 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

palisse
|
Bonsoir Pyscho,
Là je ne sais pas trop incrementer une variable.
Mais surtout je me demande pourquoi if($requete) ne marche pas quand je lui demande d'insérer puis d'envoyer un mail, alors que si je ne lui demande que d'insérer dans ma BDD ça marche et il me redirige vers une autre page qui envoie le mail.
Mais là où le bat blesse, je voudrais quand ce cas récupérer l'id nouvellement inséré dans ma page de redirection. Et là je n'y arrive pas!
J'espère être clair.
Merci
|
|
dimanche 16 août 2009 à 22:24:35 |
Re : Problème pour récupérer des données puis les mettre dans un mail à envoyer

pysco68
|
incrémenter une variable fonctionne de là facon suivante:
Code PHP :
$i = 0;
$i++; // maintenant on a $i == 1
enfin voilà...
sinon voilà ce que je ferais a ta place:
*pseudo-code: début*
# $erreur = 0;
#effectuer requete 1
-> si erreur: $erreur++;
#effectuer requete 2
-> si erreur: $erreur++;
#envoyer le mail
-> si erreur: $erreur++;
# $erreur == 0
-> rediriger
-> sinon envoyer erreure
* fin pseudo code *
Et voilà, j'espère que ca t'aide!
Bonne soirée
PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here
|
|
Cette discussion est classée dans : mail, récupérer, code, données, envoyer
Répondre à ce message
Sujets en rapport avec ce message
Récupérer données formulaire + envoi par e-mail [ par kronprinz ]
Quelqu'un peut-il m'aider ?Je cherche comment récupérer des données dans un formulaire et me les envoyer par e-mail avec PHP. Pouvez-vous m'expliquer
Envoi de mail HTML [ par cyaya ]
j'ai ecrit ce code pour envoyer des mail avec un textArea en format text, je voudrais savoir s'il y une option à rajouter pour pouvoir envoyer le mail
Voila j'ai fais un bouh de code pour envoyer des mail [ par timolerigolo ]
Bonjour,Voila j'ai fais un bouh de code PHP pour envoyer des Mail mé je ne sé pas si le code et bon et comme je ne resoie pas de mail je ne sé pas....
Recup code html de fichier pour envoyer par mail() [ par Magidev ]
Je souhaite récuperer le code d'un fichier HTML de mon site pour l'envoyer par mail au meme formatDans ce code HTML il ya des var php du style $mavarE
Récupérer les infos d'un formulaire envoyé par mail [ par Osirex ]
Bonjour, J'aimerais me lancer dans le PHP. J'ai un ptit projet qui est le suivant : Je voudrais envoyer un mail en introduisant du code php dedans pou
envoyer un mail [ par boubou2412 ]
Bonjour,j'ai un probléme et j'aimerais bien que vous m'aidez.mon code à pour but de générer des alarmes lors de la détection de dépassement de seuil d
Récupérer données de FORMULAIRE dans MAIL [ par fidecourt ]
bonjour à tous, un souci dans la récupération des données d'un formulaire dans un mail via une page "contactmail.php", qui fait appel à une page "cry
formulaire [ par menyarito ]
Bonjour ts le monde, j'ai crée un formulaire de saisie dans site web mais à chaque fois que je clic sur le bouton envoyer pour que je puisse envoyer l
récupérer les données du serveur SMTP vers mon application [ par infoges ]
Bonjour, tout d'abord il s'agit de deux serveurs SMTP: sender-SMTP et recceiver-SMTP. Dans le recceiver-SMTP, il y a un espace d'enregistrement là ou
Warning: mail(): SMTP [ par spike911 ]
Bonjour tout le monde, J'ai un problème avec la configuration d'easy PHP... j'ai trouvé un petit code source que me permet d'envoyer un email via une
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|