Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1834 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Variable avec espace - formulaire - supprimer les espaces

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Variable avec espace - formulaire - supprimer les espaces

n°1761574
Profil sup​primé
Posté le 18-07-2008 à 15:04:41  answer
 

Bonjour,
 
Voila j'ai un petit soucis que je vous expose:
 
J'ai fais un formulaire, puis, à la page verif, je vérifie que les champs ne sont pas vides avec empty().
Seulement je viens de me rendre compte qu'un utilisateur peux tres bien mettre juste des espaces et cela fonctionne.
 
Comment faire ?
 
J'ai pensé qu'avec une fonction je pourrais supprimer les espaces de chaque variable POST.
 
Qu'en pensez vous ? avez vous des idées ?
 
Merci par avance pour votre aide.

mood
Publicité
Posté le 18-07-2008 à 15:04:41  profilanswer
 

n°1761576
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 15:05:51  profilanswer
 

http://www.manuelphp.com/php/function.trim.php ??
 
edit : :bounce:


Message édité par Marty_McFly le 18-07-2008 à 15:15:37
n°1761577
flo850
moi je
Posté le 18-07-2008 à 15:05:55  profilanswer
 

trim
 
edit  [:benou_grilled]


Message édité par flo850 le 18-07-2008 à 15:06:27

---------------

n°1761583
Profil sup​primé
Posté le 18-07-2008 à 15:09:25  answer
 

On se calme...
 
D'après mes recherches trim() supprimerais uniquement le début et la fin de la chaine de caractères.

n°1761585
flo850
moi je
Posté le 18-07-2008 à 15:10:20  profilanswer
 

ben si tu as la phrase "     " sans les guillements  
 
tous els espaces sont au debut ET a la fin,non ?


---------------

n°1761588
Profil sup​primé
Posté le 18-07-2008 à 15:11:06  answer
 

Oui, mais si l'espace se trouve entre deux mots: "jean pignon"

n°1761590
flo850
moi je
Posté le 18-07-2008 à 15:13:00  profilanswer
 

ça ne supprimera rien  
 
alors que " jean bon " deviendra "jean bon"  


---------------

n°1761591
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 15:13:53  profilanswer
 

Utilise str_replace(" ","" ) si tu veux virer tous les espaces de ton champ, il me semble que ça fonctionne :D
 
http://www.manuelphp.com/php/function.str-replace.php

Message cité 1 fois
Message édité par Marty_McFly le 18-07-2008 à 15:14:44
n°1761592
flo850
moi je
Posté le 18-07-2008 à 15:15:15  profilanswer
 


 
" le petit padawan a plein de questions "  devient "lepetitpadawanapleindequestions"


---------------

n°1761594
Profil sup​primé
Posté le 18-07-2008 à 15:16:02  answer
 

Merci marty et flo,
 
est-ce que cela est possible au passage:
 
if(empty(trim($_POST['nom']))){
  echo "<p class=\"red\">Veuillez indiquer votre Nom</p>";
  $erreur= 1;
}

mood
Publicité
Posté le 18-07-2008 à 15:16:02  profilanswer
 

n°1761597
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 15:19:32  profilanswer
 

Essaie, tu verras bien :p
 
A premiere vue, y'a pas de raisons que ça marche pas

n°1761603
Profil sup​primé
Posté le 18-07-2008 à 15:21:42  answer
 

et pourtant... cela ne marche pas... si je pose des questions ce n'est pas pour spamer c'est pour avoir de l'aide.


Message édité par Profil supprimé le 18-07-2008 à 15:22:06
n°1761605
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 18-07-2008 à 15:23:38  profilanswer
 

dis plutôt ce qui ne marche pas, sinon on sort nos boules... (de cristal :o )
 
essaie ceci :

Code :
  1. $nom = (isset($_POST['nom'])) ? trim($_POST['nom']) : '';
  2. if ($nom == '')
  3. {
  4.   echo '<p class="red">Veuillez indiquer votre Nom</p>';
  5.   $erreur= 1;
  6. }


Message édité par NewsletTux le 18-07-2008 à 15:25:01

---------------
NewsletTux - outil de mailing list en PHP MySQL
n°1761609
Profil sup​primé
Posté le 18-07-2008 à 15:25:11  answer
 

le code au dessu renvoie cela:
Fatal error: Can't use function return value in write context

n°1761614
Profil sup​primé
Posté le 18-07-2008 à 15:27:27  answer
 

ok j'essaye

n°1761616
Profil sup​primé
Posté le 18-07-2008 à 15:32:00  answer
 

cela fonctionne merci, mais ne supprime pas mes espaces.
mon code:
 
  $nom = (isset($_POST['nom'])) ? trim($_POST['nom']) : '';
   if ($nom == '')
  {
  echo '<p class="red">Veuillez indiquer votre Nom</p>';
  $erreur= 1;
  }
  else{
   $nom=$_POST['nom'];
   echo "Votre nom: ".$nom."<br>";
  }
 
quand j'ecrit "a                    dfdf" cela me sort une variable avec espace:
a dfdf

n°1761619
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 15:35:13  profilanswer
 

attends, tu veux quoi exactement? supprimer tous les espaces de la chaine de caractères, ou bien supprimer les espaces à gauche et a droite?
 
"   Mais ou et donc or ni car  " doit donner "Maisouetdoncornicar" ou "Mais ou et donc or ni car" ?

n°1761629
Profil sup​primé
Posté le 18-07-2008 à 15:39:45  answer
 

je veux "Maisouetdoncornicar"

n°1761657
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 15:55:00  profilanswer
 

dans ce cas là

Code :
  1. $nom = (isset($_POST['nom'])) ? str_replace(" ", "", $_POST['nom']) : '';
  2. if (empty($nom) ) {
  3.    echo '<p class="red">Veuillez indiquer votre Nom</p>';
  4.    $erreur= 1;
  5. }

n°1761659
Profil sup​primé
Posté le 18-07-2008 à 15:58:30  answer
 

peux tu s'il te plais me commenter un peu le code ? je n'ai pas l'habitude des commandes raccourcit comme le "?" ou le ":"...

n°1761660
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 16:00:38  profilanswer
 

pas de probleme:
 
en gros, la syntaxe c'est
 
$nom = (condition) ? (resultat si condition=true) : (resultat si condition = false);

n°1761662
Profil sup​primé
Posté le 18-07-2008 à 16:02:25  answer
 

haaa, vraiment sympa, je connaissans pas.  
Merci pour votre aide, je vais appliquer tout cela.

n°1761671
Profil sup​primé
Posté le 18-07-2008 à 16:09:31  answer
 

je vais être chiant mais cela ne fonctionne pas.
ca me renvoie:
Votre nom: jean duppont
 
c'est bon j'ai pigé pourquoi


Message édité par Profil supprimé le 18-07-2008 à 16:10:39
n°1761673
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 16:12:40  profilanswer
 

C'était quoi le probleme?

n°1761690
Profil sup​primé
Posté le 18-07-2008 à 16:43:22  answer
 

une erreur de manip je pense, tout fonctionne bien, j'aime beaucoup cette manière de coder une condition sur une seule ligne, très rapide et pratique

n°1761692
Profil sup​primé
Posté le 18-07-2008 à 16:47:20  answer
 

if(empty($tel) OR !is_numeric($tel) OR (($tel>=0100000000) AND ($tel<=99999999999))){
 
Ca fais trop pour une seule commande ?
 
Me manque plus que ça et j'ai fini, en faite je peux le faire sur deux conditions, mais j'aimerais economiser le code qu'il soit moin "lourd"...


Message édité par Profil supprimé le 18-07-2008 à 16:58:57
n°1761697
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 16:59:47  profilanswer
 

non, ça fait pas trop, mais perso, je trouve ça assez moche :(

n°1761699
Profil sup​primé
Posté le 18-07-2008 à 17:02:59  answer
 

Tu a une autre maniere de proceder ?
 
j'ai trouvé cette solution:
$tel = (($_POST['tel']>=0100000000) AND ($_POST['tel']<=99999999999)) ? str_replace(" ", "", $_POST['tel']) : '';
if(empty($tel) OR !is_numeric($tel)){
echo "<p class=\"red\">Veuillez indiquer un numero de telephone valide</p>";
$erreur= 1;
}
 
je pense pouvoir retirer la codition is_numeric, ainsi que le str_replace


Message édité par Profil supprimé le 18-07-2008 à 17:04:13
n°1761702
Profil sup​primé
Posté le 18-07-2008 à 17:07:31  answer
 

$tel = (($_POST['tel']>=0100000000) AND ($_POST['tel']<=99999999999)) ? $_POST['tel'] : '';
if(empty($tel)){
echo "<p class=\"red\">Veuillez indiquer un numero de telephone valide</p>";
$erreur= 1;
}
 
Voila qui marche !
 
Bon chers programmeurs, vous m'avez été d'un recourt instantané (comme les royco) je vous remercie donc pour tout ce temps que vous m'avez économisé.
Un grand merci à vous donc et un petit clin d'œil à marty McFly, héro de mon film préféré.
 
@bientôt pour de nouvelles aventures Phpesques.

n°1761704
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 17:10:57  profilanswer
 

a ta place, je mettrais plutot une expression régulière ( http://toutjavascript.com/savoir/savoir22.php3 pour le principe, google pour voir ce que ça donne en php [flemme de chercher inside] )
 
ce qui donnerait, au final
 
$tel = ( isset( $_POST['tel'] ) ) ? $_POST['tel'] : '';
 
if ( !ereg_match("^0[1-9]{1}[0-9]{8}$",$tel) ) {
  echo "<p class=\"red\">Veuillez indiquer un numero de telephone valide</p>";
  $erreur= 1;
}


Message édité par Marty_McFly le 18-07-2008 à 17:13:59
n°1761710
Profil sup​primé
Posté le 18-07-2008 à 17:19:02  answer
 

Ca marche pas, j'ai la flemme de chercher je fatigue un peu, on remet ca demain après que j'ai cherché, vais pas vous laisser tout faire à ma place non plus, c'est pas correcte.
 
Thx

n°1761719
Marty_McFl​y
Nan hé ho, d'accord?
Posté le 18-07-2008 à 17:27:28  profilanswer
 

ok, en tout cas j'ai trouvé mon erreur:
je suis distrait, c'est tout
remplace ereg_match( par ereg( et ça va rouler tout seul
 
Résultat:

Code :
  1. $tel = ( isset( $_POST['tel'] ) ) ? $_POST['tel'] : '';
  2. if ( !ereg("^0[1-9]{1}[0-9]{8}$",$tel) ) {
  3.   echo "<p class=\"red\">Veuillez indiquer un numero de telephone valide</p>";
  4.   $erreur= 1;
  5. }

n°1761724
Profil sup​primé
Posté le 18-07-2008 à 17:35:55  answer
 

Tu gère !
 
Voila qui est parfait.
 
Que c'est bon l'entraide !
 
Thanx à bientôt.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Variable avec espace - formulaire - supprimer les espaces

 

Sujets relatifs
structure if avec une variable globlale - JAVA[JS] $('ID') je cherche à faire de ID une sorte de variable...
Au focus, supprimer le contenuAjouter des données à une variable tableau
Comment savoir qu'une variable $_POST est terminée ?création de formulaire en c++
[CSS] Problème de footer sous un div avec du contenu fixe/variable[DOTNET] ArrayList d'OBJET -> Supprimer doublons
probleme formulaire/mysqlkey listener et récupération de variable
Plus de sujets relatifs à : Variable avec espace - formulaire - supprimer les espaces


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR