Passe variable php

radis -  
 radis -
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

A voir également:

6 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
radis
 
merci mec je v essayer sa te retien au courant
encore merci
0
radis
 
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
radis
 
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 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
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
radis
 
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
radis
 
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
radis
 
merci quand meme batman
0

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

Posez votre question
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Rebonjour,

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

Xavier
0
radis
 
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   Statut Membre Dernière intervention   39
 
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