8768 sujets

Développement web côté serveur, CMS

php récupère la variable globale $_SESSION["titreGlobal"]..
Comment la passer à la page "objectifs.php" et récupérer cette variable pour l'utiliser ensuite dans des scripts php et javascript ?
Merci de votre aide.
  function chargerGlobal() {
             $sql = "SELECT * FROM global WHERE nuser = '$nUser' AND semaine = '$semaine'";
             $result = mysqli_query($conn, $sql);
            if (mysqli_num_rows($result) > 0) {
                 // output data of each row
                 while($row = mysqli_fetch_assoc($result)) {
                   $_SESSION["titreGlobal"] =  $row["titre"];
                  echo "<script type='text/javascript'>document.location.replace('objectifs.php');
             } else if (mysqli_num_rows($result) == 0) {
                $_SESSION["titreGlobal"] = "rien";
                echo "<script type='text/javascript'>document.location.replace('objectifs.php');</script>";
             }

Modifié par fredericmarcel (09 Dec 2015 - 17:38)
La variable $_SESSION est accessible via toutes tes pages php. Bien sur il ne faut pas oublier de "starter" la session.
JENCAL a écrit :
La variable $_SESSION est accessible via toutes tes pages php. Bien sur il ne faut pas oublier de "starter" la session.


Je la récupère donc dans le script javascript ?

 Alert ($_SESSION["titreGlobal"]);


Et je n'oublie pas "session_start();"

Merci Jencal : petit à petit, l'oiseau fait son nid Smiley smile
Modérateur
Bonjour,

J'écrirais plutôt :

<script>
alert("<?php echo $_SESSION['titreGlobal'];?>");
</script>


Attention, ça ne marche pas si le code javascript est dans un fichier à part. Si tel est le cas, il faut ajouter dans la page HTML un mini-script qui affecte la valeur $_SESSION["titreGlobal"] à une variable globale javascript, variable qui pourra ensuite être utilisée dans le fichier javascript.

Exemple : supposons que le code javascript est dans le fichier xxx.js et qu'il utilise une variable javascript appelée titre pour disposer de la valeur de $_SESSION["titreGlobal"] (et par exemple pour l'afficher dans une alerte ou faire n'importe quoi d'autre).

Le code du fichier xxx.js :

alert(titre);

La portion de code dans la page html :

<script>var titre="<?php echo $_SESSION['titreGlobal'];?>";</script>
<script src="xxx.js"></script>


Amicalement,
[
&lt;script&gt;var titre="&lt;?php echo $_SESSION['titreGlobal'];?&gt;";&lt;/script&gt;
&lt;script src="xxx.js"&gt;&lt;/script&gt;
[/code]

En fait, toutes mes pages sont des pages .php avec du code html/css et du code javascript en plus du code php.
La variable $_SESSION['titreGlobal']; provient d'un fichier "authentification.php".
Si je te comprends bien, même si les script javascript sont dans ma page "objectifs.php", il est peut-être plus simple de créer une variable titre en lui affectant la valeur de $_SESSION['titreGlobal'] pour l'utiliser dans cette page.
De toute façon, la variable $_SESSION['titreGlobal'] reste active tant que l'on a pas fermé la session.
Je vais faire mes manipulations demain; j'espère que ça fonctionnera mieux que mes débuts avec CSS qui ont été vraiment difficiles.
Merci de votre aide à tous.; elle est vraiment précieuse Smiley smile
Modérateur
fredericmarcel a écrit :

Si je te comprends bien, même si les script javascript sont dans ma page "objectifs.php", il est peut-être plus simple de créer une variable titre en lui affectant la valeur de $_SESSION['titreGlobal'] pour l'utiliser dans cette page.


C'est tout à fait ça.

Amicalement,