Portabilité de variables
Bonjour à tous
Bon, je passe régulièrement, mais mes connaissances ne me permettent pas encore d'aider les autres. Du coup, je reviens avec des questions (comme c'est surprenant...)
Je rencontre des problèmes dans la définition de variables et de leur "portabilité". Je ne suis pas sur que se soit le bon terme, mais j'espère que vous m'aurez compris.
Un peu de code valant souvent mieux qu'un grand discours, voilà où j'en suis :
- Mon fichier principal : user.php
<?php
if(isset($_SESSION['pseudo']) AND ($_SESSION['privilege'] == 'Admin'))
{
include ("../fonctions.php");
include("definitions.php");
?>
<?php
if(isset($_POST['modifier_user_id']) && $_POST['modifier_user_id']!='')
{
$user_id = $_POST['modifier_user_id'];
$user_pseudo = consultation_user($user_id);
}
?>
<?php
echo($user_id.' - '.$user_pseudo); // Affiche les infos
?>
<div id="titre">MODIFICATION / CREATION :</div>
<form method="post" action="user.php">
<?php
echo($formulaire_test); // Rien ne s affiche
?>
</form>
- Mon fichier de fonction :
<?php
function consultation_user($user_id)
{
$reqUser = "SELECT user.* ".
"FROM user ".
"WHERE user.user_id = '$user_id'";
$resUser = mysql_query($reqUser) or die ('Erreur SQL !<br />'.$reqUser.'<br />'.mysql_error());
$donnees_user = mysql_fetch_assoc($resUser);
$user_pseudo = $donnees_user['user_pseudo'];
return ($user_pseudo);
}
?>
- Mon fichier definitions.php
<?php
$formulaire_test = '<div>ID User : '.$user_id.' - ID Individu : '.$user_pseudo.'</div>';
?>
Vous l'aurez compris, les variables n'arrivent pas jusque dans le fichier definitions.php
Aurais-je fais quelque chose de mal ? J'ai tenté un global $user_pseudo; dans user.php qui n'a rien changé.
Bref, j'attends avec impatiences vos lumières !
A bientôt
Réponses apportées à cette discussion
Il y a une erreur dans toncode user.php, regarde très attentivement, il y a une accolade non fermée.
J'ajoute rapidement un autre point : pense à quel moment tu dois inclure tes fichiers : certains contiennent des variables, mais quand ces variables sont-elles définies et initialisées ? Attention à faire les choses dans le bon ordre.
Salut Cyrano
Elle est fermée en réalité, c'est que je n'ai mis qu'une partie du code là pour ne pas encombré de trop le forum, et que j'ai zappé de la refermer.
A bientôt
Ok pour la parenthèse.
Maintenant, as-tu observé la chronologie du déroulement des différentes opérations ? Suis bien chaque étape en oubliant pas que pour utiliser une variable, elle doit avoir été initialisée au préalable. Donc, dans une ligne qui utilise une variable,demande toi où et quand (avant ou après) elle est initialisée. En suivant comme ça, tu vas découvrir où tu as commis une erreur, ce que faisant tu devrais logiquement trouver de façon assez évidente comment corriger ;)
Salut Cyrano
J'suis pas aidé quand je m'y mets ^^
Effectivement, utiliser des variables non définies ne fonctionne pas très bien...
J'ai remis le include après la définition des variables, et du coup, ça marche bien mieux xD
Merci une fois de plus pour ta célérité !
A bientôt
Ben c'est juste un oubli, l'oubli de rester logique, donc de suivre une chronologie. En fait il faut penser comme une machine, or une machine ne devine pas et n'anticipe pas : un ordinateur, c'est beaucoup plus con en fin de comptes :D