begin process at 2012 05 31 07:22:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Problème pour récupérer des données puis les mettre dans un mail à envoyer


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

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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 2,512 sec (3)

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