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 :

Petit problème qui me prend la tête...


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut Petit problème qui me prend la tête...
    Ca doit faire plus d'une demie heure que je bug sur un ***** de petit bout de code!

    C'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $var = $test[0]; //contient 'base'
    $value = @$test[1]; //contient 'admin'
    $_GET[$var] = $value; //Est censé me faire : $_GET['base'] = admin;
    Et ca ne marche pas :/ Même pas de message d'erreur.

    Je vois vraiment pas pourquoi!

    De l'aide!

    Merci

  2. #2
    Membre régulier Avatar de King_T
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 157
    Points : 121
    Points
    121
    Par défaut
    salut , je ne suis pas sur .
    mais ce n'est pas le "@" avant le "$test[1]" qui ets le problem?
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $value = @$test[1]; //contient 'admin'
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $value =$test[1]; //contient 'admin'
    Dreaming in Digital, Living in Realtime, Thinking in Binary, Talking in IP .... Welcome to our World !!!!

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    +1
    le @ a comme but de ne pas afficher de message d'erreur

  4. #4
    Invité
    Invité(e)
    Par défaut
    je viens dessayer moi ça marche nikel (meme avec le @); vide ton cache peut etre

    petite question qui na rien a voir pkoi passes tu par des variables intermediaires?
    quoiquil en soit jai fait avec ton code
    voila ce que jai essayé pour etre sur de ttes les valeurs

    <?php
    $test[0] = 'base';
    $test[1] = 'admin';

    $var = $test[0]; //contient 'base'
    $value = @$test[1]; //contient 'admin'
    $_GET[$var] = $value; //Est censé me faire : $_GET['base'] = admin;
    echo "var = $test[0] | $var <br> value = $test[1] | $value <br> _GET[$var] = $_GET[$var] | $value";
    ?>

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Non, il n'y est pour rien.

    Le problème vient de $var.

    Si je remplace:

    par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_GET['base'] = $value;
    Ca marche impec.

    Si je fais un echo $var, j'obtiens bien 'base'.

  6. #6
    Membre confirmé Avatar de stunti
    Inscrit en
    Mai 2006
    Messages
    520
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Mai 2006
    Messages : 520
    Points : 594
    Points
    594
    Par défaut
    fait un trim de $var
    If it's not broken, don't fix it.
    BiliBa Built on top of Zend Framework

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par rbaatouc
    je viens dessayer moi ça marche nikel (meme avec le @); vide ton cache peut etre

    petite question qui na rien a voir pkoi passes tu par des variables intermediaires?
    quoiquil en soit jai fait avec ton code
    voila ce que jai essayé pour etre sur de ttes les valeurs

    <?php
    $test[0] = 'base';
    $test[1] = 'admin';

    $var = $test[0]; //contient 'base'
    $value = @$test[1]; //contient 'admin'
    $_GET[$var] = $value; //Est censé me faire : $_GET['base'] = admin;
    echo "var = $test[0] | $var <br> value = $test[1] | $value <br> _GET[$var] = $_GET[$var] | $value";
    ?>
    Les variables intermédiaires ne servent à rien, c'était pour résoudre le problème, je met tout au 'clair'

    Je reteste, moi aussi ca me semble bizzard

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par stunti
    fait un trim de $var
    Yeah! Merci

    C'est la solution.

    Par contre, je veux savoir pourquoi je dois faire ce trim.

    Voici le code:

    -avec $_POST['post'] = '?base=admin'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     $_GET['post'] = @$_POST['post'];
     $tmp = @$_POST['post'];
     $tmp = str_replace('?', ' ', $tmp);
     $tmp = explode('&', $tmp);
     
     foreach($tmp as $key)
      {
      $test = explode('=', $key);
      $var = trim($test[0]);
      $value = $test[1];
      $_GET[$var] = $value;
      }

  9. #9
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    tout simplement parce que tu as des espaces qui sont avant ou aprés la chaine 'base' .... les echo ne sont pas ce qu'il y a de mieux pour voir ces espaces.

    le trim permet de virer les espaces en debut et en fin de chaine ce qui regle ton probleme
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Oui, mais d'où viennent ces espaces?

    Il n'y en a pas au début, et il me semble que dans l'execution du programme, aucun espace n'est rajouté!

  11. #11
    Invité
    Invité(e)
    Par défaut
    tes espaces viennent quand tu remplace ton ?
    $tmp = str_replace('?', ' ', $tmp);
    a remplacer par

    $tmp = str_replace('?', '', $tmp);

  12. #12
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    224
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 224
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par rbaatouc
    tes espaces viennent quand tu remplace ton ?
    $tmp = str_replace('?', ' ', $tmp);
    a remplacer par

    $tmp = str_replace('?', '', $tmp);
    Tiens, il me semblait que ca ne faisait que retirer le '?'.

    Je serais au courant!

    Merci à tous.

    Résolu

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

Discussions similaires

  1. Problème simple mais qui me prend la tete
    Par bucheron007 dans le forum Visio
    Réponses: 1
    Dernier message: 08/05/2009, 21h11
  2. Un petit problème de DELETE casse tête pour débutant
    Par abzal dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/07/2008, 15h26
  3. quelques petites problèmes tous bêtes qui me bloquent!
    Par dodie84 dans le forum Modélisation
    Réponses: 4
    Dernier message: 08/04/2008, 15h35
  4. Petit problème d''info-bulle sur image qui veut pas se supprimer
    Par Machiavel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/03/2007, 15h52
  5. Réponses: 10
    Dernier message: 07/01/2007, 12h03

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