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 :

Découper un lien .php?champ-texte=chien+chat


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut Découper un lien .php?champ-texte=chien+chat
    Bonjour à tous

    Besoin d'un petit service, je voudrais récupérer du texte dans un liens

    EX: http://monsite.fr/index.php?champ-texte=chien+chat

    donc si je fais ---> $champ-texte = $_GET['champ-texte'];

    J'aurais donc chien+chat enregistré dans la variable $champ-texte

    Or ce que je voudrais c'est que chien et chat soit dans une variable déférente

    Ex: $champ-texte1= chien et $champ-texte2= chat

    Merci d'avance

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 374
    Points
    19 374
    Par défaut
    Bonjour,

    Tu peux utiliser la fonction split() voir http://php.net/manual/fr/function.split.php
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonjour,

    Tu peux utiliser les méthodes list et explode.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if (isset($_GET['var'])) {
    	$var = $_GET['var'];
    	list($var1, $var2) = explode(' ', $var);
    	var_dump($var1);
    	var_dump($var2);
    }
    ?>
    Par contre, cette méthode n'est valable que si tu es sûr de récupérer 2 valeurs.

    Si le nombre de valeurs est indéfini, tu peux toujours utiliser explode, mais il faudra gérer alors le tableau en retour.
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  4. #4
    Membre actif Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    Points : 207
    Points
    207
    Par défaut
    Citation Envoyé par FirePrawn Voir le message
    Bonjour,

    Tu peux utiliser la fonction split() voir http://php.net/manual/fr/function.split.php
    A savoir que slit() est deprecated avec php 5.3
    plutot utiliser explode()
    http://www.anaprosy.be - Solution et réalisation informatique

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ ne mets pas de tiret "-" dans tes noms de variables, mais plutôt des underscore "_" : $champ-texte => $champ_texte
    2/ @FirePrawn : Oups ! split() est obsolète ... (cf doc)
    3/ @Nesmontou : tu es sur la bonne voie avec explode(), mais list() n'est pas utile.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $champ_texte = $_GET['champ-texte']; // de la forme chien+chat+patati+patata...
    // on explose sur "+"
    $champ_array = explode('+', $champ_texte);
    // on récupère les morceaux
    foreach($champ_array as $key -> $val) {
    	$champ_data[$key] = $val;
    }
    ?>
    résultat pour chien+chat+patati+patata :
    $champ_data[0] => chien
    $champ_data[1] => chat
    $champ_data[2] => patati
    $champ_data[3] => patata

    Remarque : ici, mon foreach ne sert pas à grand'chose !
    on aurait pu mettre directement : $champ_data = explode('+', $champ_texte); (on obtient le même résultat !)

  6. #6
    Membre régulier
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant process engineer industrial
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 148
    Points : 93
    Points
    93
    Par défaut
    Ok merci du coup de main.

    PS: voici le code que j'ai ajouté


    $champ-texte = = $_GET['champ-texte'];
    $nom = explode(" ", $champ-texte);
    echo $nom[0];
    echo $nom[1];

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    le + dans une url, c'est un espace, il ne va pas aparaitre dans le GET

  8. #8
    Invité
    Invité(e)
    Par défaut
    ne mets pas de tiret "-" dans tes noms de variables, mais plutôt des underscore "_" : $champ-texte => $champ_texte

    Et sur le conseil avisé de stealth35, je corrige '+' en ' '

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $champ_texte = $_GET['champ-texte'];
    $nom = explode(' ', $champ_texte);
    echo $nom[0]; 
    echo $nom[1];

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/08/2008, 09h25
  2. Récuperer lien <a href> pour mettre dans un champ texte
    Par nico26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/02/2007, 15h19
  3. [PHP-JS] champ texte peut il devenir un champ html ?
    Par djedje37et28 dans le forum Langage
    Réponses: 5
    Dernier message: 28/08/2006, 09h16
  4. Découper un champ texte quand on rencontre une virgule
    Par jeanfrancois dans le forum Langage
    Réponses: 7
    Dernier message: 28/04/2006, 12h10
  5. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h55

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