je cherche votre aide pour affichage de pseudo

Eléphanteau du PHP | 40 Messages

28 mai 2012, 20:22

 pseudo :       <input name="pseudon" /><br />            
    		            Message :<br />
            <textarea name="message" rows="6" cols="50%" tabindex="2"></textarea><br />
            <input type="submit" value="Envoyer" />
             
voila mon code
en fait je veux que le pseudo sera le même nom que l'identifiant
j'ai fais ce code est sa marche très bien :
pseudo :  <?php echo $membre_pseudo ?> <br />
ce code m'affiche le nom de l'identifiant qui est en ligne et qui veux faire un commentaire
mais je veux utiliser ( if ) pour les deux cas =
1/ qui sont en ligne = s'affiche leurs nom
2/ qui ne sont pas en ligne s'affiche une zone de texte ( pseudo : <input name="pseudon" /> )

ViPHP
xTG
ViPHP | 7331 Messages

28 mai 2012, 20:31

Je n'ai pas vraiment compris ton problème.
C'est le if que tu ne sais pas utiliser ?

Eléphanteau du PHP | 32 Messages

28 mai 2012, 20:31

Salut,

Pourquoi n'utilise tu pas les $_SESSION dans ce cas ?
If ($_SESSION[machin_truc]) {
        echo  $_SESSION[machin_truc];
}
else {
        echo 'pseudo : <input name="pseudon" />';
        ....
}

Eléphanteau du PHP | 40 Messages

28 mai 2012, 20:36

Je n'ai pas vraiment compris ton problème.
C'est le if que tu ne sais pas utiliser ?
oui c'est sa je ne sais pas comment utiliser le if

par exemple si je suis connecté, au niveau de pseudo il sera afficher mon nom et si je ne suis pas connecte au niveau de pseudo il sera affiché une zone de texte pour mettre un nom quelconque

Eléphanteau du PHP | 40 Messages

28 mai 2012, 20:37

Salut,

Pourquoi n'utilise tu pas les $_SESSION dans ce cas ?
If ($_SESSION[machin_truc]) {
        echo  $_SESSION[machin_truc];
}
else {
        echo 'pseudo : <input name="pseudon" />';
        ....
}
j'ai pas bien compris

Eléphanteau du PHP | 32 Messages

28 mai 2012, 20:46

Salut,

Pourquoi n'utilise tu pas les $_SESSION dans ce cas ?
If ($_SESSION[machin_truc]) {
        echo  $_SESSION[machin_truc];
}
else {
        echo 'pseudo : <input name="pseudon" />';
        ....
}
j'ai pas bien compris
Et bien à chaque fois que qq'un se connecte sur ton site, tu lui ouvre une session avec :
session_start (); 
Si cette personne est déjà connecté sur le site tu lui affiche son pseudo, sinon tu lui affiche un champ pour qu'il se connecte.
<?
if(empty($_SESSION['login'])) {
	?>
	<form action="login.php" method="post">							
	Pseudo : <input type="text" name="login" value="" style="width: 75px"/>
	Password : <input type="password" value="azerty" name="password" style="width: 75px"/>
	<input type="submit" value="Envoyer" name="submit"/><a href="inscription.php">Ou inscrivez vous</a>
	</form>
<?
}
else { 							
	echo 'Bonjour '.($_SESSION['login']); ?>
        <a href = "logout.php">se déconnecter</a><?		
}

Eléphanteau du PHP | 33 Messages

28 mai 2012, 20:50

Le fait d'utiliser les sessions permet de « se souvenir » d'un utilisateur en stockant des données sur cette utilisateur, identifié par un cookie (PHPSESSID).

Un assez bon tutoriel à propos des sessions:
Les Sessions PHP.

Eléphanteau du PHP | 40 Messages

30 mai 2012, 22:01

bonjour,
oui je comprends le code mais en fait moi je veux donné la possibilité des gens qui ne sont pas connecté de mettre sont pseudo et son commentaire et pour les gens qui sont connecté de mettre juste le commentaire car le pseudo sera automatiquement sotocké

voila le code de stockage :
<?php
 
// --------------- Étape 1 -----------------
// Si un message est envoyé, on l'enregistre
// -----------------------------------------
 
if (isset($_POST['pseudon']) AND isset($_POST['message']))
{
     $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudon'])); // On utilise mysql_real_escape_string et htmlspecialchars par mesure de sécurité
    $message = mysql_real_escape_string(htmlspecialchars($_POST['message'])); // De même pour le message
    $message = nl2br($message); // Pour le message, comme on utilise un textarea, il faut remplacer les Entrées par des <br />
 
    // On peut enfin enregistrer :o)
    mysql_query("INSERT INTO livreor VALUES('', '" . $pseudo . "', '" . $message . "', '".$fiche."', '".$id."', NOW())");
}
 
// --------------- Étape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 10; // Essayez de changer ce nombre pour voir :o)
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM livreor WHERE fiche_id = '.$fiche.' AND source_fiche_id = '.$id.'');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages

if($donnees['nb_messages']!=0){
echo 'Commentaires sur la fiche ' . $title1 . ' :<br/>';
echo 'Page : ';

for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="viewuser.php?page=' . $i . '&f='.$fiche.'&d='.$id.'">' . $i . '</a> ';
}
}
else{
}
?>
içi c'est pour les gents qui ne sont pas connecté
moi je veux savoir comment faire pour stocké le pseudo des gents connecté
merci

ViPHP
xTG
ViPHP | 7331 Messages

30 mai 2012, 22:27

Si tu utilises les sessions (désolé j'ai lu en diagonale donc je ne sais pas ce que tu as finis par choisir), tu peux juste modifier les conditions ainsi :
if ( (isset($_POST['pseudon']) || !empty($_SESSION['pseudon']) AND isset($_POST['message'])) // (un pseudo en provenance du formulaire OU en session) ET un message en provenance du formulaire
  $pseudo = (!empty($_SESSION['pseudon'])) ? mysql_real_escape_string($_SESSION['pseudon']) : mysql_real_escape_string(htmlspecialchars($_POST['pseudon'])); // si le pseudo est en session on l'affecte, sinon on prend celui du formulaire

Eléphanteau du PHP | 40 Messages

31 mai 2012, 02:15

bonsoir,
j'ai essayé le code mais sa marche pas
(si le pseudo est en session on l'affecte, sinon on prend celui du formulaire ) en fait pour affecter moi j'utilise
<?php echo $membre_pseudo ?>

Eléphanteau du PHP | 40 Messages

31 mai 2012, 04:12

en fait pour
if ( (isset($_POST['pseudon']) || !empty($_SESSION['pseudon']) AND isset($_POST['message']))

est ce que j'utilise pseudon pour le formulaire et la session ?
moi quand je fais
echo $_SESSION['membre_pseudo'] ;
il m'affiche le pseudo de connecté

ViPHP
xTG
ViPHP | 7331 Messages

31 mai 2012, 09:04

Mon exemple était un... exemple !
Il semble clair que tu n'utilises pas la même variable de session, donc à toi de corriger cela !

Eléphanteau du PHP | 40 Messages

31 mai 2012, 17:06

bonjour,
en fait le code ça ne marche pas avec moi !!
je peux savoir l'utilité de ( ? ) dans le code !!
j'aimerai bien si vous me proposé d'autre solution

kny
Eléphanteau du PHP | 47 Messages

31 mai 2012, 17:16

Il s'agit d'expression ternaire:

( conditions ) ? code si TRUE : code si FALSE ;

Eléphanteau du PHP | 40 Messages

31 mai 2012, 17:21

Il s'agit d'expression ternaire:

( conditions ) ? code si TRUE : code si FALSE ;
Merci c très gentille
en fait ça ne marche pas avec moi j'en sais pas pourquoi :(