Script php newsletter

Résolu/Fermé
jupiler - 13 déc. 2009 à 21:44
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 13 déc. 2009 à 22:36
Bonjour,

Voila j'ai un formulaire avec une script php qui me permet d'ajouter un email dans ma base ou d ele supprimer selon que le visiteur ait choisi s'abonner ou se se desabonner sur mon site mais mon script php ne fonctionne pas aucun message d 'erreur il prend en compte if(isset($_POST['envoi'])) mais pas mes conditions d'après...

Merci de m'aider


if(isset($_POST['envoi']))
{
$fonction=mysql_real_escape_string(htmlspecialchars($_POST['fonction']));
if($fonction==abonner)
{
$mail = mysql_real_escape_string(htmlspecialchars($_POST['zone_email']));
$ab = mysql_real_escape_string(htmlspecialchars($_POST['abonner']));
$sql = "INSERT INTO newsletter (id, mail) VALUES ('', '$mail')";
$req = mysql_query($sql) or die( mysql_error() ) ;
$email = mysql_result($req, 0);
if ($req)
{
echo "<script language=\"JavaScript\">\n";
echo 'alert("'.$mail.' a bien été ajouté à notre base");';
echo "window.location.href = 'index.php'";
echo "</script>";
}
}
if($fonction==desabonner)
{
$mail = mysql_real_escape_string(htmlspecialchars($_POST['zone_email']));
$desab = mysql_real_escape_string(htmlspecialchars($_POST['desabonner']));
$sql = "SELECT email FROM desabonnement where email='$mail'";
$req = mysql_query($sql) or die( mysql_error() ) ;
$email = mysql_result($req, 0);
$sql2 ="DELETE FROM desabonnement WHERE email='$email'";
$req2 = mysql_query($sql2) or die( mysql_error());
if ($req2)
{
echo "<script language=\"JavaScript\">\n";
echo 'alert("'.$email.' a bien été supprimé de notre base");';
echo "window.location.href = 'index.php'";
echo "</script>";
}
}
}
?>
<div id="cont">
<div id="cont-L">
<form value="ok" action="" method="post" name="mail_form">
<div align="center"></div>
<table>
<tbody>
<tr>
<td style="font-family: Arial; color: rgb(34, 34, 34); padding-left: 40px; font-size: 14px;">E mail :</td>
<td style="padding-bottom: 5px;">
<input type="text" name="zone_email"/>
</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td class="desab-bis">
<select id="fonction" name="fonction">
<option name="abonner" value="abonner">s'abonner</option>
<option name="desabonner"value="desabonner">se désabonner</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="submit" style="font-family: Verdana; color: rgb(255, 255, 255); background-color: rgb(0, 153, 255);" value="Valider" name="envoi"/>
</td>
</tr>
</tbody>
</table>
</form>
</div>
A voir également:

2 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
13 déc. 2009 à 22:29
Entoure « abonner » de guillemets (simple ou double).
1
Merci pour ta réponse avion

bizarre le souci venait de ce bout de code

<form value="ok" action="" method="post">

Il me semblait qu en laissant le champ action vide le script s executait dans le meme fichier et la non ...

j ai du spécifier le fichier alors que c est "lui meme"

voila merci encore avion
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
13 déc. 2009 à 22:36
un value sur la balise form ne sert à rien.
Ensuite, si tu laisses l'action vide, ça revient exactement à la même chose que d'indiquer le nom du fichier actuel.
1