Bavardages » Formulaire php
Catégorie:  
   
Formulaire php
Publié le 07/10/2006 @ 09:48:46,
Par Monky
Bonjour à tous,

Voilà plusieurs jours que je galère bêtement sur un code Php (auquel je ne connais rien). et je sens que c'est un bête problème...

Voilà, je suis hébergé chez Ovh. J'ai créé une mailing liste: mise_au_net@annonciation.net.
Je voudrais avoir un formulaire d'inscription et désinscription à la mailinglist. J'ai donc une page formulaire qui renvoie à une page en php http://www.annonciation.net/mail.html. L'adresse entrée par la personne devrait arriver à l'adresse suivante en imaginant que son adresse est jojo@skynet.be
mise_au_net-subscribe-jojo=skynet.be@annonciation.net

Le "@" doit donc être remplacé par un "="

Voici le code Php que j'ai pour l'instant - reçu par un gars sympa sur le forum:

// ### Definition des variables #######

// Domaine par exemple toto.com
$domaine = "annonciation.net";

// nom de la liste
$liste = "mise_au_net";

// adresse du mailer
$mailer = "/usr/sbin/sendmail ";

// e-mail de reception d'avis d'inscription
// laisser vide si vous ne voulez pas d'avis d'inscription
// envoyé par defaut a list-owner@mondomaine.com
$proprio = $liste."-owner@".$domaine;

// adresse et nom du fichier contenant
// la charte a envoyer lors de de l'inscription
// La laisser vide si vous ne désirez pas l'envoyer
$charte = "";


// adresse du fichier HTML modele pour la reponse
// ce fichier doit contenir <REPONSE> dans le code HTML
// a l'endroit ou doit se trouver la reponse
// (Optionnel)
$Template ="/home.10.3/annoncia/www/rep.html";


// ### Debut du programme ######


$dest = $liste."-".$action."@".$domaine;
$entete = "From: <$email>\n";
$mailer .= "-t -f$email";

switch($action)
{
case "subscribe":
$actionfr = "d'inscription";
break;

case "unsubscribe":
$actionfr = "de désinscription";
break;

case "help":
$actionfr = "d'aide";
break;
}

$pop =split("@", $email);
$email_user = $pop[0];
$email_host = $pop[1];
$email_rest = $pop[2];

if (($email=="")||
($email_user == "")||
($email_host == "")||
($email_rest != "")||
(!ereg("\.",$email_host)))
{

$reponse = "L'e-mail entré ne semble pas valide.!<BR>\n";


}
else
{

$fd = popen($mailer, "w");
fputs($fd, "To: $dest\n");
fputs($fd, "From: $email\n");
fputs($fd, "Cc: $proprio\r\n");
fputs($fd, "Subject: Demande $actionfr sur la liste : $liste\n");
pclose($fd);

// envoi de la charte
if (($action == "subscribe") && ($charte !=""))
{
$msg = implode("", file($charte));

$msg = addslashes($msg);
eval("\$msg = \"$msg\";");
$msg = stripslashes($msg);

mail ($email, "La charte de la mailing list de $liste@$domaine", $msg, "From:".$liste."-owner@".$domaine);
}

$reponse = "<P>Votre demande $actionfr sur la liste $liste a été enregistrée !<br>";

}


/*
###############################################
#### Affichage du message de confirmation #####
############# ou d'erreur #############
###############################################
*/

if ($Template == "")
{
print("<html>\n");
print("<head>\n");
print("<title>Inscription ml</title>\n");
print("</head>\n");
print("<body >\n");
print($reponse);
print("</body>\n");
print("</html>\n");

}else{
$FICHIER = fopen($Template,"r");
$ligne = fgets($FICHIER, 4096);
while ($ligne != "")
{
$ligne = stripslashes($ligne);
if (eregi("<REPONSE>", $ligne))
{
$ligne = eregi_replace("<REPONSE>", $reponse, $ligne);
}



echo $ligne;
$ligne = fgets($FICHIER, 4096);
}
}

?>



Voici celui proposé par OVH

<?php

$email_visiteur = Recuperation de l'adresse pasé dans le formulaire;

$to = "NOM_MAILING_LIST-subscribe-" . str_replace("@", "=", $email_visiteur) . "@domaine.tld";
$subject = "inscription";
$message = "inscription";
$additional_headers = "From: <".$email_visiteur.">
"."Reply-To:<".$email_visiteur.">
";
mail($to , $subject, $message, $additional_headers);
?>


Je n'arrive pas à me servir des deux pour faire quelques chose de fonctionnel. Pour l'instant, en utlisant le code du gars sympa, l'inscription n'est pas prise en compte. Je pense que c'est parce que le code n'envoie pas l'adresse de l'utilisateur à la bonne adresse pour l'inscription de la mailinglist.

Si vous voyez où est le problème, vous m'enlèveriez une grosse épine d'où vous voulez...
   
Formulaire php
Publié le 07/10/2006 @ 11:56:24,
Par Monky
:gratgrat:

Dernière édition: 07/10/2006 @ 11:58:52
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?