[PHP] Verif caractère dans un input et modif

Résolu
digsaw_- Messages postés 537 Statut Membre -  
Mihawk Messages postés 4753 Statut Contributeur -
Bonjour,

Je prépare un petit attrape nigot en php pour un projet de BTS ^^ !

Et j'aurais besoin de vos lumières...

Car dans un champ, j'aimerais :

Que si la personne met le caractère " . " (point), cela n'affiche pas le " . " mais un autre caractère et ainsi de suite jusqu'a ce qu'un " . " soit remis.

Les caractères donc "cachés" entre ces " . " seront enregistrés dans une variables par la suite...

Merci d'avance

et n'ésitez pas pour plus de précisions !



A voir également:

21 réponses

Mihawk Messages postés 4753 Statut Contributeur 846
 
Salut digsaw,

Pour information oui, j'ai fait en sorte que la phrase s'affiche d'un coup une fois le 2e point marqué, ça évite les problème de phrase tronquée genre "Voulez-vous rep à ma question" ou autre : meilleur camouflage. Je peux l'enlever si ça te dérange.

Et j'imagine bien que tu veux utiliser ta variable, c'est pour ça que j'ai stocké la réponse dans la variable globale vraieReponse, accessible partout dans la page en Javascript (c'est le principe d'une variable globale!).

Pour la traiter en PHP tu as plusieurs méthodes : tu peux l'ajouter à un champ caché du formulaire de réponse et elle sera transmis en _POST ; ou bien utiliser une requête AJAX pour la traiter indépendamment.
0
digsaw_- Messages postés 537 Statut Membre 58
 
OK dac !

Alors non ça ne me dérange pas mais j'aimerais savoir comment tu ferais pour le changer ? (c'est toujours bon à savoir ^^)

Et pour la variable globale j'y avais penser mais je ne savais pas comment y accéder en PHP ! merci beaucoup :)
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
C'est simple, dans le code il y a un if comme celui-ci :

if (input.value.match(/^V.+\./) && reponseEnCours == true){

Qui signifie clairement "quand la ce qu'il y a dans l'input commence par V majuscule, puis comporte au moins un caractère et qu'un point la termine".
Dans ce if je remplace tout le contenu de l'input par la phrase désirée => il faut changer cela.

Par contre tu vois, si le mec écrit : "Vous êtes bons." ça va être interprété par une réponse ; il faudrait ajouter quelques conditions et affiner les regexp. Là, il y a plein de cas où ça peut planter !
0
digsaw_- Messages postés 537 Statut Membre 58
 
Ouai mais c'est pas un problème pour sa ! ;) merci pour l'explication !

Par contre j'y arrive pas pour mettre la réponse cachée dans un autre champ... désolé en plus sa a l'air simple mais aujourd'hui j'ai la tête dans les choux ^^
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
Je pense qu'il faut que tu ajoute un champ de type "hidden" dans le formulaire, et tu lui donne un ID genre "hiddenVraieReponse" (et un name également) ;

ensuite, dans le 'if' dont j'ai parlé ci-avant, tu ajoute au dessus de la ligne commentée :
//alert("Debug - La réponse rentrée est : "+vraieReponse);
La ligne suivante :

document.getElementById("hiddenVraieReponse").value = vraieReponse;

Et normalement une fois validé le formulaire, en PHP tu récupèreras un $_POST["hiddenVraieReponse"] (ou autre, selon le 'name' que tu as mis).
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
PS : n'hésite pas à mettre le sujet en résolu quand ça sera OK ; et de voter +1 au "code final" afin d'aider les futures recherches des internautes.
0