IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] comment obliger un utilisateur à rentrer un entier dans un champ [Fait]


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut [PHP-JS] comment obliger un utilisateur à rentrer un entier dans un champ
    je recupère d'un formulaire des données et grâce à une requête j'envoie ces données dans une BDD

    mon problème et que je ne sais pas comment vérifier si dans un champ donné les données rentrées par l'utilisateur sont bien des entiers car dans le cas contraire mon application plante

    comment dois-je faire ?

    merci de votre aide

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    euhhhh is_integer() ? je crois si ma memoire ets bonne

  3. #3
    Membre du Club
    Inscrit en
    Février 2007
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 80
    Points : 54
    Points
    54
    Par défaut
    Tu peux faire une boucle genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lire la valeur entrée
    tant que ce n'est pas un entier
        demander d'entrer la valeur
    fin tant que
    il y a aussi is_int()

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    non sa marche pas désoler



    voila un petit aide mémoire très util :
    http://fr3.php.net/manual/fr/function.is-int.php


    je ne c'est pas pourquoi je rentre toujour dans le else

    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(is_integer($_POST['pai_codigo']))
    					{
    						echo "cest un entier";
    					}
    					else
    					{
    						echo "cest pas un entier";
    					}
    voici ma declaration pour le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <form action="anadir_pais.php" method="post">
     
    				<p>
    					PAI_CODIGO:<br/>
    					<input type="text" name="pai_codigo"/><br/>
    					PAI_NOMBRE:<br/>
    					<input type="text" name="pai_nombre"/><br/>
    					PAI_ZONAMUN:<br/>
    					<input type="text" name="pai_zonamun"/><br/>
    					PAI_ACTUAL:<br/>
    					<input type="text" name="pai_actual"/><br/>
    					PAI_ESTADO:<br/>
    					<input type="text" name="pai_estado"/><br/>
     
    					<input type="submit" value="Añadir" /><input type="button" id="volver" value="Volver" onClick="document.location.href='pais.php';">
     
    				</p>
    peut etre que mon probleme vien du formulaire je c'est pas.

    merci de votre aide

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    je confirme is_integer() fonctionne mais il est preferable d utiliser is_int()

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    ni is_int ni is_integer ne fonctionne

    a chaque foi sa me renvoi FALSE (c'est se que jen déduis puisque a chaque foi je passe dans le ELSE)

    comment faire?

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    remplace ton $_POST['pai_codigo'] par 2 et 2.03 pour tester ta boucle , je pense pas que la fonctionne ne marche pas

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    je vient de renplacer mon POST par une valeur en dure comme tu me la conseillé et effectivement sa marche bien

    comment doit-je faire pour pouvoir tester la valeur de mon formulaire maitenent??

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    bah comme t as fais daton code , tu peux constater que si tu vas dans le esle tu n as pas un entier !

  10. #10
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    mais quant je le teste et que dans mon formulaire je mais un entier lors de la verification il passe dans le ELSE

    est-ce que sa pourait venir du type du champ dans le formulaire

    il est declaré en TEXT ceci doit-il etre modifier??

  11. #11
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    tu peux peut etre faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int $pays = $_POST['pai_codigo'] ;
    je t'avouerais quej ai un trou de memoire php la

  12. #12
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Il existe cette fonction javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    function chiffres(event) {
    	// Compatibilite IE / Firefox
    	if(!event&&window.event) {
    		event=window.event;
    	}
    	// IE
    	if(event.keyCode < 48 || event.keyCode > 57) {
    		//N'écrit pas sauf si chiffre/backspace/tabulation
    	if ((event.keyCode != 8)&&(event.keyCode != 9)) {
    			event.returnValue = false;
    			event.cancelBubble = true;
    		}
    	}
    	// DOM					
    	if(event.which < 48 || event.which > 57) {
    		//N'écrit pas sauf si chiffre/backspace/tabulation.
    		if ((event.which != 8)&&(event.which != 9)) {
    			event.preventDefault();
    			event.stopPropagation();
    		}
    	}
    }
    Cette fonction permet de n'accepter que les touches du pavés numériques, la tabulation et le backspace.

  13. #13
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    non non RideKick

    sa peut pas se faire je viens de tester et sa marche pas g un message d'erreur
    Parse error: syntax error, unexpected T_VARIABLE in C:\Archivos de programa\Apache Group\Apache2\htdocs\php\anadir_pais.php on line 13
    en gros je crois que pour lui ,$_POST['pai_codigo'] est une chaine de caractere


    merci J0r_x de me proposer cette solution mais je ne peut pas utiliser de java je doit me contenter de PHP/HTML/ORACLE


    mais merci quand meme

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut Expressions régulières
    Salut,

    Pour moi, le mieux est sans doute de créer une fonction utilisant une expression réguliere.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function verif_contenu_entier($champ)
    {
         if(!eregi('^[0-9]{1,}$', $champ))
         {
              return 1;
         }
         else
         {
               return 0;
         }
    }
    le paramètre de la fonction est le champ que tu désires tester et la condition oblige le champ à ne contenir que des entiers.

    Enfin, je retourne un 1 ou un 0, à toi ensuite de gérer comme tu le sens.

    Bon courage

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Il s'agit bel et bien d'un code javascript ce qui t'a été donné ici.

    Sinon je crois que php gère la conversion en entier (parseInt). Sinon is_numeric fonctionne également je crois.

  16. #16
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    C'est dommage, faire un travail laborieux avec PHP alors que le javascript est là pour ça

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Le problème du javascript c'est d'etre désactivable par l'utilisateur, auquel cas tous tes controles sautent.

    Néanmoins j'appuie la philosophie de doubler le controle : un pour le confort de l'utilisateur et l'autre pour l'intégrité réelle des données.

  18. #18
    Membre éclairé Avatar de J0r_x
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2006
    Messages : 804
    Points : 751
    Points
    751
    Par défaut
    Citation Envoyé par ratapapa
    Le problème du javascript c'est d'etre désactivable par l'utilisateur, auquel cas tous tes controles sautent.

    Néanmoins j'appuie la philosophie de doubler le controle : un pour le confort de l'utilisateur et l'autre pour l'intégrité réelle des données.
    En même temps je vois pas l'intêret de désactivé le javascript puisque 90% des sites l'utilise, faut être vraiment béte.

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Et oui, le problème du javascript est là, mais je suis d'accord sur le fait que c'est plus puissant. Par contre, pour le problème présent, bien que le javascript aurait été plus adapté, mon post sur les expressions régulières permet une vérification certaine des champs d'un formulaire mais impose l'envoi des données vers une page de vérification.

  20. #20
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    Citation Envoyé par ratapapa
    Il s'agit bel et bien d'un code javascript ce qui t'a été donné ici.

    Sinon je crois que php gère la conversion en entier (parseInt). Sinon is_numeric fonctionne également je crois.

    quqnt tu dit que is_numeric fonctionne je suis dacord mais le probleme c'est qu'il est toujour TRUE pasque il cherche un entier ou une chaine mais moi je doit absolument avoir un entier pour ma clef primaire

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/02/2015, 10h50
  2. Comment obliger un utilisateur à remplir tous les champs d'un Userform
    Par puledad1 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/09/2011, 16h20
  3. Comment obliger un utilisateur à remplir tous les champs d'un Userform
    Par Gibé2201 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/08/2011, 11h49
  4. Comment changer d'utilisateur de la BD dans le code?
    Par riddick dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 06/05/2007, 10h16
  5. Réponses: 12
    Dernier message: 13/02/2006, 05h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo