Comment empecher le changement d'un input

Résolu/Fermé
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 14 févr. 2009 à 21:32
 Utilisateur anonyme - 14 févr. 2009 à 21:55
Bonjour, voila sur mon site, j'ai une page de chat entre connectes mais le souci c'est que le membre peut mettre ce qu'il veut sur le input pseudo, alors qu'il serait preferable que le connecte ne puisse pas changer lui meme ce input pour qu'il y est directement son pseudo dedans, si je mets une value echo pseudo, bah ca mettra son pseudo mais il ne pourra plus poster, je ne comprends pas pourquoi, si une personne peut m'aider, ce serait tres sympa de sa part,merci d'avance, cheese42......
voila le code du chat, il fonctionne tres bien sauf pour le input name pseudo^^

<?php
$msg = array();
function file_save($filename, $content, $flags = 0)
{if (!($file = fopen($filename, 'w')))
return false;
$n = fwrite($file, $content);
fclose($file);
return $n ? $n : false;
}

if (!file_exists("ichat.php")) file_save("ichat.php","<?php\n\$msg = ".var_export($msg,TRUE)."\n?>");

include "ichat.php";

while (count($msg) >= 20) array_shift($msg);

$canpost = empty($_POST['submit']) ? 'refresh' : $_POST['submit'];
$canpost = ($canpost == 'refresh') ? 0 : 1;
if (!empty($_POST['mess']) && !empty($_POST['pseudo']) && $canpost)
{$i = count($msg);
$msg[$i]['pseudo'] = htmlentities($_POST['pseudo']);
$msg[$i]['texte'] = htmlentities($_POST['mess']);
$msg[$i]['date'] = time();
}

$msg2 = array_reverse($msg);
echo '<div class="chat">';
foreach ($msg2 as $message)
{echo '<span class="pseudo">'.$message['pseudo'].'</span> <span class="date">['.date("d/m/y à H:i:s",$message['date']).']</span><br /><span class="msg">'.nl2br($message['texte']).'<br /><hr class="chat">';
}
echo "</div>";

file_save("ichat.php", "<?php\n\$msg = ".var_export($msg,TRUE)."\n?>");
?>
<div class="miniform">
<form method="post">
Pseudo: <br /><input name="pseudo" size="19" value=""><br /><br />
<textarea name="mess" cols="25" rows="5"></textarea><br />
<input name="submit" type="submit" value="POSTER"> <input name="submit" type="submit" value="REFRESH">
</form>
</div>
A voir également:

9 réponses

Utilisateur anonyme
14 févr. 2009 à 21:44
tes membres connectés ont une session ? $_SESSION['pseudo'] ou quelque chose comme ça ?

si c'est le cas, tu fais sa :
Pseudo: <br /><input name="pseudo" size="19" value="<?php echo $_SESSION['pseudo']; ?>" readonly="readonly"><br /><br /> 
5
Utilisateur anonyme
14 févr. 2009 à 21:36
tu utilise l'attribut "readonly" :

Pseudo: <br /><input name="pseudo" size="19" value="" readonly="readonly"><br /><br />
2
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
14 févr. 2009 à 21:38
je teste de suite et je reposte ^^ merci....
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
14 févr. 2009 à 21:40
bon bah , ca ne marche plus -_-, ca me grise la case du pseudo donc je ne mets aucuns pseudo, et apres kd je poste, ca ne poste rien !!!!!!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
14 févr. 2009 à 21:42
si tu veux tester, www.ketokdo.fr, pseudo test, mdp test, et apres page tchat ^^
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
14 févr. 2009 à 21:46
merci, regarde par toi meme pareil case grisée et impossible de poster -_- !!!!!!!! trop bizarre ce tchat, lol !!!
0
Utilisateur anonyme
14 févr. 2009 à 21:48
jai été voir, mais si tu affiche le pseudo dans la case grisée, sa marchera normalement(je dis bien normalement ^^ )
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
14 févr. 2009 à 21:53
oui, voila le code en ce moment mis sur le site:::

<div class="miniform">
<form method="post">
Pseudo: <br /><input name="pseudo" size="19" value="<?php echo $pseudo ?>" readonly="readonly"><br /><br />
<textarea name="mess" cols="25" rows="5"></textarea><br />
<input name="submit" type="submit" value="POSTER"> <input name="submit" type="submit" value="REFRESH">
</form>
</div>
j'ai change le <?php echo $_SESSION['pseudo']; ?> par <?php echo $pseudo ?> et cette fois CA MARCHE !!!
c'etait bel et bien readonly qui manquait^^
merci beaucoup au "phpsien" sonik21 !!!!!!!!!!!!!!!!!!!!^^
0
Utilisateur anonyme
14 févr. 2009 à 21:55
^^ de rien, et bonne continuation pour ton site :p
0