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

  FORUM HardWare.fr
  Programmation
  PHP

  Newsletter débutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Newsletter débutant

n°1464384
jeromeke
Posté le 24-10-2006 à 19:38:31  profilanswer
 

Bonjour, j'ai un petit problème avec ma newsletter (le début)
 
http://jerome.monprojet.info/The-Sapiens
 
Voici le formulaire ou l'on insère l'email
 

Citation :

<form action="insert.php" target="mainframe" method="post">
 
<table width="100%" height="100%" background="images/sapiens_02_02.gif">
<tr><td>
 
<table width="100%">
<tr><td align="right">
<font color="2D2D2D">e-mail: <input class="login" type="text" name="email" value="">
<input type="submit" value="Go" class="newsletter" name="choix">
</td></tr><tr><td valign="center" align="right">
<fieldset><label>
<input type="checkbox" class="chk" name="chkbox1" value="1">
<font color="2D2D2D">Uitschrijven</font>
</label></fieldset></tr></table>
 
</td></tr></table>
 
</form>


 
Et ensuite l'écriture/l'éffacement dans la base de données
 

Citation :

<?
if ($email!="" )
{
$server = "xxx";  
$user = "xxx";    
$pw = "xxx";  
$base = "xxx";
 
MYSQL_CONNECT($server,$user,$pw) or die("Probeer opnieuw <img src='../../images/smileys/smiley6.gif'>" );  
mysql_select_db("$base" )  or die("Probeer opnieuw <img src='../../images/smileys/smiley6.gif'>" );
 
$requet = "SELECT * FROM NEWSLETTER ORDER";
$resulta = mysql_query( "$requet" );
 
if ($email!=$row[email])
{
$sql = mysql_query("INSERT INTO NEWSLETTER VALUES ('','$email')" );
echo '<table width=100% height=100%><tr><td align=center valign=center>You have been added to the mailing list!</td></tr></table>';
}
elseif ($chkbox1==1)
{
$sql = mysql_query("DELETE FROM NEWSLETTER WHERE email='$email'" );
echo '<table width=100% height=100%><tr><td align=center valign=center>You have been deleted from the mailing list!</td></tr></table>';
}  
}
?>


 
Il ajoute sans problèmes mais impossible de supprimer un email...
Une idée?


Message édité par jeromeke le 24-10-2006 à 19:39:10
mood
Publicité
Posté le 24-10-2006 à 19:38:31  profilanswer
 

n°1464401
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 24-10-2006 à 20:47:26  profilanswer
 

$chkbox = $_POST['chkbox1'];
 
Je pense pas que les chiffres soient mettables ds les var

n°1464410
naceroth
Posté le 24-10-2006 à 21:10:00  profilanswer
 

Comme d'hab dans ce genre de cas, affiche les éventuels messages d'erreurs de mysql plutôt que les ignorer :)
 
(bizarre de mélanger néerlandais et anglais sinon :D)

n°1464412
gooopil
pfiew
Posté le 24-10-2006 à 21:14:04  profilanswer
 

Rien à voir avec le sujet, mais pourquoi tu ouvres un popup au lieu de laisser le site dans sa fenêtre de départ  [:mister_k]  
 

n°1464452
jeromeke
Posté le 24-10-2006 à 22:58:03  profilanswer
 

Citation :

Comme d'hab dans ce genre de cas, affiche les éventuels messages d'erreurs de mysql plutôt que les ignorer :)
 
(bizarre de mélanger néerlandais et anglais sinon :D)


 
Il n'y a pas d'erreurs :(
Le site est pour un groupe néerlandophone (partie admin)  mais le public peut être international (partie visible) :)
 
:(:(:(
 
Je pense que l'erreur se situe au niveau du checkbox mais je ne sais pas ou?
Quoi que je fasse il ajoute toujours, meme si je coche "Uitschrijven" (désinscrire)


Message édité par jeromeke le 24-10-2006 à 23:31:37
n°1464459
naceroth
Posté le 24-10-2006 à 23:12:27  profilanswer
 

Si c'est le code complet et qu'il n'affiche pas le message de suppression, on va miser sur un code basé sur une vieille version de php, ajoute l'initialisation de $chkbox1 dans ton code, avec la vérif de l'existance de $_POST['chkbox1'] :)
 
(WiiDS a donné la base, je vais pas recopier bêtement :))
 
Ah, vu l'edit et en regardant le code dans son ensemble, ça veut en effet rien dire :D
 
La requête a un ORDER en trop (ou un paramètre qui manque, au choix), il manque un mysql_fetch_array pour lire les résultats (dans une boucle peut-être, suivant ce que tu veux faire), il manque les ' autour du nom du champs de $row. Bref, il y a des corrections à faire :D


Message édité par naceroth le 24-10-2006 à 23:19:05
n°1464471
jeromeke
Posté le 24-10-2006 à 23:29:37  profilanswer
 

J'y suis presque, sauf que maintenant il ne fait plus qu'effacer, il n'arrive plus a ajouter!
(le monde a l'envers)
 :cry:  :cry:  :cry:  
 

Citation :

<?
if ($email!="" )
{
$server = "xxx";  
$user = "xxx";    
$pw = "xxx";  
$base = "xxx";
 
MYSQL_CONNECT($server,$user,$pw) or die("Probeer opnieuw <img src='../../images/smileys/smiley6.gif'>" );  
mysql_select_db("$base" )  or die("Probeer opnieuw <img src='../../images/smileys/smiley6.gif'>" );
 
$requet = "SELECT * FROM NEWSLETTER";
$resulta = mysql_query( "$requet" );
 
while( $row = mysql_fetch_array($resulta) )
{
if ($email!=$row[email])
{
$sql = mysql_query("INSERT INTO NEWSLETTER VALUES ('','$email')" );
echo '<table width=100% height=100%><tr><td align=center valign=center>You have been added to the mailing list!</td></tr></table>';
}
elseif ($chkbox1==$_POST['chkbox1'])
{
$sql = mysql_query("DELETE FROM NEWSLETTER WHERE email='$email'" );
echo '<table width=100% height=100%><tr><td align=center valign=center>You have been deleted from the mailing list!</td></tr></table>';
}  
}
}
?>


 
On dirait qu'il envoit tjs la valeur du checkbox coché ou decoché?


Message édité par jeromeke le 24-10-2006 à 23:30:26
n°1464478
naceroth
Posté le 24-10-2006 à 23:53:45  profilanswer
 

Ca veut dire que la condition $email!=$row[email] n'est jamais vrai surtout, fait un echo des valeurs avant le test pour voir ce que ca donne
 
//edit :
 
Par contre, pour peu que tu sois en register_global on, ton deuxième test est toujours vrai lui, c'est pas vraiment ce que j'entendais par "initialisation de la variable" :D


Message édité par naceroth le 24-10-2006 à 23:56:09
n°1464493
jeromeke
Posté le 25-10-2006 à 00:32:52  profilanswer
 

J'ai abandonné je perds trop de temps, je vais bêtement faire un link vers une page unsubscribe pour se désinscrire :(


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

  Newsletter débutant

 

Sujets relatifs
Problème débutant GallerieProbleme de débutant...
[RESOLU] tab multidimensionel en paramètre d'une fonction[Résolu] Api win 32, quelque question de débutant....
Mettre une page a code pour vrais debutant[Debutant][Mysql]copie de champs d'une table à une autre
[Débutant] logiciel pour programmer en vb6rassembler "long" et "char" pour débutant
batch pour débutantcode bouton envoyer (newsletter)
Plus de sujets relatifs à : Newsletter débutant


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