Problème pour récupérer des données puis les mettre dans un mail à envoyer
cs_palisse
Messages postés6Date d'inscriptiondimanche 30 décembre 2007StatutMembreDernière intervention16 août 2009
-
13 août 2009 à 17:20
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 2014
-
16 août 2009 à 22:24
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.
//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() );
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 13 août 2009 à 22:08
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
[hr]
PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here
cs_palisse
Messages postés6Date d'inscriptiondimanche 30 décembre 2007StatutMembreDernière intervention16 août 2009 13 août 2009 à 23:28
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...
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 14 août 2009 à 08:55
Ç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...
//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);
// 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 16 août 2009 à 21:31
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
[hr]
PPT: Petit programmeur tranquille =) | Agence Web | Pysco68 was here
cs_palisse
Messages postés6Date d'inscriptiondimanche 30 décembre 2007StatutMembreDernière intervention16 août 2009 16 août 2009 à 22:16
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!