Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1363 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Creation d'une alerte mail

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Creation d'une alerte mail

n°1151168
taomez1
Posté le 16-07-2005 à 12:00:12  profilanswer
 

Bonjour à tous,
 
Voilà, j'ai besoins de vos éclairages; j'ai créé un site immobilier et je veux faire une alerte mail pour que mes acheteurs potentiels puissent mettre leurs preferences et recevoir automatiquement un mail lorsqu'un nouveau bien correspondant à leurs critères.
 
J'ai créé une table acheteur et un table preferences et biens.  
 
L'inscription fonctionne très bien mais j'ai un souci avec mon alerte car quelque soit les critères, on reçoit tous les biens de la base de donnée.  
Je n'y comprends rien, si quelqu'un pouvait m'aider. Merci encore pour votre aide. Je vous laisse mon script php pour que vous puissiez l'analyser.
 
<?php require_once('connexion.php'); ?>
<?php
$dateA = date("Y-m-d H:i:s" );
 
//recuperer les donnees du formulaire
$identifiant = isset($_REQUEST["identifiant"]) ? $_REQUEST["identifiant"] : '';
$pass = isset($_REQUEST["pass"]) ? $_REQUEST["pass"] : '';
$civ = isset($_REQUEST["civ"]) ? $_REQUEST["civ"] : '';
$nom = isset($_REQUEST["nom"]) ? $_REQUEST["nom"] : '';
$prenom = isset($_REQUEST["prenom"]) ? $_REQUEST["prenom"] : '';
$email = isset($_REQUEST["email"]) ? $_REQUEST["email"] : '';
$tel = isset($_REQUEST["tel"]) ? $_REQUEST["tel"] : '';
$cp = isset($_REQUEST["cp"]) ? $_REQUEST["cp"] : '';
 
$gestion = isset($_REQUEST["gestion"]) ? $_REQUEST["gestion"] : '';
$type1 = isset($_REQUEST["type1"]) ? $_REQUEST["type1"] : '';
$type2 = isset($_REQUEST["type2"]) ? $_REQUEST["type2"] : '';
$type3 = isset($_REQUEST["type3"]) ? $_REQUEST["type3"] : '';
$type4 = isset($_REQUEST["type4"]) ? $_REQUEST["type4"] : '';
$type5 = isset($_REQUEST["type5"]) ? $_REQUEST["type5"] : '';
$type6 = isset($_REQUEST["type6"]) ? $_REQUEST["type6"] : '';
$type7 = isset($_REQUEST["type7"]) ? $_REQUEST["type7"] : '';
$type8 = isset($_REQUEST["type8"]) ? $_REQUEST["type8"] : '';
$type9 = isset($_REQUEST["type9"]) ? $_REQUEST["type9"] : '';
 
$prixMin = isset($_REQUEST["prixMin"]) ? $_REQUEST["prixMin"] : '0';
$prixfMax = isset($_REQUEST["prixMax"]) ? $_REQUEST["prixMax"] : '0';
$surfMin = isset($_REQUEST["SurfMin"]) ? $_REQUEST["SurfMin"] : '0';
$surfMax = isset($_REQUEST["SurfMax"]) ? $_REQUEST["SurfMax"] : '0';
 
// ci-dessous on ins?re les infos dans particulier acheteur  
$sql = "INSERT INTO particulier_a (pa_id, pa_identifiant, pa_nom, pa_prenom, pa_pass, pa_mail, pa_time) VALUES('','$identifiant','$nom', '$prenom', '$pass','$email','$dateA')";  
$res = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$reqSel = "select max(pa_id) as idNewClient from particulier_a";
$resSel = mysql_query($reqSel);
$rowSel = mysql_fetch_assoc($resSel);
$idNewClient = $rowSel['idNewClient'];
 
//requete pour inserer dans la table preferences
$req = "INSERT INTO preferences (pref_id,pref_type1, pref_type2, pref_type3, pref_type4, pref_type5, pref_type6, pref_type7, pref_type8, pref_type9, pref_mode, pref_min, pref_max, pref_surfMin, pref_surfMax, pref_time) VALUES ('$idNewClient','$type1','$type2','$type3','$type4','$type5','$type6','$type7','$type8', '$type9','$gestion', '$prixMin', '$prixMax','$surfMin', '$surfMax', '$dateA')";
mysql_query($req) or die('Erreur SQL !'.$req.'<br>'.mysql_error());  
 
 
//requete qui compare les donn?es saisies avec celles dans la table biens
$comp = "SELECT * FROM biens WHERE bpa_mode = '$gestion' AND bpa_type='$type1'";
// et ensuite, je vais rajouter ou non des crit?res de s?lection ? ma requ?te suivant les param?tres  
if($type2 != ''){$comp .= " OR bpa_type='$type2' ";}
if($type3 != ''){$comp .= " OR bpa_type='$type3' ";}
if($type4 != ''){$comp .= " OR bpa_type='$type4' ";}
if($type5 != ''){$comp .= " OR bpa_type='$type5' ";}
if($type6 != ''){$comp .= " OR bpa_type='$type6' ";}
if($type7 != ''){$comp .= " OR bpa_type='$type7' ";}
if($type8 != ''){$comp .= " OR bpa_type='$type8' ";}
if($type9 != ''){$comp .= " OR bpa_type='$type9' ";}
 
if($prixMin != '' && $prixMax != ''){$comp .= " OR bpa_tarif>=$prixMin AND"; $comp .= " bpa_tarif<=$prixMax";}
if($prixMin != '' && $prixMax == ''){$comp .= " OR bpa_tarif>=$prixMin";}
if($prixMax != '' && $prixMin == ''){$comp .= " OR bpa_tarif<=$prixMax";}
if($surfMin != '' && $surfMax != ''){$comp .= " OR bpa_superficie>=$surfMin AND"; $comp .= " bpa_superficie<=$surfMax";}
if($surfMin != '' && $surfMax == ''){$comp .= " OR bpa_superficie>=$surfMin";}
if($surfMax != '' && $surfMin == ''){$comp .= " OR bpa_superficie<=$surfMax";}
 
$resp = mysql_query($comp) or die('Flop'.$comp.'<br>'.mysql_error());  
//$pouet = mysql_fetch_assoc($resp);  
//echo "reference des biens qui correspondent : ".$pouet['bpa_ref'];
//if (!$row = mysql_fetch_assoc($resp)){
//}
//else {
while($row = mysql_fetch_assoc($resp)){
    $ref = $row['bpa_ref'];
    $typ = $row['bpa_type'];
    $user = $row['bpa_user'];
    $utilisateur = $row['bpa_pa'];
 //fonction qui envoie le mail avec en corps de texte le lien qui correspond au bien
 // on d?clare les param?tres du mail
 $destinataire = $email;
 $expediteur = "contact@immo-360.com";
 $objet = "ajout de preference sur le site Immo 360";
 $contenu = "<html><body>".
      "<h3><i>Bonjour $civ $nom $prenom</i></h3>".
               "Vous vous ?tes inscrit &agrave; l'alerte mail pour recevoir les biens qui vous correspondent par email<br/>".
               "Vous trouverez ci-dessous des informations qui vont vous int&eacute;resser<br/>".
               "<a href=\"http://immo-360.com/details.php?reference=$ref&idClient=$utilisateur&user=$user\">cliquez ici</a><br/>".
               "reference : $ref c'est un bien de type : $typ<br/>".
               "</body></html>";
 //on envoie le mail
 mail($destinataire, $objet, $contenu, "From: $expediteur\r\nReply-To: $expediteur\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n" );
// }
 }?>

mood
Publicité
Posté le 16-07-2005 à 12:00:12  profilanswer
 

n°1151176
sielfried
Posté le 16-07-2005 à 12:44:02  profilanswer
 

Euh, un mail() dans une boucle, sur le même destinataire ? T'envoies un mail par "bien" là si j'ai bien compris ? C'est pas possible d'en envoyer qu'un seul ?
 
Pour ton soucis, déjà fait un echo $comp avant ton mysql_query, vérifie que la requête est bonne. Si elle semble bonne, alors après faudra voir par rapport au contenu de ta table.
 
Sinon, plus rien à voir mais tu peux remplacer :

Code :
  1. $reqSel = "select max(pa_id) as idNewClient from particulier_a";
  2. $resSel = mysql_query($reqSel);
  3. $rowSel = mysql_fetch_assoc($resSel);
  4. $idNewClient = $rowSel['idNewClient'];

par

Code :
  1. $idNewClient = mysql_insert_id();


 
edit: et puis pas grand chose à voir non plus mais spa très sécurisé tout ça, va faire un tour du côté de :
http://fr2.php.net/mysql_real_escape_string


Message édité par sielfried le 16-07-2005 à 12:46:30

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Creation d'une alerte mail

 

Sujets relatifs
des données dans mon mail incorrecte (depuis un formulaire)[php] Fonction mail, erreur incompréhensible [Résolu]
[access] création d'étatenvoyer un mail en c# / server smtp
Création d'indexCréation de requetes préformatés
Création de colonnes dans une listbox vb6Création d'une carte en PHP
Création de liste par un fichierpb envoi de mail avec SMTP exchange 2003 [JMail] [Résolu]
Plus de sujets relatifs à : Creation d'une alerte mail


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR