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 :

Récupérer les variables en global


Sujet :

Langage PHP

  1. #1
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut Récupérer les variables en global
    bonjour

    je veux récupérer des variables d'une fonction je les passe en global, mais elles restent locales.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $long = '0';
    function CoupeTexte($Texte, $NB) {
    	$TabMots = explode(" ", $Texte);
    	$NvTexte = '';
     
    	for ($i = 0; $i < $NB; $i++) {
    		$NvTexte .= ' ' . $TabMots[$i];
    	}
     
    	if (count($TabMots) > $i) {
    		global $long;
    		$long = '1';
    		echo "longueur<br>" . $long;
    	};
     
    	return $NvTexte;
     
    }
     
    echo "varible long " . $long;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($long == '1') {
    			echo '<a href="news.php?id=' . $id . '">Lire la suite</A>';
    		}

  2. #2
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    j'ai lu que suivant les hébergeurs ces variables pouvaient être désactivées.
    Je suis en mutualisé chez OVH, il me semble donc qu'elles sont activées par défaut.

  3. #3
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    	global_power();
     
    	function global_power()
    	{
    		$GLOBALS['global'] = "je suis une global";
    	}
     
    	echo $global;
    ?>

  4. #4
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    merci lokicoule

    j’avais essayé également les super globales, mais c'est pareil.
    je fais ça, mais le echo ne renvoie rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function CoupeTexte($Texte, $NB) {
    	$TabMots = explode(" ", $Texte);
    	$NvTexte = '';
    	$GLOBALS['global'] = "je suis une global";
    	for ($i = 0; $i < $NB; $i++) {
    		$NvTexte .= ' ' . $TabMots[$i];
    	}
     
    	if (count($TabMots) > $i) {
    		$_SESSION['long'] = '1';
     
    	} else {
    		$_SESSION['long'] = '0';
    	};
     
    	return $NvTexte;
     
    }
    echo "global".$global;

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Il faudrait penser à (re)voir quelques fondamentaux...
    Si tu n'appelles pas la fonction, il n'y a aucune raison pour que ta variable soit initiée.
    Dans l'exemple que tu montres, l'utilisation de variable globale est inapproprié. Si ta fonction renvoie une valeur, alors il est préférable d'affecter cette valeur renvoyée à une variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $var = CoupeTexte('foo', 'bar');
    echo $var;  // Affichera le résultat renvoyé par la fonction
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre actif

    Homme Profil pro
    Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Inscrit en
    Juillet 2006
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster, Réalisateur Vidéo, Chef de projet Web documentaire
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 404
    Points : 241
    Points
    241
    Par défaut
    oui désolé j'avais oublié de remettre les ligne faisant l'echo de la fonction.
    Et puis j'aurais réfléchi un peu, plutôt que de faire une variable global pour faire une condition après, je met mes conditions dans la fonction.
    Plus simple et fonctionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    function CoupeTexte($Texte, $NB, $id_article) {
    	$TabMots = explode(" ", $Texte);
    	$NvTexte = '';
    	for ($i = 0; $i < $NB; $i++) {
    		$NvTexte .= ' ' . $TabMots[$i];
    	}
     
    	if (count($TabMots) > $i) {
    		$NvTexte='<p>'.$NvTexte.'...</p><a href="news.php?id=' . $id_article . 'class="plus">Lire la suite</A>';
     
    	} else {
    		$NvTexte='<p>'.$Texte.'</p>';
    	};
     
    	return $NvTexte;
     
    }

  7. #7
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    ta fonction revient en plus court à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function CoupeTexte($texte, $nb, $id_article) 
    {
    	$mots = explode(' ', $texte);
    	$txt  = htmlspecialchars((implode(' ', array_slice($mots, 0, $nb))), ENT_QUOTES);
     
    	return (count($mots) > $nb)
    		       ? "<p>{$txt}...</p><a href=\"news.php?id={$id_article}\" class=\"plus\">Lire la suite</a>"
    		       : "<p>{$txt}</p>" 
    }

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

Discussions similaires

  1. Récupérer les variables d'une autre fenêtre
    Par chuky dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 20/05/2012, 20h24
  2. Récupérer les variables dans une popup
    Par Msieurduss dans le forum Langage
    Réponses: 4
    Dernier message: 21/08/2006, 20h05
  3. [VB.NET]Récupérer les variables d'un XML dans VB
    Par Yanos dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/07/2006, 08h21
  4. [HTML][PHP] Formulaire impossible de récupérer les variables
    Par Pfeffer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 11/11/2005, 16h08
  5. Récupérer les variables d'un .pm
    Par Feustine dans le forum Modules
    Réponses: 4
    Dernier message: 12/08/2005, 19h30

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