Se connecter / S'enregistrer
Votre question

Limiter un nombre de caractere en php

Tags :
  • Html
  • Programmation
Dernière réponse : dans Programmation
27 Mars 2009 17:22:00

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.

Autres pages sur : limiter nombre caractere php

27 Mars 2009 17:29:41

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().
m
0
l
27 Mars 2009 18:30:06

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!


m
0
l
Contenus similaires
27 Mars 2009 18:46:15

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
  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.  
  8. //vérification des variables obligatoires
  9. if(!isset($_POST['toto'], $_POST['tata']) {
  10. //une variable obligatoire d'a pas été complétée
  11. if(isset($_POST['toto']) setcookie('toto', $_POST['toto'], time()+20);
  12. if(isset($_POST['tata']) setcookie('toto', $_POST['tata'], time()+20);
  13.  
  14. header("Location: http://www.monsite.com/monformulaire.php");
  15. }
  16. else {
  17. //bon, bah a priori j'ai tout
  18. //je sécurise mes données
  19. //si toto doit être un chiffre
  20. if(!is_numeric($_POST['toto'])) header("Location: http://www.monsite.com/monformulaire.php");
  21. else $toto = $_POST['toto'];
  22.  
  23. //pour une chaine de caractère
  24. $tata = mysql_escape_string($_POST['tata']);
  25.  
  26. //j'ajoute en bdd
  27. $sql = "INSERT INTO matable(toto, tata) VALUES ($toto, '$tata');
  28. mysql_query($sql) or die ('Erreur sql !');
  29. }



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à :) 
m
0
l
27 Mars 2009 19:58:36

Bon , bon je vais tester ça :-)
Je tiens au courant de la suite...
m
0
l
27 Mars 2009 22:43:18

Bon alors voilà le résultat..........je suis une bouze de programmation mdr
Chez moi ça ne fonctionne pas...sniff
m
0
l
27 Mars 2009 22:55:31

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 ;) 
m
0
l
28 Mars 2009 11:31:03

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 :-)
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS