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

HTML Discussion :

Zone de texte avec obligation de finir par un espace


Sujet :

HTML

  1. #1
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut Zone de texte avec obligation de finir par un espace
    Bonjour à tous.

    Voilà j'ai une page html avec une zone de saisie en textarea.
    Cette zone de texte est réutilisé dans une page php.
    Dans cette zone, l'utilisateur doit pouvoir copier coller autant d'info qu'il le veut, mais le dernier caractère doit obligatoirement etre un espace pour que mon code php marche à la perfection.
    En modifiant le code php, mon problème pourrait sans doute être réglé, mais ayant dejà plus de 650 lignes dependante de cette petite subtilité, je risquerai de tout faire planter.

    Existe-il un moyen tout simple pour que ma zone de saisie en html permettent le collage de plein de donnée, et mette obligatoirement un espace à la fin ?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Salut,

    heu : $_POST['textarea'] . ' '; ?

    Quand tu dis que l'espace est obligatoire pour que ton script PHP fonctionne à merveille, ça veut dire que si il manque l'espace le script lève une erreur ? Si oui, laquelle ? Si non, affiches-tu les erreurs ?
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    le dernier caractère doit obligatoirement etre un espace pour que mon code php marche à la perfection.
    Autant dire que ton code PHP ne fonctionne donc pas à la perfection !

    La proposition de Torgar me semble le meilleur pansement (pas de solution en HTML, possibilité en JavaScript, mais moins sure).
    Ceci dit, ça reste un pansement, le mieux serait quand même d'adapter le code PHP pour qu'il fonctionne réellement à la perfection.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut
    En faite je suis passé par moultes transformation de ma zone de texte (explode, count de cet explode, utilisation du count pour une suppression du dernier caractère, etc) pour que ma requête s'exécute car sinon, à la fin de chaque variable utilisé dans ma requete il y avait un espace.
    Et du coup tout est fait la dessus.
    Mais j'ai remarqué que quand je ne met pas d'espace à la fin, ma dernière valeur se voit emputer de son dernier caractère, du coup, la requetes avec celui là ne se fait pas.

    Mon code sur la partie concerné est le suivant :

    Code php : 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
    	$formchoix=$_POST["formchoix"];
    	$formselection=$_POST["formselection"];
    	$indiv=explode("\n", $formselection);
     
    	$row=count($indiv);
     
    	for($i=0; $i<=$row-1 ; $i++) //-2
    	{
    		$rest[$i] = substr($indiv[$i], 0, strlen($indiv[$i])-1);
     
    		if(strlen($rest[$i])==0)
    		{
    			$rest[$i]="faux";
    		}
     
    	}

    Cela dit, pendant que je vous écrit je me rend compte qu'il suffit d'une petite modification (je crois) :

    Code php : 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
    	$formselection=$_POST["formselection"];
    	$indiv=explode("\n", $formselection);
     
    	$row=count($indiv);
     
    	for($i=0; $i<=$row-2 ; $i++) //-2
    	{
    		$rest[$i] = substr($indiv[$i], 0, strlen($indiv[$i])-1);
     
    		if(strlen($rest[$i])==0)
    		{
    			$rest[$i]="faux";
    		}
     
    	}
     
    	if(strlen($rest[$row])==0)
    	{
    		$rest[$row]="faux";
    	}

    Je vais tester ça de ce pas.

  5. #5
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut
    Euh en faite non c'est une écatombe là

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Citation Envoyé par renaud22 Voir le message
    .... pour que ma requête s'exécute car sinon, à la fin de chaque variable utilisé dans ma requete il y avait un espace.....
    Tu saisies quoi dans ton formulaire ? Une requête sql ?
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  7. #7
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut
    Non dans mon formulaire je copie colle plein de codes (soit machine, soit employé, mon php fait la difference entre les 2 après) copier d'une page excel ou autre (ou une saisie de plusieurs codes). Dans mon php j'ai des requêtes qui s'exécutent à partir de ce que j'ai dans mon formulaire, code par code
    Si un des codes saisie n'existe pas dans la base de donnée, mon php me l'affiche et continue quand même de traiter le reste.

  8. #8
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Donc en gros tu as dans ton formulaire des codes sous cette forme (imaginons...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Efc4d4a93d
    147e6cd9Ae
    cIcs9cvd5z
    num_emp_001 
    num_emp_002
    num_emp_003 
    UIzcd5078d
    num_emp_004
    Code php : 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
    $listCodes = explode("\n", $_POST['formselection']);
    $i = 0;
     
    foreach ($listCodes as $codes) {
        $listCodesRest[$i] = trim($codes); // Trim() pour supprimer les espaces gauche et droite de la chaîne de caractère.
        $i++;
    }
     
    foreach ($listCodesRest as $codeRest) {
        if (!in_db($codeRest)) { // en admettant que in_db() fasse une recherche dans ta/tes table(s)
            echo 'Le code ' . $codeRest . ' n\'existe pas dans la base de données<br />';
        }
        else {
            // traitement si code existant
        }
    }
    Si tu peux nous montrer un exemple de code.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  9. #9
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut
    C'est à peut près ça mais pas tout à fait.

    Code php : 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
    	$formchoix=$_POST["formchoix"];
    	$formselection=$_POST["formselection"];
    	$indiv=explode("\n", $formselection); //prend séparément chaques codes
     
    	$row=count($indiv); //compte le nombre de ligne saisie
     
    	for($i=0; $i<=$row-1 ; $i++) // jusqu'à row-1 parce que commence à zéro
    	{
    		$rest[$i] = substr($indiv[$i], 0, strlen($indiv[$i])-1); //supprime le dernier caractère (qui était tout le temps l'espace me dérangeant)
     
    		if(strlen($rest[$i])==0) //sert pour ignorer dans mes requetes toutes les lignes vides s'étant eventuellement glissé
    		{
    			$rest[$i]="faux";
    		}
     
    	} 
     
    // Puis mon traitement : requêtes, affichage dans diverses boucles, avec diverses conditions, etc

  10. #10
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Code php : 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
    $listCodes = explode("\n", $_POST['formselection']);
    $i = 0;
     
    foreach ($listCodes as $code) {
        /*
            Est considéré comme vide les valeurs suivantes :
                "" (une chaîne vide)
                0 (0 en tant qu'entier)
                0.0 (0 en tant que nombre à virgule flottante)
                "0" (0 en tant que chaîne de caractères)
                NULL
                FALSE
                array() (un tableau vide)
                var $var; (une variable déclarée, mais sans valeur dans une classe)
        */
        if (!empty($code)) { 
            $listCodesRest[$i] = trim($codes); // Trim() pour supprimer les espaces gauche et droite de la chaîne de caractère.
            $i++;
        }
    }
    Avec ça tu as liste des codes sans les valeurs (lignes) vides.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  11. #11
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut
    Je connaissais pas ça.
    Mais bon ça règle pas le problème de mettre un espace à la fin de la dernière ligne uniquement

  12. #12
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Bah montre nous le code qui fait que tu as besoin de rajouter cet espace. Car là avec ce qu'on a, c'est dur de se dire "tiens, du moment que je fais mon tableau de code, faut pas que j'oublie de rajouter un espace au dernier élément du tableau parce que sinon le reste ne va pas fonctionner..." sans que l'on voit où ça ne va pas fonctionner.

    Sinon pour rajouter l'espace sur le dernier élément du tableau:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $listCodesRest[count($listCodesRest)-1] .=  ' ';
    Mais comme l'a dit Bovino, c'est qu'un pansement...

    Edit : ce qu'il faut panser c'est pas cet espace à rajouter, mais l'endroit du code qui fait que si il n'y pas cet espace, ça ne fonctionne pas ou plus.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  13. #13
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 81
    Par défaut
    Oui mais en faite, mon espace doit pas etre ajouter sur le dernier élément du tableau, mais du formulaire.

    Enfin bref c'est pas important çaun petit message d'alert et voilà ^^

  14. #14
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    J'ai déjà répondu à cette demande dans mon premier message...
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. liaison zone de texte avec une liste
    Par FlIpMaN dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/02/2006, 23h39
  2. : remplir des zones de texte avec une boucle For
    Par Haro_GSD dans le forum Access
    Réponses: 3
    Dernier message: 20/09/2005, 21h23
  3. Réponses: 3
    Dernier message: 21/06/2005, 11h37
  4. [MFC] zone de texte avec "wrap" automatique
    Par bigquick dans le forum MFC
    Réponses: 3
    Dernier message: 21/04/2005, 16h26
  5. Zone de texte avec SDL
    Par bobtux dans le forum OpenGL
    Réponses: 2
    Dernier message: 08/03/2005, 18h47

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