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

PHP & Base de données Discussion :

Récupération variables [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2017
    Messages : 26
    Par défaut Récupération variables
    Bonsoir,

    J'ai pris un hébergement gratuit chez webhost avec php 5.3.

    La page d'accueil doit afficher un contenu différent en fonction de variables d'environnement

    J'utilise notamment des cookies avec la variable paramlog, dans une autre page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setcookie("paramlog","/index.php?erreur_msg=$erreur_msg_param");
    Sur la page d'accueil, j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if (empty($erreur_msg)) { ?>
    Cela marche très bien en dev avec wampserver et php 5.2.6.

    Par contre, en ligne cela ne fonctionne pas auriez-vous une idée. SVP. Merci

  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
    Par défaut
    Ton serveur de dev utilise une mécanique totalement obsolète.
    Il faut spécifier $_GET, $_POST, $_COOKIE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if (empty($_GET['erreur_msg'))) { ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2017
    Messages : 26
    Par défaut
    Je te remercie de ta réponse.

    Je sais que c'est obsolète comme moteur PHP mais je ne peux pas utiliser autre chose. De plus même en passant en PHP 5.2 sur le serveur de prod, cela ne marche tout de même pas.

    Je viens d'essayer ce que tu préconise mais avec empty, cela ne fonctionne pas et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if ($_GET['erreur_msg']!="") { ?>
    , cela ne marche pas non plus.

    Néanmoins, avec l'ancien code, si je définis manuellement dans la page d'accueil, . Cela la variable et bien pris en compte.

    Je pense qu'il y a peut-être un paramétrage à ajouter dans le htaccess afin de prendre en compte les paramètres à moins que cela soit autre chose ?

  4. #4
    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
    Par défaut
    Je sais que c'est obsolète comme moteur PHP
    Je ne parle pas de la version de PHP mais le fait de ne pas utiliser $_GET.

    Pour ton problème, ça serait bien de nous le décrire parce que pour l'instant on a juste deux bouts de code et "ça marche pas".
    Parce que tu nous parles de cookies, de variables d'environnement, de redirection, d'un $erreur_msg qu'on ne sait pas trop d'ou il vient ...
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Juin 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2017
    Messages : 26
    Par défaut
    Désolé, je précise un peu.

    J'ai une page protégée par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    needs_login($paramlog,"/index.php?erreur_msg=$erreur_msg_param");
    Elle fait appel à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	function needs_login($cookie,$error_url) 	{
     
    			if ($cookie != 1) {
     
    				if ($error_url=="") {
    					$error_url="/index.php";
    				} 
    				Header("Location: $error_url");
     
    			} else {
     
    				setcookie("redirect","/index.php",0,"/");
    			}
    		}
    La vérification se fait si le cookie existe, sinon il renvoie vers la page d'accueil avec le message d'erreur, ce qui affiche un formulaire de connexion

    Le paramétre $erreur_msg est bien passé car je vois dans la barre d'url :

    https://Monsite/index.php?erreur_msg...ous+identifier

    Mais il n'affiche pas le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?	if (empty($erreur_msg)) { ?>
    le contenu de ma page d'accueil sans message d'erreur
    <? } else { ?>
    mon formulaire de connexion
    <? } ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php_flag short_open_tag
    est activé dans le fichier htaccess.

    Je vois en écrivant le message que le site est en https. Est-ce que cela interdit le passage de paramétres par url ? Faut-il activer une autre option dans le htaccess ?

    Merci de vos réponses.

  6. #6
    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
    Par défaut
    Plutôt que de t’embêter à activer short_open_tag dans ton htaccess, écrit les tags entier dans ton code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if (empty($_GET['erreur_msg'])) { ?>
    Tu peux contrôler ce que tu reçois de l'url :
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. appel de fonction sans récupération variable
    Par mussara dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2006, 11h10
  2. Problèmes récupération variable
    Par bouchette63 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/06/2006, 10h44
  3. PHP récupération variables
    Par marie4449 dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 20h14
  4. [MySQL] Problème récupération variable pour requête SQL !!
    Par mLk92 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/06/2006, 16h08
  5. Réponses: 9
    Dernier message: 15/03/2006, 10h46

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