Bonjour, est ce que ce code est juste !!

Eléphanteau du PHP | 40 Messages

02 juin 2012, 01:08

<?php
			$minou = $_SESSION['membre_pseudo'];
if ($minou)
{
    echo "Pseudo :"    $_SESSION['membre_pseudo']   <br />;
}
else
{
    echo "Pseudo";
}
?>

Eléphant du PHP | 343 Messages

02 juin 2012, 01:40

Il faudrait vérifier l'existence (isset) de $_SESSION['membre_pseudo'] avant de l'utiliser.
Et il faudrait plutôt vérifier si la variable n'est pas "vide" (!empty).
Développeur web

Eléphanteau du PHP | 40 Messages

02 juin 2012, 02:20

Vous pouvez me corriger
            <?php
	if ((isset($_SESSION['membre_pseudo'])) && (!empty($_SESSION['membre_pseudo'])))
	{
		// le login a été enregistré dans la session, j'affiche le lien du profil
		//echo '<a href="profil.php" title="Accédez à votre profil">Mon profil</a>';
	echo Pseudo :  $_SESSION['membre_pseudo']   <br />
      //    echo  ' Message :<br /> <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea><br />'
    }
	
	else
	{
		// pas de login en session : proposer la connexion
		echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
	}
?>
            

Eléphant du PHP | 343 Messages

02 juin 2012, 02:33

J'aurais plutôt fait:
<?php
        if (isset($_SESSION['membre_pseudo'])){ $pseudo= $_SESSION['membre_pseudo']; }

if (!empty($pseudo))
   {
                // le login a été enregistré dans la session, j'affiche le lien du profil
                //echo '<a href="profil.php" title="Accédez à votre profil">Mon profil</a>';
        echo "Pseudo :". $pseudo."  <br />";
      //    echo  ' Message :<br /> <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea><br />'
    }
       
        else
        {
                // pas de login en session : proposer la connexion
                echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
        }
?>
Développeur web

Mammouth du PHP | 2278 Messages

02 juin 2012, 09:12

Il peut être intéressant de connaître la loi de de MORGAN:
NON (a ET b) == NON a ET NON b
NON (a ou b) == NON a ET NON b
pour identifier dans quelles conditions on passe dans un else, ou on sort d'un while.
Vous pouvez me corriger
<?php
/* le pseudo existe ET il n'est pas vide */
if ((isset($_SESSION['membre_pseudo'])) && (!empty($_SESSION['membre_pseudo'])))
{
		// le login a été enregistré dans la session, j'affiche le lien du profil
		//echo '<a href="profil.php" title="Accédez à votre profil">Mon profil</a>';
	echo Pseudo :  $_SESSION['membre_pseudo']   <br />
      //    echo  ' Message :<br /> <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea><br />'
    }
	/* le pseudo n'existe pas OU le pseudo est vide*/
	else
	{
		// pas de login en session : proposer la connexion
		echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
	}
?>
 
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 2278 Messages

02 juin 2012, 09:17

J'aurais plutôt fait:
<?php
        if (isset($_SESSION['membre_pseudo'])){ $pseudo= $_SESSION['membre_pseudo']; }

if (!empty($pseudo))
   {
                // le login a été enregistré dans la session, j'affiche le lien du profil
                //echo '<a href="profil.php" title="Accédez à votre profil">Mon profil</a>';
        echo "Pseudo :". $pseudo."  <br />";
      //    echo  ' Message :<br /> <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea><br />'
    }
       
        else
        {
                // pas de login en session : proposer la connexion
                echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
        }
?>
if (isset($_SESSION['membre_pseudo'])) : et si c'est faux, on fait quoi?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

ViPHP
xTG
ViPHP | 7331 Messages

02 juin 2012, 09:37

Le empty() testant aussi le isSet() on peut raccourcir d'une condition dans ce cas là.
Car une variable inexistante ou vide envoie au même traitement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 juin 2012, 12:16

@sirakawa : euh... presque, NON (a ET b) == NON a OU NON b ;)

Je rejoint cependant xTG, empty() test également l’existence de la variable, tu peux donc simplifier ton code pour le rendre plus lisible et donc plus facile à maintenir...
<?php
if (!empty($_SESSION['membre_pseudo'])) // le login a été enregistré dans la session, j'affiche le lien du profil
{
    //echo '<a href="profil.php" title="Accédez à votre profil">Mon profil</a>';
    echo "Pseudo :". $_SESSION['membre_pseudo'] . "  <br />";
}
else // pas de login en session : proposer la connexion
{
    echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
}
?>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 40 Messages

02 juin 2012, 19:27

@sirakawa : euh... presque, NON (a ET b) == NON a OU NON b ;)

Je rejoint cependant xTG, empty() test également l’existence de la variable, tu peux donc simplifier ton code pour le rendre plus lisible et donc plus facile à maintenir...
<?php
if (!empty($_SESSION['membre_pseudo'])) // le login a été enregistré dans la session, j'affiche le lien du profil
{
    //echo '<a href="profil.php" title="Accédez à votre profil">Mon profil</a>';
    echo "Pseudo :". $_SESSION['membre_pseudo'] . "  <br />";
}
else // pas de login en session : proposer la connexion
{
    echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
}
?>
Si je veux ajouter ce code après echo "Pseudo :". $_SESSION['membre_pseudo'] . " <br />";
Message :<br />
            <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea><br />
            <input type="submit" value="Envoyer" />
...........
echo "Pseudo :". $_SESSION['membre_pseudo'] . "  <br />";
................

ViPHP
AB
ViPHP | 5818 Messages

02 juin 2012, 20:32

Si besoin tu as un tuto (avec code fonctionnel) sur l'inscription et la connexion dans un espace membre ici

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

02 juin 2012, 20:34

Ben si tu veux l'afficher uniquement lorsqu'il y a un pseudo en session, tu le mets dans le if. Si tu veux l'afficher que s'il n'y a pas de pseudo en session, tu le mets dans le else. Et si tu veux l'afficher dans tous les cas, tu le mets après le bloc if/else.

Et si ta question est liée au fait que ce soit du code html et pas php, tu peux soit fermer la balise php, mettre ton code et ouvrir à nouveau la balise php, ou alors le "convertir" en php pour l'intégrer directement
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 40 Messages

03 juin 2012, 03:17

Ben si tu veux l'afficher uniquement lorsqu'il y a un pseudo en session, tu le mets dans le if. Si tu veux l'afficher que s'il n'y a pas de pseudo en session, tu le mets dans le else. Et si tu veux l'afficher dans tous les cas, tu le mets après le bloc if/else.

Et si ta question est liée au fait que ce soit du code html et pas php, tu peux soit fermer la balise php, mettre ton code et ouvrir à nouveau la balise php, ou alors le "convertir" en php pour l'intégrer directement

Ben si tu veux l'afficher uniquement lorsqu'il y a un pseudo en session ( oui je veux faire cette option )
<?php

if (!empty($_SESSION['membre_pseudo'])) // le login a été enregistré dans la session, j'affiche le lien du profil
{
   
    echo "Pseudo :". $_SESSION['membre_pseudo'] . "  <br />";
    echo "Message : <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea>  "" <br />";
}
else // pas de login en session : proposer la connexion
{
    echo '<a href="../membres/connexion.php" title="Accès à la page de connexion">Connexion</a>';
}
?>
vous pouvez me corrigé

ViPHP
xTG
ViPHP | 7331 Messages

03 juin 2012, 10:22

Sur ta ligne du textarea... Tu utilises n'importe comment les quotes, il n'y a qu'à voir la coloration syntaxique.
Lis les exemples de la fonction pour voir ce qu'il est possible de faire et surtout comprendre ton erreur :
http://fr.php.net/echo

Eléphanteau du PHP | 40 Messages

05 juin 2012, 22:24

bonjour
en fait j'ai lu mais j'ai pas trouvé comment utiliser et trouver une solution
en fait je veux afficher ( textarea ( zone de texte ) & un bouton de valider juste uniquement lorsqu'il y a un pseudo en session

ViPHP
xTG
ViPHP | 7331 Messages

06 juin 2012, 07:17

Tu as du lire bien vite.
Exemple tiré de la doc, je l'arrête à l'endroit qui concerne justement ton erreur :
<?php
echo "Bonjour le monde";

echo "Cet echo() se
répartit sur plusieurs lignes. Il affiche aussi les
nouvelles lignes";

echo "Cet echo() se\nrépartit sur plusieurs lignes. Il affiche aussi les\nnouvelles lignes";

echo "L'échappement de caractères se fait : \"comme ceci\"."; // tout à fait ta situation