Tom's Guide > Forum > Programmation > Limiter un nombre de caractere en php

Limiter un nombre de caractere en php

Forum Programmation : Limiter un nombre de caractere en php

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

bonjour...je suis toujours débutante en php :-)

Voilà j'ai un page html avec mon codage php nikel et tout et tout....tout fonctionne bien mais je voudrais ajouter un petit truc et là...aie aie cata je bloque depuis ce matin et chercher un peu partout sur la toile sans rien trouver...et pourtant comme d'habitude je suis certaine que c'est encore du 3xrien mais bon...je compte sur vous en fait là !


Donc j'ai un formulaire avec plein de input tralala, ce que je veux faire c'est dire à mon visiteur
1/ qu'il est obligé de remplir certain champ
2/ qu'il est obligé de mettre un nombre défini (par moi ) pour valider

Commen que je fait tout ??hein! hein! je vous le demande.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

pour vérifier qu'il a bien saisi le champs, tu utilises la fonction isset(), et pour voir le nombre de caractère d'une variable tu utilises strlen().

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

bheuuuuuuuuuuu je suis perdue snifff....

En fait isset je l'utilise sur le bouton formulaire puis je décline mes variables de formulaire dans mon if
(bon explication de débutante donc...excuser pour les termes un peu nheunheuche')

1/Ici je veux obliger le visiteur à remplir certain champ (pas spécialement tous), si il ne le fait pas, cela doit le renvoyer sur le formulaire
(biensure sans envoyer les autres champ rempli dans ma bdd sinon ça fausse tout :-s)
Résolu :-)
A force de persévérance j'y suis parvenue avec if et else mais heuuu j'ai pas encore acquis toute la logique et les réflexes du codage donc je pédale un peu mdr!

Donc mon problème restant...

Ce n'est pas que je veux connaitre le nombre de caractères entré par le visiteur, mais plutôt que je veux:
-soit l'empêcher de mettre plus de 'x' caractères
-soit l'obliger à mettre un minimum de 'x' caractères
et si ces conditions ne sont pas remplies...taratata op il retombe sur le formulaire qui n'a donc pas été envoyer à ma bdd.

Et c'est là que .....même mon grand talent de débutante ne m'aide pas...je ne voit pas comment même if et else que j'affectionne depuis mon problème 1 ;) peuvent ici m'aider sans connaitre la "fonction" appropriée au nbre de carateres
snifff snifff
Hummm suis-je suffisemment claire dans mon charabia? mdr!


Répondre à caliche

Il ne faut surtout pas stocker tant que le formulaire n'est pas entièrement rempli. La solution peut par exemple passer par un cookie afin de préremplir le formulaire une fois que tu as renvoyer en arrière.

Aller, je suis gentils, je vais donner un peu de code :)

page de traitement

Code :
  1. <?php
  2. /*
  3. * le principe est le suivant, on regarde si on a tout bon, si on a pas tout bon,
  4. * on stock les données dans un cookie pour préremplir le formulaire
  5. * après redirection.
  6. */
  7. //vérification des variables obligatoires
  8. if(!isset($_POST['toto'], $_POST['tata']) {
  9.   //une variable obligatoire d'a pas été complétée
  10.   if(isset($_POST['toto']) setcookie('toto', $_POST['toto'], time()+20);
  11.   if(isset($_POST['tata']) setcookie('toto', $_POST['tata'], time()+20);
  12.   header("Location: http://www.monsite.com/monformulaire.php" );
  13. }
  14. else {
  15.   //bon, bah a priori j'ai tout
  16.   //je sécurise mes données
  17.   //si toto doit être un chiffre
  18.   if(!is_numeric($_POST['toto'])) header("Location: http://www.monsite.com/monformulaire.php" );
  19.   else $toto = $_POST['toto'];
  20.   //pour une chaine de caractère
  21.   $tata = mysql_escape_string($_POST['tata']);
  22.   //j'ajoute en bdd
  23.   $sql = "INSERT INTO matable(toto, tata) VALUES ($toto, '$tata');
  24. mysql_query($sql) or die ('Erreur sql !');
  25. }




Dans l'affichage du formulaire il faut rajouter de regarder dans le cookie.

<form>
<input type='text' name='toto' value='<?php if(isset($_COOKIE['toto']) echo $_COOKIE['toto']; ?>
</form>

J'ai absolument pas tester le code mais la logique est là :)

------------------------------ 20minutes.fr, l'information en continu.
Répondre à SiM07

Bon , bon je vais tester ça :-)
Je tiens au courant de la suite...

Répondre à caliche

Bon alors voilà le résultat..........je suis une bouze de programmation mdr
Chez moi ça ne fonctionne pas...sniff

Répondre à caliche

pour faire court si je pouvais trouver un truc du genre:

tu if, tu chopes ta variante $x, tu lui colle (machin truc bazard), else ta variante $y, tu lui colle (truc muche tralala) et op le tour est jouer ça m'arrangerais pas mal ;)

Répondre à caliche

Yessss j'ai trouvé une petite réponse toute simpa....je vous file le tuyaux :-)

un exemple:

if($duree=='' or strlen($duree)>3)
{echo 'veuillez ne pas entrer plus de 3 caractères';}
else{ le reste des instruction de la page de code....

Et voilà l'affaire est dans le sac :-)

Répondre à caliche
Tom's Guide > Forum > Programmation > Limiter un nombre de caractere en php
Aller à :

Il y a 2034 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens