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 :

Explications sur $_post


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut Explications sur $_post
    Bonjour,

    Je voudrais savoir pourquoi dans la ligne 1 je ne récupère pas la valeur de $_post
    alors que je la récupère dans la ligne 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $num_timbre=mysql_real_escape_string(trim($_POST['affiche']));
    $num_timbre=$_POST['affiche'];
    Merci
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comment fais tu ton contrôle ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Et ça serait pas juste que la ligne 2 écrase la ligne 1 (même nom de variable) ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Bonjour,

    Si je fait une "echo $num_timbre" après la ligne 1 (entre la ligne 1 et 2) je n'ai rien
    c'est pourquoi j'ai mis la ligne 2 de façon à faire marcher le script.

    merci
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    Bonjour,

    ca marche pour moi env php 5.5

    test ce bout de script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $_POST = array_map('trim', $_POST);
    $_POST = array_map('mysql_real_escape_string', $_POST);
     
    $num_timbre = $_POST['affiche'];
    sinon utilise l ext pdo plutot, les fonctions mysql sont deprecated
    http://php.net/manual/fr/function.my...ape-string.php

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Question bête : y a quoi comme valeur dans ton champ à l'origine ? pasque bon, mysql_real_escape_string + trim ça fait des choses quand même...

    Pour tester tes valeurs dans ce genre de situation, je te recommande var_dump plutôt que echo.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Bonjour,

    Si j'utilise "var_dump" voila le résultat : bool(false)
    (toujours sur cette ligne : $num_timbre=mysql_real_escape_string(trim($_POST['affiche']));
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  8. #8
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Ce qui est curieux c'est qu'en interne ça fonctionne.

    En interne je suis sous "wampServer" php 5.3.13

    En externe je suis sous php 5.3.3.7+squeeze19 ??

    Il est peut être là le problème ?

    Merci
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je suis dubitatif* perplexe...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $num_timbre=mysql_real_escape_string(trim($_POST['affiche']));
    1/ quel rapport entre "num_timbre" (numéro de timbre ??) et "affiche" (booléen) ??

    2/ sachant que tu récupères un booléen, quel interêt de lui appliquer mysql_real_escape_string() et trim() ?

    3/ mysql_real_escape_string() sert à protéger les requêtes SQL. As-tu l'intention d'utiliser ce booléen dans une requête ?



    *Oups ! évitons les mots à double sens en présence de Dame Celira ....

  10. #10
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Si je fais un var_dump sur la ligne : $num_timbre=$_POST['affiche'];

    voila le résultat : string(2) "15" ce qui est correct
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  11. #11
    Invité
    Invité(e)
    Par défaut
    QUESTION pertinente... :

    tu utilises l'extension mysql_ (obsolète) ?...

    ...ou pas ?

    N.B. Quand on te pose des questions, ce serait bien d'y REPONDRE...
    Sinon, ça ressemble à un dialogue de sourds... dans le noir.

  12. #12
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Oui j'utilise MySql_

    Si je récapitule

    Avec $num_timbre=mysql_real_escape_string(trim($_POST['affiche'])); j'ai bool(false)

    Avec $num_timbre=$_POST['affiche']; j'ai string(2) "15" ce qui est correct

    Voila
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bon, ben ya pas photo : c'est mysql_real_escape_string qui plante :
    mysql_real_escape_string
    Valeurs de retour :
    Retourne la chaîne échappée, ou FALSE si une erreur survient.
    Je serais d'avis d'essayer d'appeler mysql_error(); juste après, histoire de voir si on peut avoir un message d'erreur.

    ça marche en local, mais pas en déployé ? quelle version de PHP pour chaque côté ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bien vu Celira.
    La raison la plus simple pour une erreur avec mysql_real_escape_string() est que la connexion mysql_connect() n'a pas eu lieu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 382
    Points : 161
    Points
    161
    Par défaut
    Bien vu !!!

    Effectivement il n'y avait pas de connexion à la base

    Merci à tous
    75 ans quelques dents en moins, mais toujours envie d'apprendre

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

Discussions similaires

  1. [Multimédia] Explication sur stream audio
    Par champion dans le forum Développement
    Réponses: 1
    Dernier message: 20/01/2005, 12h14
  2. Besoin d'explications sur float et l'élasticité !
    Par KneXtasY dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/01/2005, 15h15
  3. s.v.p :explication sur le ".h" et dll de l'opengl
    Par Asmod_D dans le forum OpenGL
    Réponses: 1
    Dernier message: 22/11/2004, 10h32
  4. Réponses: 28
    Dernier message: 18/08/2003, 11h54
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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