Mail automatique depuis formulaire
Résolu
maxireussite
Messages postés
372
Date d'inscription
Statut
Membre
Dernière intervention
-
maxireussite Messages postés 372 Date d'inscription Statut Membre Dernière intervention -
maxireussite Messages postés 372 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
Qqu'un saurait-il me dire pourquoi ça n'envoie pas de mail, comme je lui demande :() ?
Voici le script :
"<?php
if(isset($_POST['code_client'])) $typereexpedition=$_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
$Titre = "SELECT titre FROM oc_clients WHERE code_client='$code_client'";
$email = "SELECT email FROM oc_clients WHERE code_client='$code_client'";
//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"; 'Reply-To: accueil@*****.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email, 'colis à expédier', $message, $headers);
?>
"
merci d'avance de votre aide .
Qqu'un saurait-il me dire pourquoi ça n'envoie pas de mail, comme je lui demande :() ?
Voici le script :
"<?php
if(isset($_POST['code_client'])) $typereexpedition=$_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
$Titre = "SELECT titre FROM oc_clients WHERE code_client='$code_client'";
$email = "SELECT email FROM oc_clients WHERE code_client='$code_client'";
//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"; 'Reply-To: accueil@*****.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email, 'colis à expédier', $message, $headers);
?>
"
merci d'avance de votre aide .
A voir également:
- Mail automatique depuis formulaire
- Whatsapp formulaire opposition - Guide
- Réponse automatique thunderbird - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Formulaire de réclamation facebook - Guide
- Publipostage mail - Accueil - Word
15 réponses
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=""; }
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 ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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"; } ?>
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
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.
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";
}
?>
"
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
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>
modifies ta balise form il te manque le plus important method="post"
<form name="form1" method="post" action="add.php" onsubmit="return check1();" >
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ù.
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"; } ?>
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";
}
?>