Besoin d'aide affichage variable en php

Besoin d'aide affichage variable en php - PHP - Programmation

Marsh Posté le 22-06-2006 à 09:42:30    

Bonjour @ tous
 
J'ai besoin de vous !!! encore une fois !!!! LOL
 
Bon alors mon problème, c'est que je souhaiterai afficher une variable en php si elle n'est pas vide (si elle contient une valeur) et si elle n'en contient pas, afficher un texte.  
 
J'ai essayé ça (il s'agit de php mélangé à du html, c'est pour ça que ça ne marche pas je pense :
 
    <div id="inscr_log" class="inscr" style="position: absolute; width: 153px; height: 100px; margin: 38px 0 0 20px; text-align: center;"><? if (isset'$erreur') && !empty(isset'$erreur')) { echo 'Bienvenue ! Pour commencer à poster <br />il suffit de t&#039;inscrire en remplissant le formulaire ci-dessous. <br />Cela ne prend que quelques instants et c&#039;est <b>Gratuit</b>.' else echo $erreur ?></div>
 
et j'obtiens l'erreur  
 
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting '(' in e:\serveur\www\prizee\inscription.php on line 172      (la ligne 172 est bien sur celle que je vous ai donné.
 
Je n'arrive pas à résoudre ce bug.
 
Merci d'avance pour votre aide.
 
@+
 
Antho

Reply

Marsh Posté le 22-06-2006 à 09:42:30   

Reply

Marsh Posté le 22-06-2006 à 10:03:44    

Code :
  1. if (isset'$erreur')


 
un

Code :
  1. if(isset($erreur))

serait plus approprié je pense...
 
Et merci de mettre ton code entre balise, car c'est un peu illisible. ;)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 10:08:37    

Code :
  1. if (isset'$erreur') && !empty(isset'$erreur'))


2 parenthèses ouvrantes et 3 parenthèses fermantes ça te semble pas étrange ?


Message édité par naglafar le 22-06-2006 à 10:09:49
Reply

Marsh Posté le 22-06-2006 à 10:10:42    

oui merci beaucoup je vais tester ça de suite et vous dire si ça marche !!!

Reply

Marsh Posté le 22-06-2006 à 10:16:43    

Voilà j'ai remplacé par :  
 

Code :
  1. <div id="inscr_log" class="inscr" style="position: absolute; width: 153px; height: 100px; margin: 38px 0 0 20px; text-align: center;">
  2. <? if (isset($erreur) && !empty(isset($erreur)) { echo 'Bienvenue ! Pour commencer à poster <br />il suffit de t&#039;inscrire en remplissant le formulaire ci-dessous. <br />
  3. Cela ne prend que quelques instants et c&#039;est <b>Gratuit</b>.' else echo $erreur ?></div>


 
et maintenant j'ai l'erreur :  
 
Parse error: parse error, unexpected T_ISSET, expecting T_VARIABLE or '$' in e:\serveur\www\...\inscription.php on line 174


Message édité par tony1232 le 22-06-2006 à 10:18:21
Reply

Marsh Posté le 22-06-2006 à 10:30:57    

empty(isset ?? [:petrus75]
 
Tu vérifies que c'est quelque chose qui n'existe pas est vide toi ? [:petrus75]

Reply

Marsh Posté le 22-06-2006 à 10:32:05    

bon j'ai encore modifié
 
maintenant c'est :  
 
[cpp]     <div id="inscr_log" class="inscr" style="position: absolute; width: 153px; height: 100px; margin: 38px 0 0 20px; text-align: center;">
<? if ((isset($erreur) && !empty($erreur)) echo "Bienvenue ! Pour commencer à poster <br />
il suffit de t&#039;inscrire en remplissant le formulaire ci-dessous. <br />Cela ne prend que quelques
 instants et c&#039;est <b>Gratuit</b>." else echo $erreur ?></div>  
 
et j'obtiens l'erreur :  
 
Parse error: parse error, unexpected T_ECHO
 
c'est koi le blème ???

Reply

Marsh Posté le 22-06-2006 à 10:43:52    

Code :
  1. <? if ((isset($erreur) && !empty($erreur)) echo "Bienvenue ! Pour commencer à poster <br />


Tu n'aurais pas encore un probleme de parenthere ? [:petrus75]


Message édité par zapan666 le 22-06-2006 à 10:44:16

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 11:42:40    

bon je pense que je m'y prends mal dès le début.
 
Quelle serait la syntaxe correcte pour afficher un texte défini si la variable est vide, ou afficher seulement la variable si elle contient quelque chose ??

Reply

Marsh Posté le 22-06-2006 à 11:44:31    

Code :
  1. if(isset($erreur) && !empty($erreur)) { echo $erreur; }


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 11:44:31   

Reply

Marsh Posté le 22-06-2006 à 11:45:49    

j0R, on va pas te donner le code tout fait, quand même ! On est obligés de te donner justes des indices, pour que tu puisse mieux progresser. :) Bon, c'est vrai qu'en plus, perso, j'aime bien voir les autres galérer un peu, pour une fois que c'est pas moi !:D
 
Edit : boaaa, pas drole !:)


Message édité par Glock21 le 22-06-2006 à 11:46:27

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 11:55:07    

bon voilà ça marche. par contre, sur ma page, j'ai le message Notice: Undefined variable: erreur in \inscription.php on line 174.  
 
En fait, en haut de la page, j'ai le code suivant :  
 

Code :
  1. <?php
  2. if (isset($erreur)) $erreur='';
  3. include("connection.php" );
  4. if (isset($_POST['act']) && $_POST['act'] == 'inscription') {
  5.     if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['confpass']) && !empty($_POST['confpass'])) && (isset($_POST['email']) && !empty($_POST['email']))) {
  6.         if ($_POST['pass'] != $_POST['confpass']) {
  7.             $erreur = 'Les 2 mots de passe sont différents.';
  8.         }
  9.         else {
  10.            
  11.             $sql = 'SELECT count(*) FROM membres WHERE m_login="'.addslashes($_POST['pseudo']).'"';
  12.             $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  13.             $data = mysql_fetch_array($req);
  14.             if ($data[0] == 0) {
  15.                 $sql = 'INSERT INTO membres (m_login, m_pass, m_email) VALUES("'.addslashes($_POST['pseudo']).'", "'.addslashes($_POST['pass']).'", "'.addslashes($_POST['email']).'" )';
  16.                 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
  17.                 session_start();
  18.                 $_SESSION['login'] = $_POST['pseudo'];
  19.                 header('Location: membres.php');
  20.                 exit();
  21.             }
  22.             else {
  23.                 $erreur = 'Un membre possède déjà ce login.';
  24.             }
  25.         }
  26.     }
  27.     else {
  28.         $erreur = 'Au moins un des champs est vide.';
  29.     }
  30. }
  31. ?>


 
Ensuite, j'ai une bonne partie de code en html, puis je re-ouvre une petite partie de php pour afficher cette variable erreur. Et c'est dans cette deuxième partie le problème, comment faire pour rappeler la variable erreur qui se trouve dans la première partie de php ?????

Reply

Marsh Posté le 22-06-2006 à 11:57:36    

je partie que a la ligne 174 tu as un echo $erreur ou autre, alors que tu ne l'a jamais initialise avant [:petrus75]
 
L'erreur est assez explicite pourtant


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 12:02:28    

mais elle est bien initialisée en début de page !!!
 
sinon comment la réinitialiser mais sans changer sa valeur ?
dsl mais je suis vraiment débutant en php !!!
 
merci

Reply

Marsh Posté le 22-06-2006 à 12:03:41    

tony1232 a écrit :

mais elle est bien initialisée en début de page !!!


non
 
Deroule ton programme et tu verra que non
(cad imagine ce qu'il se passe etape par etape)


Message édité par zapan666 le 22-06-2006 à 12:03:59

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 12:06:23    

pourtant en début de page, j'ai bien  
if (isset($erreur)) $erreur=''; !!!!!
 
comment la réinitialiser pour qu'elle s'affiche dans ma deuxième partie de php ???

Reply

Marsh Posté le 22-06-2006 à 12:11:50    

tony1232 a écrit :

if (isset($erreur)) $erreur='';


 
càd : "Si la variable erreur est définie, la mettre à rien", et pas "si la variable erreur N'est PAS définie, la mettre à rien".
 


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 12:12:06    

Code :
  1. if (isset($erreur)) $erreur='';


Le but de ce code est de faire quoi ?


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 12:13:59    

et comment faire "si la variable erreur n'est pas définie, la mettre à rien" ???

Reply

Marsh Posté le 22-06-2006 à 12:14:27    

!^^

Message cité 1 fois
Message édité par Glock21 le 22-06-2006 à 12:14:53

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 12:15:23    


tu as tout dit la je crois  :D  


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 12:16:47    

:)


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 12:17:33    

ca veut dire koi !^^  ???

Reply

Marsh Posté le 22-06-2006 à 12:19:17    

"^^", souligne une remarque humoristique, ou un sous entendu... :D
 
(ça me rappelle ouverture-facile.com :) )


Message édité par Glock21 le 22-06-2006 à 12:23:51

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 12:26:53    

ouais mais le point d'exclamation ??

Reply

Marsh Posté le 22-06-2006 à 12:28:30    

bon dans la première partie, j'ai mis :  
 

Code :
  1. if (!isset($erreur)) $erreur='';


 
et dans la deuxième :
 

Code :
  1. <? if ($erreur!="" ) { echo "Bienvenue !
  2. Pour commencer à poster <br />
  3. il suffit de t&#039;inscrire en remplissant le formulaire ci-dessous. <br />
  4. Cela ne prend que quelques instants et c&#039;est <b>Gratuit</b>.";}
  5. else { echo $erreur; } ?>


 
sauf que c'est toujours le texte qui reste affiché. pourquoi ?

Reply

Marsh Posté le 22-06-2006 à 12:28:41    

Soit t'as variable erreur n'est jamais initialisée, donc est initialisé à '', soit le ' ' est différent du " ", mais là, chuis pas sur...


Message édité par Glock21 le 22-06-2006 à 12:30:15

---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 12:33:45    

je comprends pas bien le truc d'initialiser. bon voici la première partie de la page en php :
 

Code :
  1. <?php
  2. if (!isset($erreur)) $erreur='';
  3. include("connection.php" );
  4. if (isset($_POST['act']) && $_POST['act'] == 'inscription') {
  5.     if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['confpass']) && !empty($_POST['confpass'])) && (isset($_POST['email']) && !empty($_POST['email']))) {
  6.         if ($_POST['pass'] != $_POST['confpass']) {
  7.             $erreur = 'Les 2 mots de passe sont différents.';
  8.         }
  9.         else {
  10.            
  11.             $sql = 'SELECT count(*) FROM membres WHERE m_login="'.addslashes($_POST['pseudo']).'"';
  12.             $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  13.             $data = mysql_fetch_array($req);
  14.             if ($data[0] == 0) {
  15.                 $sql = 'INSERT INTO membres (m_login, m_pass, m_email) VALUES("'.addslashes($_POST['pseudo']).'", "'.addslashes($_POST['pass']).'", "'.addslashes($_POST['email']).'" )';
  16.                 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
  17.                 session_start();
  18.                 $_SESSION['login'] = $_POST['pseudo'];
  19.                 header('Location: membres.php');
  20.                 exit();
  21.             }
  22.             else {
  23.                 $erreur = 'Un membre possède déjà ce login.';
  24.             }
  25.         }
  26.     }
  27.     else {
  28.         $erreur = 'Au moins un des champs est vide.';
  29.     }
  30. }
  31. ?>


 
et voici la deuxième partie qui est censée afficher la variable erreur :
 

Code :
  1. <? if ($erreur=='') { echo $erreur; } elseif ($erreur!='') { echo "Bienvenue !
  2. Pour commencer à poster <br />
  3. il suffit de t&#039;inscrire en remplissant le formulaire ci-dessous. <br />
  4. Cela ne prend que quelques instants et c&#039;est <b>Gratuit</b>.";} ?>

Reply

Marsh Posté le 22-06-2006 à 12:34:44    

et donc le texte affiché est toujours "Bienvenue ! Pour commencer à poster........" mais jamais la variable $erreur !

Reply

Marsh Posté le 22-06-2006 à 12:36:20    

tony1232 a écrit :

Code :
  1. <? if ($erreur=='') { echo $erreur; }



 
Tu ne veut pas faire l'inverse ?


---------------
Je donne souvent l'air d'être ailleurs, mais en faite, je ne suis nulle part...
Reply

Marsh Posté le 22-06-2006 à 12:37:22    

Je suis pas sur mais je crois que tu fais le contraire de ce que tu veux faire [:petrus75]
 
respire un grand coup et reflechi sur  

Code :
  1. <? if ($erreur=='') { echo $erreur; } elseif ($erreur!='') { echo "Bienvenue !
  2.     Pour commencer à poster <br />
  3.     il suffit de t&#039;inscrire en remplissant le formulaire ci-dessous. <br />
  4.     Cela ne prend que quelques instants et c&#039;est <b>Gratuit</b>.";} ?>


(et dans ton if else if je pense qu'il y a un if en tre, je dis ca mais je dis rien hein)


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 22-06-2006 à 13:19:06    

OK j'ai trouvé ça marche du tonnerre !! LOL
 
Merci @ tous pour votre aide

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed