Sondage

Résolu
Messages postés
4
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
24 août 2006
-
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
-
Salut, j'ai besoin d'aide avec mon sondage.

je vous montre l'endroit fautif:

on *:text:!oui:#:{
  if ($nick isin Vnick.txt) /notice $nick Tu as déja voter =O
  else /inc %oui | /write Vnick.txt $nick | /notice $nick Vote enregistrer
}

Je voudrais que si le nick qui dis !oui est dans le fichier Vnick.txt ne peut pas voter mais s'il ne l'est pas, il peut voter.

En gros, je veut que les personnes peuvent voter qu'une fois ! mais ca fonctionne pas.

Merci d'avance pour l'aide

8 réponses

Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

oui, c'est le cas :)
en gros, sans les fautes d'orthographe/grammaire, ça devient ceci :
on *:text:!oui:#:{
  if ($read(Vnick.txt,w,$+(*,$nick,*))) notice $nick Tu as déja voté =O
  else { inc %oui | write Vnick.txt $nick | notice $nick Vote enregistré }
}
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Tu as regardé l'aide ? j'sais pas ou tu as appris a utilisé isin mais tu ne peux pas l'utilisé pour un fichier.txt, il faut utilisé $read

on *:text:!oui:#:{
  if ($read(Vnick.txt,w,$+(*,$nick,*))) notice $nick Tu as déja voter =O
  else inc %oui | write Vnick.txt $nick | notice $nick Vote enregistrer
}

np d'avance :d
Messages postés
4
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
24 août 2006

merci je vais essayer ca

et pour le isin je l'avais jamais utiliser =/
Messages postés
4
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
24 août 2006

Ton truc fonctionne presque, si je peut dire ca.

La premiere fois, tout va bien, il dis "vote enregistrer" mais la deuxieme fois il dis : v"ote enregistrer" mais aussi "Tu as déja voter =O" mais au moins ca rajoute pas un vote.

J'essais d'y voir demain

merci
Messages postés
266
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
26 juin 2008

else { inc %oui | write Vnick.txt $nick | notice $nick Vote enregistrer }


Je crois que le else ne prend en compte que le inc %oui et que les autres commandes sont prises comme indépendantes.

Cela revient à :

else inc %oui

write Vnick.txt $nick

notice $nick Vote enregistrer

---------------------------------
Signature des parents :
Messages postés
4
Date d'inscription
lundi 14 août 2006
Statut
Membre
Dernière intervention
24 août 2006

merci à vous, ça fonctionne
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Les accolades ne sont pas nécéssaire si les commande sont sur une seule ligne, j'avais testé car le manque d'accolade m'avais aussi surpris mais ca doit marché sans :

//if (1 == 1) echo -a ok | echo -a ok1 | echo -a ok2

mais j'ai testé avec un if suivit d'un else et effectivement a partir de la deuxieme commande du else, elle seront effectuées avec le if ( exactement ce qu'a dis S333 en fait ).
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

//if (1 == 2) echo -a ok | echo -a ok1 | echo -a ok2
tu auras ok1 et ok2, ce qui est normal vu que seul le "ok" est contenu par le IF