probleme de mail confirmation avec une variable base mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme de mail confirmation avec une variable base mysql

par Truc » 11 oct. 2005, 00:25

de rien (y a pas de tarif de nuit :lol: ), mais ajoute quant meme les header de Cyrano, ça te serviras certainement plustard.
EDIT: au passage n'oubli pas le [Résolu]

par drelb » 11 oct. 2005, 00:19

bien jouer :)

en fait dans mon formulaire , si l'utilisateur met rien ou se trompe dans la date de naissance jai pas encore verouillé ceci .. ca met 0000/00/00 dans la date

et ma requete pour recuperer Idbase utilisait toutes les valeurs fourni dont cette valeur dans la clause where, en la retirant .

cela fonctionne correctement

je vous remercie truc et cyrano pour votre aide tardive et vous souhaite bonne nuit :)

par Cyrano » 11 oct. 2005, 00:09

C'est une histoire d'encodage. Essaye comme ça : attention, j'ai simplifié la récupération de la valeur de la requête, et j'ai rajouté deux en-têtes pour le courriel. À tester :
<?php
$query4 = "select idbase from test ".
          "where member='$member' ".
          "and name='$name' ".
          "and firstname='$firstname' ".
          "and birth='$birth' ".
          "and country='$country' ".
          "and address='$address' ".
          "and town='$town' ".
          "and postal='$postal' ".
          "and mail='$mail' ".
          "and phone='$phone'";

$result4 = mysql_query($query4) or die();

// envoi mail de confirmation inscription
$idbase = mysql_result($result4,0);

$message = "Hello, ". $name ." ". $firstname ." ! \n\n".
"Thank you to be register.   Keep this e-mail please. \n".
"The informations about your account : \n".
"\n".
"Login name : ".$member." \n".
"Password : ".$password_clair." \n".
"\n".
"To activate your account, please use this link :  http://bob.fr/activation.php?mem_nomembre=".$idbase."  \n".
"\n".
"The bob Team";
$subject = "Inscription : bobtest";
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: bob<[email protected]>\r\n";
mail($mail, $subject, $message, $headers);
?>

par Truc » 11 oct. 2005, 00:05

Valeurs de retour
L'ID généré pour une colonne AUTO_INCREMENT par la dernière requête INSERT en cas de succès, 0 si la dernière requête n'a pas généré de valeur AUTO_INCREMENT, ou FALSE si aucune connexion MySQL n'a été établie.
faut effectivement avoir un auto-increment dans la table de la dernière insertion...d'apres toi c'est le cas :x

je vois que ça une variable qui est nulle, teste ta requete dans phpmyadmin pour voir si tu as un résultat

par drelb » 10 oct. 2005, 23:59

bon j'ai essayé MYSQL_INSERT_ID()

$idbase=mysql_insert_id($link);

il me donne un zero


http://bob.fr/activation.php?mem_nomembre=0

et en reprenant mon script et a remplacer le = par =3D

ca me donne

http://bob.fr/activation.php?mem_nomembre=3D

donc je patauge .. :(

par Cyrano » 10 oct. 2005, 23:36

Essaye en remplaçant le "=" par "=3D"

par Truc » 10 oct. 2005, 23:33

SAlut, le probleme n'est pas qu'il s'arrete d'afficher le message mais qu'il n'y a rien a la place de la variable ... est ce qu'elle contient bien un "id" (afficher+ verifier avant)
sinon pour récupèrer le dernier id inseré tu peut te servir de mysql_insert_id() au lieu de faire une requete rien pour cela.

probleme de mail confirmation avec une variable base mysql

par drelb » 10 oct. 2005, 23:18

bonjour :)

voici mon probleme c'est que mon mail est bien envoyer mais le lien de confirmation dedans s'arrete au signe = dans mem_nomembre=".$idbase." , et n'affiche pas id.

exemple du mail récuperé :
___________________________________
Thank you to be register. Keep this e-mail please.
The informations about your account :

Login name : TRICARD
Password : tricard

To activate your account, please use this link : http://bob.fr/activation.php?mem_nomembre=

The bob Team

__________________________________
voici la partie concernée code :

mon code insere avant les données du formulaire correctement dans la base et les utlise pour le mail d'activation, la seul variable qui est cherché c'est la colonne idbase qui est autoincrementé dans la table test


$query4 = "select idbase from test where member='$member' and name='$name' and firstname='$firstname' and birth='$birth' and country='$country' and address='$address' and town='$town' and postal='$postal' and mail='$mail' and phone='$phone'";



$result4 = mysql_query($query4) or die;


// envoi mail de confirmation inscription

$row = mysql_fetch_assoc($result4);
$idbase = $row['idbase'];

$message = "Hello, ".$name." ".$firstname." ! \n\nThank you to be register.   Keep this e-mail please. \nThe informations about your account : \n \nLogin name : ".$member." \nPassword : ".$password_clair." \n \nTo activate your account, please use this link :  http://bob.fr/activation.php?mem_nomembre=".$idbase."  \n\nThe bob Team";
$subject = "Inscription : bobtest";
$headers = "From: bob<[email protected]>\r\n";
mail($mail, $subject, $message, $headers);


merci d'avance de votre aide
drelb