Portabilité de variables

Rechercher

Portabilité de variables

Par Yannours  -  6 reponses  -  Le 01/03/2011 18:26  -  Editer  - 

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

Par Cyrano  -  Le 01/03/2011 19:30  -  Haut de page  - 

Il y a une erreur dans toncode user.php, regarde très attentivement, il y a une accolade non fermée.

 
Par Cyrano  -  Le 01/03/2011 19:32  -  Haut de page  - 

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.

 
Par Yannours  -  Le 01/03/2011 19:34  -  Haut de page  - 

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

 
Par Cyrano  -  Le 01/03/2011 21:11  -  Haut de page  - 

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 ;)

 
Par Yannours  -  Le 01/03/2011 22:21  -  Haut de page  - 

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

 
Par Cyrano  -  Le 01/03/2011 22:29  -  Haut de page  - 

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

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |