Correction - PHP - Programmation
Marsh Posté le 06-07-2005 à 18:17:21
Ce serait pas plutot ?
$newsletter_id == mysql_fetch_array($search_mail_exist)
Marsh Posté le 06-07-2005 à 18:19:05
The-Shadow a écrit : Ce serait pas plutot ? |
en tps normal avec un = ça marche tres bien
Marsh Posté le 06-07-2005 à 18:22:37
Je n'affirmais rien, j'utilise jamais while, trop évasif à mon gout, je préfère un foreach, mais je te faisais une suggestion qui me semblait plus logique, ça se trouve, je t'ai dit n'importe quoi, enfin, tu peux essayer quand même, tu ne risques pas grand chose
Marsh Posté le 06-07-2005 à 18:24:58
Oui desolé Shadow mais tu as faux . Le but de la syntaxe avec = est que le tableau retournera false une fois arrivé a la fin = >
while($var = FALSE) => Arret
Marsh Posté le 06-07-2005 à 18:26:33
Non non c'est bien ca :
$newsletter_id = mysql_fetch_array($search_mail_exist)
Parce qu'ici il s'agit de répéter les instruction tant que l'attirubtion d'une valeur à $newsletter_id par mysql_fetch_assoc() et non pas si les deux on le même valeur.
Edit:
Posté en même temp qu esox_ch... Pour dire la même chose...
Marsh Posté le 06-07-2005 à 18:31:26
on donne des cours a shadow et moua dans tout ça d'ou viens mon probleme ?
Marsh Posté le 06-07-2005 à 18:34:03
esox_ch a écrit : Oui desolé Shadow mais tu as faux . Le but de la syntaxe avec = est que le tableau retournera false une fois arrivé a la fin = > |
Bah je le saurais comme ça, pas de quoi être désolé, c'était autant une question qu'une réponse.
Perso, dans ton cas, je ferais un tout bête mysql_num_rows et une boucle for, ça te permet de choper direct là ou ça merde sans avoir à refaire ton code.
Marsh Posté le 06-07-2005 à 18:36:29
Euh, comme j'ai dis, j'utilise pas While, j'aime pas, mais c'est normal que la fermeture de la connexion se retrouve dans la boucle ?
Encore une fois, c'est autant une question qu'une réponse.
Marsh Posté le 06-07-2005 à 18:43:59
snarky a écrit : |
Tu fais déjà un mysql_fetch_row sur ton résultat, donc forcément. Je suppose que ton truc retourne qu'une seule ligne, que capte mysql_fetch_row, et ensuite mysql_fetch_array cherche les lignes d'après et n'en trouve pas.
Marsh Posté le 06-07-2005 à 18:47:35
sielfried a écrit : Tu fais déjà un mysql_fetch_row sur ton résultat, donc forcément. Je suppose que ton truc retourne qu'une seule ligne, que capte mysql_fetch_row, et ensuite mysql_fetch_array cherche les lignes d'après et n'en trouve pas. |
en effet ptite erreur, j'avais carrement pas fait attention a ça.
je vais corriger sa merci
Marsh Posté le 06-07-2005 à 18:54:29
j'ai tjr le meme soucis par contre
si j'enleve
* $search_mail_exist = mysql_query("SELECT newsletter_id, newsletter_mail FROM newsletter WHERE newsletter_mail='$newsletter_mail' AND newsletter_send='1'" ) or die("erreur lors de la vérification" );
du dessus du while, il n'arrive pas a m'affiche la valeur de id du mail ($newsletter_id)
Marsh Posté le 06-07-2005 à 18:55:48
The-Shadow a écrit : Euh, comme j'ai dis, j'utilise pas While, j'aime pas, mais c'est normal que la fermeture de la connexion se retrouve dans la boucle ? |
non pas normal
Marsh Posté le 06-07-2005 à 18:56:39
Tu fais des trucs un peu affreux aussi...
$newsletter_id = $newsletter_id['newsletter_id'];
Marsh Posté le 06-07-2005 à 18:58:22
sielfried a écrit : Tu fais des trucs un peu affreux aussi... |
oui pour l'instant c'est un peu affreux
mais sa devrait tout de meme marcher non ?
Marsh Posté le 06-07-2005 à 19:00:28
aaaa non pas marcher
Marsh Posté le 06-07-2005 à 20:19:47
bon ben, en faite, j'avais utiliser mysql_fetch_row au mieux de mysql_num_rows
Marsh Posté le 06-07-2005 à 20:27:06
snarky a écrit : mauvais copier/coller |
Bah quand tu cites un code sur un forum, la plupart du temps, l'Elite HFR te trouve le point virgule en trop, alors si toi tu déplaces carrément des lignes entières pendant ton copier/coller, ça va pas être facile de t'aider.
Marsh Posté le 06-07-2005 à 20:33:06
ça demontre que j'ai pas de soucis avec les ";"
et puis mon soucis venait en fin de compte du resultat que j'attendais et non de la maniere dont je voulais obtenir ce resultat, d'où mon erreur d'emploi de la mauvaise fonction
et puis comme ça, ça m'aura permis de m'auto-corrigé tout en ameliorant mon code grâce aux réflexions des gens ^^
Marsh Posté le 06-07-2005 à 22:15:49
Oui mais si tu nous donnes un code juste on pourra corriger des choses qui sonte effectuvement fausses dasn ton code
Marsh Posté le 06-07-2005 à 22:24:51
esox_ch a écrit : Oui mais si tu nous donnes un code juste on pourra corriger des choses qui sonte effectuvement fausses dasn ton code |
pas fausses mais pas correctes
Code :
|
voici mon code final
j'ai mis en place les htmlentities mais je suis pas sur de la manière donc il faut les mettres
Marsh Posté le 07-07-2005 à 00:57:44
-mysql_close() ne te sers à rien, php ferme la connexion automatiquement à la fin du script
-pour l'htmlentities, regarde la doc php du l'utilise mal et ne sert à rien pour une variable numérique
- if($exist === 1) : if($exist) suffit
- si ton include ne contient pas de sortie html, mets le en debut de script une fois pour toute
- ta verification de mail est mauvaise : une adresse en toto@titi.com est valide, mais toto@toto.tutu.com non
- les die() de partout c'est horrible
- y a surement d'autres truc, la j'ai regardé en diagonale
Marsh Posté le 07-07-2005 à 01:54:47
oki oki merchi bien, je vais faire les arrangements necessaires
Marsh Posté le 07-07-2005 à 04:20:45
il existe une regexp qui fait 200 lignes et elle valide tout type d'adresse email donc là pour ton cas, c'st de verifier kil y a au moins un . dans le domaine de l'adresse mail
par exemple un mail peut etre :
president.jacques.chirac@elysee.gouv.fr
Marsh Posté le 07-07-2005 à 14:16:57
Code :
|
est ce que ça serait pas mieux, si je m'étais directement la valeur de $exist dans le if() ?
Code :
|
Marsh Posté le 07-07-2005 à 15:21:43
Si t'as plus besoin du flag après, alors c'est un peu plus rapide oui.
Marsh Posté le 07-07-2005 à 15:23:31
bah vu que c'est une variable créée a l'occasion pour faire le test. alors autant l'enlever ^^ merci
Marsh Posté le 06-07-2005 à 18:12:49
lorsqu'un mail existe, je lui demande de me l'indiquer puis d'effectue une action.
il m'indique parfaitement ce que je lui demande, mais bloque au niveau du while.
pourquoi n'arrive t'il pas a m'afficher la suite ?
si je rajoute
au dessus du while ça marche parfaitement
serait un probleme de portée de ma variable ?
Message édité par snarky le 07-07-2005 à 02:16:08