FAQ   •  S'enregistrer   •  Connexion

[HS] recherche quelqu'un qui connais le PHP
Voir le sujet suivant
Voir le sujet précédent
Auteur Message
ICEBEAR
Le tout puissant (du moins sur le forum)


Inscrit le: 01 Jan 2006
Messages: 2340
Localisation: 59 - NORD

MessagePosté le: Ven Mar 23, 2007 8:20 pm Répondre en citant

Voilà...
J'ai une variable qu'un membre saisie lors de l'inscription, je voudrais la testé par rapport a un mot...
J'ai fais plusieurs essai mais a part faire planté la page d'inscription, je n'arrive a rien d'autre.... Saipa Ouain HELLLLLLLLLLLLLPPPPPPPPPPPPPPPPP!!!!!!!!!!!!!!!
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Ven Mar 23, 2007 9:42 pm Répondre en citant

ICEBEAR a écrit:
Voilà...
J'ai une variable qu'un membre saisie lors de l'inscription, je voudrais la testé par rapport a un mot...
J'ai fais plusieurs essai mais a part faire planté la page d'inscription, je n'arrive a rien d'autre.... Saipa Ouain HELLLLLLLLLLLLLPPPPPPPPPPPPPPPPP!!!!!!!!!!!!!!!


Je vais demander à un quelqun qui s'y connais Svp (un membre d'un forum qui est admin dans un autre forum...)
La réponse prochainement Wink (Dans quelques jours)


Dernière édition par Le Balrog le Sam Mar 24, 2007 12:17 pm; édité 1 fois
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Sam Mar 24, 2007 11:34 am Répondre en citant

Sa réponse :
Erkenbrand a écrit:
Effectivement, j'ai quelques connaissances en php, mais ca reste modeste.
Quel est l'ampleur du problème? Je suis un peu limite niveau temps en ce moment, donc si c'est pour coder un forum entier, ou créer un truc de malade, détroner microsoft et devenir les maitres du monde, je ne suis pas disponible
Si c'est juste un petit problème, il est possible que je vous file un coup de main.

Je vais lui expliquer Wink
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Sam Mar 24, 2007 1:04 pm Répondre en citant

Erkenbrand a écrit:
Bah, ca ne m'a pas l'air trop compliqué, ca. En fait, il veut voir si la variable est la même que le mot, c'est ca?
Pour résoudre le problème, il me faudrait la portion de code source qui pose problème, et la page d'ereur qui s'affiche.

Je dis quoi maintenant ?
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Jeannot
Maître du rangement


Inscrit le: 11 Mai 2006
Messages: 1065
Localisation: 33 - St André de Cubzac

MessagePosté le: Sam Mar 24, 2007 2:52 pm Répondre en citant

ICEBEAR a écrit:
Voilà...
J'ai une variable qu'un membre saisie lors de l'inscription, je voudrais la testé par rapport a un mot...
J'ai fais plusieurs essai mais a part faire planté la page d'inscription, je n'arrive a rien d'autre.... Saipa Ouain HELLLLLLLLLLLLLPPPPPPPPPPPPPPPPP!!!!!!!!!!!!!!!

C'est un peu mon boulot...
Donc si le pote du Balrog ne trouve pas une solution à ton problème je serais ravi de te filer un coup de main, c'est vraiment la moindre de choses que je puisse faire.
Voir le profil de l'utilisateurEnvoyer un message privé
ICEBEAR
Le tout puissant (du moins sur le forum)


Inscrit le: 01 Jan 2006
Messages: 2340
Localisation: 59 - NORD

MessagePosté le: Sam Mar 24, 2007 7:31 pm Répondre en citant

Bon, voilà...

J'ai ajouté un champ dans le formulaire d'inscription, le principe est le suivant, un mots se trouvant sur la colonne de gauhe doit etre retaper par le futur membre (ce qu'un bot ne fait pas)...

Je n'arrive pas a testé la variable contenant ce que le membre a taper avec un mot precis... Me suis peut etre dis que c'est parce que ma variable n'est pas declaré...

Mes copentence en matiere de porg se sont arreté au GFA Basic sur Atari ST, donc je doute qu'un forum PHP puis tourné avec le GFA BASIC R
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Sam Mar 24, 2007 7:48 pm Répondre en citant

ICEBEAR a écrit:
Bon, voilà...

J'ai ajouté un champ dans le formulaire d'inscription, le principe est le suivant, un mots se trouvant sur la colonne de gauhe doit etre retaper par le futur membre (ce qu'un bot ne fait pas)...

Je n'arrive pas a testé la variable contenant ce que le membre a taper avec un mot precis... Me suis peut etre dis que c'est parce que ma variable n'est pas declaré...

Mes copentence en matiere de porg se sont arreté au GFA Basic sur Atari ST, donc je doute qu'un forum PHP puis tourné avec le GFA BASIC R

Donc le probléme est réglé ?
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
ICEBEAR
Le tout puissant (du moins sur le forum)


Inscrit le: 01 Jan 2006
Messages: 2340
Localisation: 59 - NORD

MessagePosté le: Sam Mar 24, 2007 7:58 pm Répondre en citant

Le Balrog a écrit:
ICEBEAR a écrit:
Bon, voilà...

J'ai ajouté un champ dans le formulaire d'inscription, le principe est le suivant, un mots se trouvant sur la colonne de gauhe doit etre retaper par le futur membre (ce qu'un bot ne fait pas)...

Je n'arrive pas a testé la variable contenant ce que le membre a taper avec un mot precis... Me suis peut etre dis que c'est parce que ma variable n'est pas declaré...

Mes copentence en matiere de porg se sont arreté au GFA Basic sur Atari ST, donc je doute qu'un forum PHP puis tourné avec le GFA BASIC R

Donc le probléme est réglé ?
non, justement, il me reste la syntaxe de la commande pour le test (c'est un truc qui commence par IF, ca j'en suis sur R ) mais il me manque le reste...
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Jeannot
Maître du rangement


Inscrit le: 11 Mai 2006
Messages: 1065
Localisation: 33 - St André de Cubzac

MessagePosté le: Dim Mar 25, 2007 10:22 am Répondre en citant

ICEBEAR a écrit:
Bon, voilà...

J'ai ajouté un champ dans le formulaire d'inscription, le principe est le suivant, un mots se trouvant sur la colonne de gauhe doit etre retaper par le futur membre (ce qu'un bot ne fait pas)...

Je n'arrive pas a testé la variable contenant ce que le membre a taper avec un mot precis... Me suis peut etre dis que c'est parce que ma variable n'est pas declaré...

Mes copentence en matiere de porg se sont arreté au GFA Basic sur Atari ST, donc je doute qu'un forum PHP puis tourné avec le GFA BASIC R

Bon en PHP la déclaration de variable n'est pas utile.
Si tu m'envoies les sources sur mon Email (jeanaymeric at yahoo.fr) je te le fais dans la journée.
Ou alors fais simplement un copier coller par MP, je devrais pouvoir me débrouiller.
Voir le profil de l'utilisateurEnvoyer un message privé
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Dim Mar 25, 2007 1:54 pm Répondre en citant

Pour moi :
Erkenbrand a écrit:
Bah, tu lui dit d'essayer de rentrer ce code-ci :

Code:
if ($mot=='australopithèque')
   {
   //Là, tu mets la suite de l'inscription
   }
else
   {
   echo 'Désolé, le mot que vous avez tapé n\'est pas correct. Merci de réessayer ou d'aller voir ailleurs si j\'y suis';
   }


Voilà. Tout ceci doit bien évidemment être inclu entre deux balises php (qui sont normalement déjà ouvertes). La variable $mot contient le mot envoyé par POST par le formulaire (il faut donc d'abord le récupérer ou mettre sous la forme $_POST['mot'] ). Ici, j'ai imaginé que le mot est australopithèque, mais le mot ne sera peut-être pas fixe. Dans ce cas, il faudra créer une variable qui contient le mot qui est attendu.
Heu, voilà, je crois que c'est tout.
Sinon, je n'avais jamais entendu parler du GFA basic, mais en php, il n'y a pas besoin de déclarer ses variables, ce qui est tout de même très pratique (contrairement à d'autres langages, nottamment le C => un des seuls que je connaisse)

Comme tu as pu le constater, le php est super simple d'utilisation et c'est assez haut niveau. Donc voilà. Si il y a d'autres questions, il n'y a aucun problème, c'est un plaisir de répondre Very Happy .
Et si vous voulez avoir quelques connaissances en php, je vous coneille le cours du Site du ZérO, c'est très bien expliqué.

Ah, et sinon, il faut aussi savoir que les bots sont quand même bien évolués, et qu'ils sont à mon avis capables de recopier le mot. Il serait préférable de créer le mot sous forme d'une image, ou de mettre une petite énigme ou question toute simple (du style : "De quel jeu parle ce forum")
Ah pendant qu'on y est, pour autoriser les majuscules, tu peux tester plusieurs mots à la fois comme ca :
Code:
if ($mot=='autralopithèque' || $mot=='Australopithèque' || $mot=='autralopitheque' || $mot=='Autralopitheque')
   {.......


Voilà voilà
Bonne soirée
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Jeannot
Maître du rangement


Inscrit le: 11 Mai 2006
Messages: 1065
Localisation: 33 - St André de Cubzac

MessagePosté le: Dim Mar 25, 2007 3:01 pm Répondre en citant

Le Balrog a écrit:
[du code et explication PHP]

Personnellement je préfère $_REQUEST à $_POST pour récupérer les variables d'un formulaire, mais bon c'est une affaire de gout.
Pour plus d'information et quelques exemples : c'est là

Juste pour améliorer un peu plus le code proposé, voilà quelques suggestions. Pour tester plusieurs valeurs, il y a une syntaxe plus facile à maintenir:
Code:
$arrListeDeMots = array (   
                           "autralopithèque",
                           "Australopithèque",
                           "autralopitheque",
                           "Autralopitheque",
                           "formica",
                           "FORMICA",
                           "FoRmIcA"
                        );
if ( in_array ($_REQUEST["LeMot"], $arrListeDeMots) ) {
   // Y'a bon
} else {
   // Y'a pas bon
}


Ensuite pour éviter d'avoir à se taper toutes les possibilités majuscules, minuscules des mots que tu veux tester, tu peux faire:
Code:
$arrListeDeMots = array (   
                           "autralopithèque",
                           "formica"
                        );
if ( in_array ( strtolower ($_REQUEST["LeMot"]), $arrListeDeMots) ) {
   // Y'a bon
} else {
   // Y'a pas bon
}


Si ce n'est pas clair, n'hésite pas.
Voir le profil de l'utilisateurEnvoyer un message privé
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Dim Mar 25, 2007 6:29 pm Répondre en citant

Tiens, comment tu sais tout ça Jeannot ? T'a un site ? Un Forum ? Very Happy
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
ICEBEAR
Le tout puissant (du moins sur le forum)


Inscrit le: 01 Jan 2006
Messages: 2340
Localisation: 59 - NORD

MessagePosté le: Dim Mar 25, 2007 6:37 pm Répondre en citant

Vais tous testé ca (ce soir si j'y le temps (je reviens du boulot), sinon demain)... Si je m'en sort pas, je te mail/mp Jeannot... Mais bon ca devrait aller avec ca...
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Jeannot
Maître du rangement


Inscrit le: 11 Mai 2006
Messages: 1065
Localisation: 33 - St André de Cubzac

MessagePosté le: Dim Mar 25, 2007 6:37 pm Répondre en citant

Le Balrog a écrit:
Tiens, comment tu sais tout ça Jeannot ? T'a un site ? Un Forum ? Very Happy

Je n'ai aucun site, aucun forum, du moins public.
C'est juste que c'est mon métier.
Voir le profil de l'utilisateurEnvoyer un message privé
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Dim Mar 25, 2007 7:09 pm Répondre en citant

Jeannot a écrit:
Le Balrog a écrit:
Tiens, comment tu sais tout ça Jeannot ? T'a un site ? Un Forum ? Very Happy

Je n'ai aucun site, aucun forum, du moins public.
C'est juste que c'est mon métier.


Ah ok désolé, je savais pas. Donc il vaut mieux écouter un profesionnel, j'ai essayé d'aider Wink
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Jeannot
Maître du rangement


Inscrit le: 11 Mai 2006
Messages: 1065
Localisation: 33 - St André de Cubzac

MessagePosté le: Dim Mar 25, 2007 7:15 pm Répondre en citant

Le Balrog a écrit:
Jeannot a écrit:
Le Balrog a écrit:
Tiens, comment tu sais tout ça Jeannot ? T'a un site ? Un Forum ? Very Happy

Je n'ai aucun site, aucun forum, du moins public.
C'est juste que c'est mon métier.


Ah ok désolé, je savais pas. Donc il vaut mieux écouter un profesionnel, j'ai essayé d'aider Wink

Je ne vois pas pourquoi tu serais désolé.
Et les professionnel n'ont pas toujours raison, surtout lorsque ces derniers sont en train d'essayer de changer de boulot.
Voir le profil de l'utilisateurEnvoyer un message privé
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Dim Mar 25, 2007 9:21 pm Répondre en citant

Jeannot a écrit:
Je ne vois pas pourquoi tu serais désolé.

Ah oui tiens c'est vrai R.
Bon sinon j'espére que ça machera le truc que tu veux faire Icebear. Wink
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
ICEBEAR
Le tout puissant (du moins sur le forum)


Inscrit le: 01 Jan 2006
Messages: 2340
Localisation: 59 - NORD

MessagePosté le: Lun Mar 26, 2007 5:04 pm Répondre en citant

Bon, j'ai essayé tous les codes, ca passe pas...

Donc voilà ce que j'ai

donc mon USER_REGISTER
Code:
if (( strtolower($HTTP_POST_VARS['mots2']) != "RESEAU" ) )
  {
  $error = TRUE;
  $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty2'];
  }


Dans le formulaire, la saisie du mot est recupérée par ca...
Code:
<td class="row2" align="left"><input type="text" class="post" name="mots2" maxlength="6" size="7"></span></td>


donc je voudrais comparer le mots2 a RESEAU et mettre le message d'erreur... Pour l'affichage du message d'erreur y'a pas de soucis, l'affiche, mais a chaque fois (même si le mots2 est bon)..
Donc en faite c'est juste la synthaxe de la comparaison...
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Lun Mar 26, 2007 5:08 pm Répondre en citant

ICEBEAR a écrit:
Bon, j'ai essayé tous les codes, ca passe pas...

Donc voilà ce que j'ai

donc mon USER_REGISTER
Code:
if (( strtolower($HTTP_POST_VARS['mots2']) != "RESEAU" ) )
  {
  $error = TRUE;
  $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty2'];
  }


Dans le formulaire, la saisie du mot est recupérée par ca...
Code:
<td class="row2" align="left"><input type="text" class="post" name="mots2" maxlength="6" size="7"></span></td>


donc je voudrais comparer le mots2 a RESEAU et mettre le message d'erreur... Pour l'affichage du message d'erreur y'a pas de soucis, l'affiche, mais a chaque fois (même si le mots2 est bon)..
Donc en faite c'est juste la synthaxe de la comparaison...


Arf, j'envois tout ça à mon contact Hein , Jeannot peut peut-étre répondre avant Saipa
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Le Balrog
Maître de la peinture


Inscrit le: 23 Nov 2006
Messages: 1332
Localisation: 62- Pas-de-calais

MessagePosté le: Lun Mar 26, 2007 7:01 pm Répondre en citant

Réponse ! Very Happy
Erkenbrand a écrit:
le Balrog a écrit:

Dans le formulaire, la saisie du mot est recupérée par ca...
Code:
<td class="row2" align="left"><input></span></td>

Je pense qu'un problème vient de là. Ce n'est pas bon, puisque tu n'assigne pas de variable au résultat de ton formulaire.
Il faudrait mettre pour être correct :
<label>Recopiez le mot : <input></label> (tape sur "citer" pour voir le contenu, phpBB en bloque une partie, je ne sais pas pourquoi)
Les attributs maxlength et size sont facultatifs, c'est juste si tu veux régler la longueur, ou limiter la taille de la variable.
Dans tous les cas, ton code de formulaire est bizarre, puisque tu ouvre un <input> que tu ne ferme pas, et tu fermes une balise span que tu n'as pas ouvert.

Ca, c'était le premier problème.
2eme problème, la fonction strtolower converti ta chaine en minuscules, puis tu la compare avec un mot en majuscule. Ils sont forcémebnt différents!

3e problème :
La fonction strtolower ne converti pas les lettre accentuées ou exotiques. Il faudra donc choisir un mot sans accent. Il y a peu de chances qu'un visiteur écrive le "e" accentué et en majuscule, mais bon...

Voilà. Sinon, pour le reste du code, je ne procède pas de la même facon, mais je fais te fais confiance (j'utilise notamment $_POST['mot2'] pour récupérer une variable par POST)

Voilà, ca fait déjà un bon morceau.
Voir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateurMSN Messenger
Montrer les messages depuis:      


Powered by phpBB © 2001, 2005 phpBB Group :: Traduction par : phpBB-fr.com
Theme FI Theme fiblack :: Modification Icebear