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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    150
    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 : 150
    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 confirmé

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

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    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 confirmé Avatar de Legenyes
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 174
    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()

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant process engineer industrial
    Inscrit en
    Janvier 2010
    Messages
    150
    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 : 150
    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];

  5. #5
    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];

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

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    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.

  7. #7
    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 !)

  8. #8
    Expert confirmé

    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
    Par défaut
    le + dans une url, c'est un espace, il ne va pas aparaitre dans le GET

+ 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