Aller au contenu

traitement d'un formulaire...


JoP

Sujets conseillés

Bonjour...

Mise en contexte:

un utilisateur entre "allo" dans un champs texte et soumet le formulaire...

je voudrais savoir s'il est possible de mettre chaque lette du mot allo dans une "case" différente d'une variable array...

merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

 
$montexte=$_POST['xxx'];
for ($boucle=0; $boucle < strlen($montexte); $boucle++)
{
$unparun[]=substr($montexte,$boucle,1);
}

Où "xxx" est le nom de ton champs a remplir dans le formulaire.

Remplace le $_POST['xxx'] par un $_GET['xxx'] si ton formulaire est passé par methode Get.

Lien vers le commentaire
Partager sur d’autres sites

Merci,

mais juste une petite chose: pourrais-tu m'expliquer un peu le code pour que je puisse comprendre un peu le principe..

merci encore

Lien vers le commentaire
Partager sur d’autres sites

Bien entendu.

C'est si rare de voir des gens qui veulent comprendre un code et non pas juste le copier/coller :)

$montexte=$_POST['xxx'];

ici, tu implémente une variable avec la valeur de ton champs texte ( ça je pense que tu l'avais compris ;) )

for ($boucle=0; $boucle < strlen($montexte); $boucle++)

L'instruction for ( argument1, argument2, argument3 )

"argument1" est la valeur que tu va donner à ta variable au départ

"argument2" c'est la condition: tant que la condition est remplie, la boucle continue ( on va voir le cas présent ensuite )

"argument3" te sert a ajouter, incrémenter la variable. ici $boucle++ equivaut a $boucle=$boucle+1

strlen($montexte) est une fonction php qui te donne le nombre de caractère de la variable ( par exemple, pour 'allo' il va te renvoyer 4 )

Donc ici $boucle < strlen($montexte) en argument2 veux dire que la boucle continue tant que la variable $boucle est inférieure a la longueur de ta variable de formulaire

{
$unparun[]=substr($montexte,$boucle,1);
}

Ca c'est la boucle qui va etre éffectuée

$unparun[] c'est ta variable en array.. ne pas spécifier de valeur entre les crochets veux dire que la variable va automatiquement s'incrémenter de 1 a chaque nouvelle entrée

substr($montexte,$boucle,1) :

substr ( variable, x, y ) te renvoie y lettres APRES la x eme lettre de la variable...

par exemple :

substr('abcdef',2,1) va te donner 'c '

substr('abcdef',0,3) va te donner 'abc'

Voila...

Tu peut tester le résultat avec un print_r($unparun);

J'espère que tu aura tout compris..

quant à moi, je vais me coucher, il est tard :)

Lien vers le commentaire
Partager sur d’autres sites

:) Moi je fais parti des gens qui déteste faire du copier/coller quand il s'agit de quelque chose d'aussi important que mon site web...

En plus, quand on copi/colle et que plus tard on veut réutiliser le code pour une autre page et qu'il y a nécéssité de le modifier, il va falloir revenir sur le Hub pour demander qqch qui a deja ete demandé

:blush:

cia

Lien vers le commentaire
Partager sur d’autres sites

En effet, moi je préfere passer plusieurs heures a comprendre un code ou a le créer plutot que d'en avoir un fonctionnel en 2 minutes mais que je ne comprends pas...

C'est comme ca que tu progresse à une vitesse folle !

Mais parfois ca te joue des tours : Une fois j'ai passé 3 jours à sécuriser un champs "email" d'un de mes formulaires en testant sa validité.. j'ai programmé une fonction d'une bonne 30aine de lignes qui venait vérifier caractere par caractere le nombre de "points", d'arobase et autre...... pour ensuite découvrir que la fonction ereg et ereg_replace donnait la meme chose en une ligne !!!

mais en attendant, pendant ces 3 jours, j'ai appris plein de choses qui m'ont reservi plus tard.

Bon, cette fois ci je vais au lit pour de bon, bye bye

Lien vers le commentaire
Partager sur d’autres sites

En fait, php est assez permissif.

Lorsque tu déclares une chaine de caractères, il le stocke dans une variable, qui peut te servir de tableau.

$test = "coucou";

for($x=0;$x<strlen($test);$x++)
echo "<br>".$test[$x];

Tu as bien une chaine de caractères $test,

que tu appelles à partir d'une boucle 'for'.

Ca te renvoie chaque élément dans un tableau.

Seul piège, penser à utiliser strlen (qui sert à compter le nombre de caractères d'une chaine) au lieu de 'count', qui sert à compter le nombre d'éléments d'un tableau.

Lien vers le commentaire
Partager sur d’autres sites

Ouiiii ! Merci Arkh !

J'avais le meme style de problème, résolu par 5 à 6 lignes de codes et hop ! grace à toi mes pages s'allègent !

:wub: str_split :wub:

Merci :thumbsup:

Modifié par Soho
Lien vers le commentaire
Partager sur d’autres sites

As-tu regardé la fonction proposée par Arkh??

Oui je lavais regardé, mais alors que ca fonctionnait a merveille je ne lai pas utilisé... et de toute facon, je n'en meme plus besoin car j'ai changé tout le code et j'ai trouver un racourci qui n'utilise plus cette fonction...

merci tout de meme...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...