Norbert_404
dimanche 7 janvier 2007 à 00:13
Bonjour à tous !
Bonne année 2007 !
Moi aussi je suis dans le même cas que vous tous : je cherche un moyen de récupérer l'email depuis un formulaire php vers wanewsletter...
J'ai trouvé sur le forum de wanewsletter un topic et le code pour faire cela :
http://forum.phpcodeur.net/viewtopic.php?t=3952Reste à savoir ou mettre ce code :
CODE
*
* Génère le register_key pour l'inscription à la newsletter.
* Code de wanewsletter
*/
function generate_key($num_char = 32, $use_uniqid = true){
if( $use_uniqid == true ){
srand((double) microtime() * 1000000);
$rand_str = md5(uniqid(rand()));
}else{
$rand_str = md5(microtime());
}
return ( $num_char >= 32 ) ? $rand_str : substr($rand_str, 0, $num_char);
}
/*
* Gestion de l'utilisateur dans wanewsletter.
*/
function setWaUser($pseudo, $mail, $format, $action){
// Selon l'action on manage l'utilisateur ou on le supprime.
if ( !get_magic_quotes_gpc() ) {
$pseudo = mysql_real_escape_string($pseudo);
$mail = mysql_real_escape_string($mail);
}
if ( $action == "manage" ){
// On vérifie si le mail est déja dans la base.
// Au passage on en profite pour récupérer le abo_id qui sera utile pour l'update.
$query_user = "SELECT abo_id FROM wa_abonnes WHERE abo_pseudo = '".$pseudo."' AND abo_email = '".$mail."'";
$exe_query_user = mysql_query ( $query_user );
$row_query_user = mysql_fetch_row ( $exe_query_user );
if ( $row_query_user[0] > 0 ){
// Si l'email existe on fait un update des valeurs dans la table wa_abo_liste.
$query_up = "UPDATE wa_abo_liste SET format = ".$format.", register_date = ".time()." WHERE abo_id = ".$row_query_user[0]." LIMIT 1";
$exe_query_up = mysql_query ( $query_up );
}else{
// L'email n'existe pas donc on cré l'utilisateur.
// tout d'abord dans la table wa_abonnes.
$query_abo = "INSERT INTO wa_abonnes (abo_pseudo, abo_email, abo_status) VALUES ('".$pseudo."', '".$mail."', 1)";
$exe_query_abo = mysql_query ( $query_abo );
// Comme le champ abo_id n'est pas auto_incrementé il faut lui attribué le même manuellement.
$id_abo = mysql_insert_id ();
// et ont insert dans la base wa_abo_liste.
$query_liste = "INSERT INTO wa_abo_liste (abo_id, liste_id, format, register_key, register_date, confirmed) VALUES (".$id_abo.", 2, ".$format.", '".generate_key(20)."', ".time().", 1)";
$exe_query_liste = mysql_query ( $query_liste );
}
}elseif ( $action == "delete" ){
// L'utilisateur veut etre supprimer. On récupère sont abo_id.
$query_user = "SELECT abo_id FROM wa_abonnes WHERE abo_pseudo = '".$pseudo."' AND abo_email = '".$mail."'";
$exe_query_user = mysql_query ( $query_user );
$row_query_user = mysql_fetch_row ( $exe_query_user );
// On commence par la table wa_abo_liste.
$query_del_list = "DELETE FROM wa_abo_liste WHERE abo_id = ".$row_query_user[0]." LIMIT 1";
$exe_query_del_list = mysql_query ( $query_del_list );
// Et on termine par la table wa_abonnes.
$query_del_abo = "DELETE FROM wa_abonnes WHERE abo_id = ".$row_query_user[0]." LIMIT 1";
$exe_query_del_abo = mysql_query ( $query_del_abo );
}
}
Voila en espérant faire avancer le schmilbilck...