Mail automatique depuis formulaire
Résolu/Fermé
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
21 août 2013 à 08:14
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 24 août 2013 à 01:16
maxireussite Messages postés 372 Date d'inscription jeudi 10 mai 2007 Statut Membre Dernière intervention 11 mars 2020 - 24 août 2013 à 01:16
A voir également:
- Mail automatique depuis formulaire
- Yahoo mail - Accueil - Mail
- Publipostage mail - Accueil - Word
- Message automatique thunderbird - Guide
- Formulaire de réclamation facebook - Guide
- Windows live mail - Télécharger - Mail
15 réponses
adrienmarty
Messages postés
67
Date d'inscription
mercredi 29 avril 2009
Statut
Membre
Dernière intervention
25 octobre 2013
3
21 août 2013 à 13:29
21 août 2013 à 13:29
Je pense que ces requettes prennent en compte la variable $code_client :
Or dans tout les cas $code_client est égale à ""(rien) ou n'est pas défini à cause de :
Je pense que le bon code aurait été :
Et aussi fais attention quand tu récupère tes variables $_POST dis toi que tout le monde à accès à c'est variables et donc tu est vulnérable à des failles SQL.
Esseille de faire :
$Titre = "SELECT titre FROM oc_clients WHERE code_client='$code_client'"; $email = "SELECT email FROM oc_clients WHERE code_client='$code_client'";
Or dans tout les cas $code_client est égale à ""(rien) ou n'est pas défini à cause de :
if(isset($_POST['code_client'])) $typereexpedition=$_POST['code_client']; else $code_client="";
Je pense que le bon code aurait été :
if(isset($_POST['code_client'])) $code_client=$_POST['code_client']; else $code_client="";
Et aussi fais attention quand tu récupère tes variables $_POST dis toi que tout le monde à accès à c'est variables et donc tu est vulnérable à des failles SQL.
Esseille de faire :
if(isset($_POST['code_client'])) { if(get_magic_quotes_gpc()) { $code_client=mysql_real_escape_string($_POST['code_client']); } } else { $code_client=""; }
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
22 août 2013 à 00:13
22 août 2013 à 00:13
Merci bcp, je vais voir cela.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 22/08/2013 à 00:48
Modifié par maxireussite le 22/08/2013 à 00:48
Bon, ben après modif toujours rien. pour la sécurité on verra après, je veux déjà que ç fonctionne là, après je ferai des essais avec le modèle sécurisé que tu me proposes.
Qqu'un d'autre aurait-il svp une idée sur là où ça cloche ?
Qqu'un d'autre aurait-il svp une idée sur là où ça cloche ?
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
22 août 2013 à 03:12
22 août 2013 à 03:12
Heeeeeeeeeeeeeeeeeeeeelp !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 août 2013 à 14:27
22 août 2013 à 14:27
salut,
voir commentaires:
voir commentaires:
<?php if(isset($_POST['code_client'])){ $code_client=$_POST['code_client']; }else{ $code_client=""; } $db='****'; $cnx=mysql_connect('localhost', '****', '****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base $db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera /* pourquoi deux requettes ? tuu peux tout mettre dans la même $Titre = "SELECT titre FROM oc_clients WHERE code_client='$code_client'"; $email = "SELECT email FROM oc_clients WHERE code_client='$code_client'"; */ $req="SELECT titre,email FROM oc_clients WHERE code_client='".$code_client."'"; //et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch ! $resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error(); $row=mysql_fetch_array($resultat); $titre=$row['titre']; $email=$row['email']; //envoi du mail // message $message ="<html> <head> <p>A lire attentivement</p> </head> <body> <p>Bonjour ".$titre.",</p> </body> </html>"; $headers = "From: accueil@*******.com"."\r\n" . $headers .= "MIME-Version: 1.0"."\r\n";//la il te manquait le .= $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n"; $headers .= "Reply-To: accueil@*****.com"."\r\n" . $headers .="X-Mailer: PHP/".phpversion(); $envoi=mail($email, 'colis à expédier', $message, $headers); if($envoi){ echo "Le mail a bien été envoyé "; }else{ echo "Pb avec l'envoi du mail"; } ?>
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
22 août 2013 à 14:45
22 août 2013 à 14:45
bjr,
Merci je vais essayer cela.
pourquoi deux requêtes ?
En faites je compte utiliser chaque champs dans le corps du mail :
titre :
Nom :
prenom :
adresse :
etc...
Et comme je ne sais pas faire autrement, je comptais bidouiller...:) !
Merci en tous cas Alain_42
Merci je vais essayer cela.
pourquoi deux requêtes ?
En faites je compte utiliser chaque champs dans le corps du mail :
titre :
Nom :
prenom :
adresse :
etc...
Et comme je ne sais pas faire autrement, je comptais bidouiller...:) !
Merci en tous cas Alain_42
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 août 2013 à 18:21
22 août 2013 à 18:21
oui mais comme tu procédait ce n'était pas bon, il ne suffit pas de faire
$Titre = "SELECT titre FROM oc_clients WHERE code_client='$code_client'";
pour récupérer le titre, regardes ce que je t'ai proposé de plus près
$Titre = "SELECT titre FROM oc_clients WHERE code_client='$code_client'";
pour récupérer le titre, regardes ce que je t'ai proposé de plus près
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
22 août 2013 à 21:18
22 août 2013 à 21:18
Bon, ben ça ne marche pas !
Ce que je trouve bizarre c que je n'ai aucun message d'erreur, la page php en résultat est blanche...!
J'ai enlevé le mot de passe de la base, ça n'a même pas déclenché le message d'erreur.
Ce que je trouve bizarre c que je n'ai aucun message d'erreur, la page php en résultat est blanche...!
J'ai enlevé le mot de passe de la base, ça n'a même pas déclenché le message d'erreur.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
22 août 2013 à 22:09
22 août 2013 à 22:09
est tu sur d'appeler la bonne page .php ?
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
22 août 2013 à 22:43
22 août 2013 à 22:43
Oui, j'ai vérifié.
A ttes fins utiles, voilà le code final :
"<?php
if(isset($_POST['code_client'])){
$code_client=$_POST['code_client'];
}else{
$code_client="";
}
$db='****';
$cnx=mysql_connect('localhost', '****', '****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$req="SELECT titre,email FROM oc_clients WHERE code_client='".$code_client."'";
//et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch !
$resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error();
$row=mysql_fetch_array($resultat);
$titre=$row['titre'];
$email=$row['email'];
//envoi du mail
// message
$message ="<html>
<head>
<p>A lire attentivement</p>
</head>
<body>
<p>Bonjour ".$titre.",</p>
</body>
</html>";
$headers = "From: accueil@****.com"."\r\n" .
$headers .= "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
$headers .= "Reply-To: accueil@****.com"."\r\n" .
$headers .="X-Mailer: PHP/".phpversion();
$envoi=mail(to$email, 'colis à expédier', $message, $headers);
if($envoi){
echo "Le mail a bien été envoyé ";
}else{
echo "Pb avec l'envoi du mail";
}
?>
"
A ttes fins utiles, voilà le code final :
"<?php
if(isset($_POST['code_client'])){
$code_client=$_POST['code_client'];
}else{
$code_client="";
}
$db='****';
$cnx=mysql_connect('localhost', '****', '****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$req="SELECT titre,email FROM oc_clients WHERE code_client='".$code_client."'";
//et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch !
$resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error();
$row=mysql_fetch_array($resultat);
$titre=$row['titre'];
$email=$row['email'];
//envoi du mail
// message
$message ="<html>
<head>
<p>A lire attentivement</p>
</head>
<body>
<p>Bonjour ".$titre.",</p>
</body>
</html>";
$headers = "From: accueil@****.com"."\r\n" .
$headers .= "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
$headers .= "Reply-To: accueil@****.com"."\r\n" .
$headers .="X-Mailer: PHP/".phpversion();
$envoi=mail(to$email, 'colis à expédier', $message, $headers);
if($envoi){
echo "Le mail a bien été envoyé ";
}else{
echo "Pb avec l'envoi du mail";
}
?>
"
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 août 2013 à 14:03
23 août 2013 à 14:03
essayes comme ça:
sinon donnes nous le code de ton formulaire
<?php if(isset($_POST['code_client'])){ $code_client=$_POST['code_client']; }else{ $code_client=""; } /// TEST echo "Code client: ".$code_client; /// $db='****'; $cnx=mysql_connect('localhost', '****', '****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base $db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera $req="SELECT titre,email FROM oc_clients WHERE code_client='".$code_client."'"; //et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch ! $resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error(); $row=mysql_fetch_array($resultat); $titre=$row['titre']; $email=$row['email']; //envoi du mail // message $message ="<html> <head> <p>A lire attentivement</p> </head> <body> <p>Bonjour ".$titre.",</p> </body> </html>"; $headers = "From: accueil@****.com"."\r\n" . $headers .= "MIME-Version: 1.0"."\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n"; $headers .= "Reply-To: accueil@****.com"."\r\n" . $headers .="X-Mailer: PHP/".phpversion(); $envoi=mail(to$email, 'colis à expédier', $message, $headers); if($envoi){ echo "Le mail a bien été envoyé "; }else{ echo "Pb avec l'envoi du mail"; } ?>
sinon donnes nous le code de ton formulaire
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
23 août 2013 à 20:30
23 août 2013 à 20:30
Si par exemple je n'arrivais pas à me connecter à Mysql, ne devrais-je pas avoir un message d'erreur ? J'ai ôter le mdp pour voir, et je n'ai rien eu. Je précise que d'autres scipts fonctionnent déjà sur ma base et mon site.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
23 août 2013 à 19:46
23 août 2013 à 19:46
Ok, je vais voir cela. Merci bcp.
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 23/08/2013 à 20:35
Modifié par maxireussite le 23/08/2013 à 20:35
Bon ben j'ai pensé que l'erreur pouvait venir de code_client qui est sous la forme : 971 - 0315. J'ai donc remplace ce champs par l'id de la table oc_clients qui est sous la forme "315".
ça ne donne toujours rien : Voici le formulaire de page index.php, l'action submit renvoie à "add.php", dont le scipt est dans les post précédent :
<div id="content" style="left: 194px; top: 226px; height: 399px" class="auto-style6">
<h1 style="font-size: 200%; font-family: ;"><a name="">
<table style="width: 100%">
<tr>
<td class="auto-style7">Notifier colis payés à expédier</td>
</tr>
<tr>
<td class="auto-style7"> </td>
</tr>
</table>
</a></h1>
<!--//<07.08.2008/6.0.2.42/>-->
<script type="text/javascript">
//<![CDATA[
var validate, required, captcha, nocaptcha, first;
/* */
var http_obj = null;
function check1() {
validate = false;
required = false;
captcha = false;
nocaptcha = false;
first = null;
var pattern = /.*\@.*\..*/;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
if (document.sendform1.code_client.value == "") {
document.sendform1.code_client.className = 'txh';
if (!first)
first = 'code_client';
required = true;
} else
document.sendform1.code_client.className = 'tx';
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
if (document.sendform1.poids.value == "") {
document.sendform1.poids.className = 'txh';
if (!first)
first = 'poids';
required = true;
} else
document.sendform1.poids.className = 'tx';
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
check_result1();
/* */
}
function check_result1() {
/* */
var alerts = new Array();
if (validate)
alerts.push('Veuillez entrer une adresse e-mail correcte.');
if (required)
alerts.push('Veuillez remplir toutes les cases obligatoires.');
if (captcha)
alerts.push('Le code de sécurité est incorrect.');
if (nocaptcha)
alerts.push('Veuillez saisir le code de sécurité, celui-ci sert de protection contre tout abus.');
if (alerts.length) {
document.getElementById('myerror').innerHTML = alerts.join("<br />") + '<br /> ';
if (first) {
eval('document.sendform1.' + first + '.focus();');
eval('document.sendform1.' + first + '.select();');
}
} else {
document.sendform1.method = "POST";
document.sendform1.action = "add.php";
document.sendform1.submit();
return true;
}
}
//]]>
</script>
<form action="add.php" onsubmit="check1(); return false;" enctype="application/x-www-form-urlencoded">
<table cellpadding="0" cellspacing="5" class="formtab pluginwidth">
<tr>
<td colspan="2" class="auto-style7" id="myerror"></td>
</tr>
<!--Text-->
<tr>
<td style="height: 27px" class="auto-style7">Code client*</td>
<td style="height: 27px" class="auto-style7">
<?php
$db='eq96010';
$cnx=mysql_connect('localhost', 'eq96010', 'of06iaaj') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$requette = mysql_query("SELECT DISTINCT client_id FROM oc_clients ORDER BY client_id ASC") or die("Pb avec la requette ".mysql_error());
//messages de TEST à oter ensuite qd ça marchera
?><select name="client_id" style="width: 159px">
<?php
while ($valeur = mysql_fetch_array($requette)){
echo '<option value="'.$valeur['client_id'].'" >'.$valeur['client_id'].'</option>';
}
?>
<option selected="selected">315</option>
</select></td>
</tr>
<!--Text-->
<tr>
<td class="auto-style7">Nbre de colis à expédier*</td>
<td class="auto-style7">
<input class="auto-style7" type="text" name="nbrecolis" value="1" /></td>
</tr>
<!--Textarea-->
<tr>
<td valign="top" class="auto-style7" style="height: 109px">Observations</td>
<td style="height: 109px" class="auto-style7">
<textarea class="tx" name="observations" cols="20" rows="1"></textarea></td>
</tr>
<tr>
<td colspan="2" class="auto-style7"></td>
</tr>
</table>
<br />
<table cellpadding="0" cellspacing="5" class="completewidth">
<tr>
<td class="auto-style7">
<input
type="image" src="../../images/w2dsbmt.gif" usemap="../colis-arrives/0" style="border: 0"
/>
</td>
</tr>
</table>
</form>
<div id="more">
<table style="width: 100%">
<tr>
<td class="auto-style7"> </td>
</tr>
</table>
</div>
</div>
ça ne donne toujours rien : Voici le formulaire de page index.php, l'action submit renvoie à "add.php", dont le scipt est dans les post précédent :
<div id="content" style="left: 194px; top: 226px; height: 399px" class="auto-style6">
<h1 style="font-size: 200%; font-family: ;"><a name="">
<table style="width: 100%">
<tr>
<td class="auto-style7">Notifier colis payés à expédier</td>
</tr>
<tr>
<td class="auto-style7"> </td>
</tr>
</table>
</a></h1>
<!--//<07.08.2008/6.0.2.42/>-->
<script type="text/javascript">
//<![CDATA[
var validate, required, captcha, nocaptcha, first;
/* */
var http_obj = null;
function check1() {
validate = false;
required = false;
captcha = false;
nocaptcha = false;
first = null;
var pattern = /.*\@.*\..*/;
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
if (document.sendform1.code_client.value == "") {
document.sendform1.code_client.className = 'txh';
if (!first)
first = 'code_client';
required = true;
} else
document.sendform1.code_client.className = 'tx';
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
if (document.sendform1.poids.value == "") {
document.sendform1.poids.className = 'txh';
if (!first)
first = 'poids';
required = true;
} else
document.sendform1.poids.className = 'tx';
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
check_result1();
/* */
}
function check_result1() {
/* */
var alerts = new Array();
if (validate)
alerts.push('Veuillez entrer une adresse e-mail correcte.');
if (required)
alerts.push('Veuillez remplir toutes les cases obligatoires.');
if (captcha)
alerts.push('Le code de sécurité est incorrect.');
if (nocaptcha)
alerts.push('Veuillez saisir le code de sécurité, celui-ci sert de protection contre tout abus.');
if (alerts.length) {
document.getElementById('myerror').innerHTML = alerts.join("<br />") + '<br /> ';
if (first) {
eval('document.sendform1.' + first + '.focus();');
eval('document.sendform1.' + first + '.select();');
}
} else {
document.sendform1.method = "POST";
document.sendform1.action = "add.php";
document.sendform1.submit();
return true;
}
}
//]]>
</script>
<form action="add.php" onsubmit="check1(); return false;" enctype="application/x-www-form-urlencoded">
<table cellpadding="0" cellspacing="5" class="formtab pluginwidth">
<tr>
<td colspan="2" class="auto-style7" id="myerror"></td>
</tr>
<!--Text-->
<tr>
<td style="height: 27px" class="auto-style7">Code client*</td>
<td style="height: 27px" class="auto-style7">
<?php
$db='eq96010';
$cnx=mysql_connect('localhost', 'eq96010', 'of06iaaj') or die("Pb connexion serveur ".mysql_error()); // connexion à la base
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$requette = mysql_query("SELECT DISTINCT client_id FROM oc_clients ORDER BY client_id ASC") or die("Pb avec la requette ".mysql_error());
//messages de TEST à oter ensuite qd ça marchera
?><select name="client_id" style="width: 159px">
<?php
while ($valeur = mysql_fetch_array($requette)){
echo '<option value="'.$valeur['client_id'].'" >'.$valeur['client_id'].'</option>';
}
?>
<option selected="selected">315</option>
</select></td>
</tr>
<!--Text-->
<tr>
<td class="auto-style7">Nbre de colis à expédier*</td>
<td class="auto-style7">
<input class="auto-style7" type="text" name="nbrecolis" value="1" /></td>
</tr>
<!--Textarea-->
<tr>
<td valign="top" class="auto-style7" style="height: 109px">Observations</td>
<td style="height: 109px" class="auto-style7">
<textarea class="tx" name="observations" cols="20" rows="1"></textarea></td>
</tr>
<tr>
<td colspan="2" class="auto-style7"></td>
</tr>
</table>
<br />
<table cellpadding="0" cellspacing="5" class="completewidth">
<tr>
<td class="auto-style7">
<input
type="image" src="../../images/w2dsbmt.gif" usemap="../colis-arrives/0" style="border: 0"
/>
</td>
</tr>
</table>
</form>
<div id="more">
<table style="width: 100%">
<tr>
<td class="auto-style7"> </td>
</tr>
</table>
</div>
</div>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 août 2013 à 21:24
23 août 2013 à 21:24
modifies ta balise form il te manque le plus important method="post"
<form name="form1" method="post" action="add.php" onsubmit="return check1();" >
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
Modifié par maxireussite le 23/08/2013 à 21:34
Modifié par maxireussite le 23/08/2013 à 21:34
Bjr Alain_42,
En fait elle y est. C un formulaire généré par Web to date que j'ai modifié et qui fonctionne ailleurs sur le site selon mes modifs.
Pour tester notre script php, j'ai créé un formulaire avec un seul champs "client_id" et le bouton submit, et ça ne marche toujours pas : method et action y sont.
Ailleurs l'on me conseille des balises html, mais je n'ai pas encore compris où.
En fait elle y est. C un formulaire généré par Web to date que j'ai modifié et qui fonctionne ailleurs sur le site selon mes modifs.
Pour tester notre script php, j'ai créé un formulaire avec un seul champs "client_id" et le bouton submit, et ça ne marche toujours pas : method et action y sont.
Ailleurs l'on me conseille des balises html, mais je n'ai pas encore compris où.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
23 août 2013 à 23:20
23 août 2013 à 23:20
ton pg:
la fonction javascript qui rajoute la method n'a pas l'air de fonctionner
donc il faut absolument que tu mettes la ligne
ensuite plein d'erreurs dans add.php
voir commentaires
la fonction javascript qui rajoute la method n'a pas l'air de fonctionner
donc il faut absolument que tu mettes la ligne
<form action="add.php" method="post" .........
ensuite plein d'erreurs dans add.php
voir commentaires
<?php echo '<pre>'; print_r($_POST); echo '</pre>'; echo '<pre>'; print_r($_GET); echo '</pre>'; if(isset($_POST['client_id'])){ //erreur tu avait mis code_client hors le name de la liste selct correspondante est client_id $code_client=$_POST['client_id']; }else{ $code_client=""; } /// TEST echo "Code client: ".$code_client; /// $db='*****'; $cnx=mysql_connect('localhost', '****, '*******') or die("Pb connexion serveur ".mysql_error()); // connexion à la base$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera $db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera $req="SELECT titre,email FROM oc_clients WHERE client_id='".$code_client."'"; //erreur tu avait mis code_client=.. au lieu de client_id=.. comme nbom de champ de ta table //et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch ! $resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error()); //manque ) ici $row=mysql_fetch_array($resultat); $titre=$row['titre']; $email=$row['email']; //envoi du mail // message $message ="<html> <head> <p>A lire attentivement</p> </head> <body> <p>Bonjour ".$titre.",</p> </body> </html>"; $headers = "From: accueil@****.com"."\r\n"; //manquait le ; $headers .= "MIME-Version: 1.0"."\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n"; $headers .= "Reply-To: accueil@****.com"."\r\n" . $headers .="X-Mailer: PHP/".phpversion(); $envoi=mail($email, 'colis à expédier', $message, $headers); //erreur pas de to$email mais $email if($envoi){ echo "Le mail a bien été envoyé "; }else{ echo "Pb avec l'envoi du mail"; } ?>
maxireussite
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
5
24 août 2013 à 01:16
24 août 2013 à 01:16
Hop; ça y est ! On le tient.
ton petit test en première partie m'a bien aidé. En effet, je l'ai isolé du reste et ça fonctionnait.
Ensuite la coloration syntaxique m'a fait voir qu'il manquait un " ' " dans la connexion à la base.
Eh bien je te dois une fière chandelle Alain_42..
Inutile de te dire que ne n'étaie qu'un modèle, je vais m'atteler au véritable script final.
Pour ceux que ça intéresse voilà le script qui fonctionne, je n'ai pas encore enlevé les observations :
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
echo '<pre>';
print_r($_GET);
echo '</pre>';
if(isset($_POST['client_id'])){ //erreur tu avait mis code_client hors le name de la liste selct correspondante est client_id
$client_id=$_POST['client_id'];
}else{
$client_id="";
}
/// TEST
echo "client_id: ".$client_id;
///
$db='*****';
$cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$req="SELECT titre,email FROM oc_clients WHERE client_id='".$client_id."'"; //erreur tu avait mis code_client=.. au lieu de client_id=.. comme nbom de champ de ta table
//et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch !
$resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error()); //manque ) ici
$row=mysql_fetch_array($resultat);
$titre=$row['titre'];
$email=$row['email'];
//envoi du mail
// message
$message ="<html>
<head>
<p>A lire attentivement</p>
</head>
<body>
<p>Bonjour ".$titre.",</p>
</body>
</html>";
$headers = "From: accueil@*****.com"."\r\n"; //manquait le ;
$headers .= "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
$headers .= "Reply-To: accueil@*****.com"."\r\n" .
$headers .="X-Mailer: PHP/".phpversion();
$envoi=mail($email, 'colis à expédier', $message, $headers); //erreur pas de to$email mais $email
if($envoi){
echo "Le mail a bien été envoyé ";
}else{
echo "Pb avec l'envoi du mail";
}
?>
ton petit test en première partie m'a bien aidé. En effet, je l'ai isolé du reste et ça fonctionnait.
Ensuite la coloration syntaxique m'a fait voir qu'il manquait un " ' " dans la connexion à la base.
Eh bien je te dois une fière chandelle Alain_42..
Inutile de te dire que ne n'étaie qu'un modèle, je vais m'atteler au véritable script final.
Pour ceux que ça intéresse voilà le script qui fonctionne, je n'ai pas encore enlevé les observations :
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
echo '<pre>';
print_r($_GET);
echo '</pre>';
if(isset($_POST['client_id'])){ //erreur tu avait mis code_client hors le name de la liste selct correspondante est client_id
$client_id=$_POST['client_id'];
}else{
$client_id="";
}
/// TEST
echo "client_id: ".$client_id;
///
$db='*****';
$cnx=mysql_connect('localhost', '*****', '*****') or die("Pb connexion serveur ".mysql_error()); // connexion à la base$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$db_sel=mysql_select_db($db) or die("Erreur de selection ".mysql_error()); // sélection de la base //messages de TEST à oter ensuite qd ça marchera
$req="SELECT titre,email FROM oc_clients WHERE client_id='".$client_id."'"; //erreur tu avait mis code_client=.. au lieu de client_id=.. comme nbom de champ de ta table
//et la il te manquue des choses: soumettre la requette et extraire les valeurs par un fetch !
$resultat=mysql_query($req) or die ("Pb avec la requette ".mysql_error()); //manque ) ici
$row=mysql_fetch_array($resultat);
$titre=$row['titre'];
$email=$row['email'];
//envoi du mail
// message
$message ="<html>
<head>
<p>A lire attentivement</p>
</head>
<body>
<p>Bonjour ".$titre.",</p>
</body>
</html>";
$headers = "From: accueil@*****.com"."\r\n"; //manquait le ;
$headers .= "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
$headers .= "Reply-To: accueil@*****.com"."\r\n" .
$headers .="X-Mailer: PHP/".phpversion();
$envoi=mail($email, 'colis à expédier', $message, $headers); //erreur pas de to$email mais $email
if($envoi){
echo "Le mail a bien été envoyé ";
}else{
echo "Pb avec l'envoi du mail";
}
?>