Passe variable php

Fermé
radis - 30 juin 2010 à 11:06
 radis - 2 juil. 2010 à 15:43
Bonjour,

voila jai un fichier.php dans le quelle il ya 2 variable de type

$var1="salut"
$var2="bonsoir"

jaimerai les utiliser dans un autre fichier.php mais je nutilise pas de formulaire et les include n'iron pas dans mon cas precis avez vs une idee sa fait 2 jour que je bloque

6 réponses

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 juin 2010 à 11:09
Bonjour,

Le meilleur moyen est d'utiliser des sessions.
Tu commences une session avant tout envoi de données dans chacune des pages php concernées par session_start();
Ensuite, tu places tes variables en session comme ceci :
$_SESSION["var1"] = $var1;
$_SESSION["var2"] = $var2;
à la fin du premier script, et tu les rappelles au début du second script comme ceci :
$var1 = $_SESSION["var1"];
$var2 = $_SESSION["var2"];

Xavier
1
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 30/06/2010 à 14:04
Ooooook !!
Alors c'est pas du tout ce sur quoi on était parti, parce que tes autres fichiers PHP ne sont en fait pas du tout interprétés par le moteur PHP !
Ils sont juste comptés en tant que fichiers...

Alors, ce qu'il va falloir faire, c'est pour chaque fichier, l'ouvrir et lire le code, pour retrouver la ligne qui contient l'info que tu veux.

Je te propose quelque chose de ce goût-là :
$files = glob('/srv/www/htdocs/conf.d/*.inc.php'); //verifie le nombre de fichier dans le dossier conf.d aillant l'extension .inc.php 
echo("<Table border=2><tr align=center><th>fichier de configuration </th><th>role</th><th>ouvrir</th></tr>"); 

foreach($files as $filename) 
{ 
// Récupération du contenu du fichier 
    $contenu = file_get_contents($filename); 
     
// Récupération du nom 
    $nom = "Le nom n'a pas été retrouvé"; 
    $code_nom = ereg("/^\s*\$nom\s*=.*;\s*$/", $contenu, $resultats_nom); 
    if (isset($resultats_nom[0])) eval($resultats_nom[0]); 

// Récupération de la description 
    $description = "La description n'a pas été retrouvée"; 
    $code_description = ereg("/^\s*\$description\s*=.*;\s*$/", $contenu, $resultats_description); 
    if (isset($resultats_description[0])) eval($resultats_description[0]); 

//creation du tableau en fonction du nombre de fichier  
    echo("<tr align=center><td>$nom</td><td>$description</td><td><a href=http://localhost/client/tableau.php>ouvrir</td></tr>");  
} 
echo("</table>"); 
?>  

Par contre, suivant le nombre de fichiers de configuration, et le nombre de lignes qu'ils contiennent, les performances peuvent être assez impactées...

Xavier

PS : je n'ai pas testé, je n'ai pas de serveur php ici... Mais à part quelques ajustements éventuels sur les expressions rationnelles, l'idée est là :)
1
merci mec je v essayer sa te retien au courant
encore merci
0
juste un truc que je ne comprend pas

$nom = "Le nom n'a pas été retrouvé";
$description = "La description n'a pas été retrouvée";

vu que tu leur affecte c valeur dans mon tableau se sont ces valeurs qui vont etre affichées non ???
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 juin 2010 à 14:43
Je leur affecte ces valeurs au début.

Ensuite, la ligne if(...) eval(...) effectue le code PHP contenu dans une chaîne de caractère.
En l'occurrence, la chaine de caractère devrait contenir, par exemple, $nom="bidule";. Donc, si tout se passe bien, la variable $nom sera bien réécrite. Par contre, si cela ne se passe pas bien, elle restera sur sa valeur initiale, ce qui indiquera qu'il y a eu un problème :)

Xavier
0
sa na marche pas mes variable ne sont jamais affecter jai essayer pas mal de syntaxe de maip mais rien a faire
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
1 juil. 2010 à 16:59
Alors pour tester, remplace les eval par des echo.
On verra s'il affiche quelque chose...
S'il n'affiche rien, il va falloir modifier les expressions rationnelles. Donne-moi, pour voir, les lignes $nom=... et $description=... dans tes fichiers de conf ?
0
merci
j'ai essayer mais mes valeur ne passe pas j'ai essyer de faire un echo sur une variable recuperer il ne m'affiche rien je sui toujour bloquer :(
0
sa nira pas non plus parcek e le premier fichier on il ya mes variable que je doit renvoyer et un gros tableau php ou il ya juste des info sa nira il fau pas que je mette de lien
0
merci quand meme batman
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
30 juin 2010 à 13:33
Rebonjour,

Tu pourrais décrire précisément l'enchaînement de tes pages et les interactions avec l'utilisateur ?

Xavier
0
alor si tu prefere jai un fichier php qui compte le nombre de fichier .php dans un dossier et qui afficha un tableau en fonction de se nombre de se fichier voila le code du tableau
$i=0;
$files = glob('/srv/www/htdocs/conf.d/*.inc.php'); //verifie le nombre de fichier dans le dossier conf.d aillant l'extension .inc.php
$compte = sizeof($files); //compte le nombre de fichier
echo("<Table border=2><tr align=center><th>fichier de configuration </th><th> role </th><th>ouvrir</th></tr>");
do
{
echo("<tr align=center><td>$nom</td><td>$description</td>
<td><a href=http://localhost/client/tableau.php>ouvrir</td></tr>"); //creation du tableau en fonction du nombre de fichier
$i++;
}while($i<>$compte);

echo("</table>");
echo("$nom");
?>

et a la place de $nom et de $description je doi avoir les valeur des variable se trouvant dans les fichier .php

jespere avoir etet clair : |
merci
0
LDMBatman Messages postés 95 Date d'inscription mardi 29 août 2006 Statut Membre Dernière intervention 10 avril 2014 39
30 juin 2010 à 11:15
Si un lien sert à passer d'un fichier à l'autre, sur la page 1 :
echo "<a href='page2.php?var1=".$var1."&var2=".$var2."'>Lien</a>";


Et sur la page 2 :
$var1=$_GET["var1"];
$var2=$_GET["var2"];
-1