Salut a tous, voila je fais un blog en php je debute et je galère. J'ai un problème de code : si la personne connectée veut voir les message précedents ,qd elle clique sur "voir" ca ouvre la page des anciens post mais cela en créer un nouveau en même temps?!!!?
Savez vous pourquoi? J'aimerai aussi que si la personne n'a ecri ni titre ou ni message il y ai un message d'erreur indiquant kil faut ecrire les 2. Jai essayé de creer une variable mais ca marche pas.
<code>
<?php
//on regarde si le formulaire a été envoyer
if(isset($_POST['send']))
{
//echo "hello";
//verifier que les champs sont saisi
if($_POST['message']!=""||$_POST['message']=='')
{
$chaine ="vous ne pouvez pas envoyer de mouveau message il manque le message";
}
elseif($_POST['titre']!=""||$_POST['titre']=='')
{
$chaine = "vous ne pouvez pas envoyer de nouveau message il manque le titre";
}
else
{
session_start();
$_SESSION['message']=true;
header("Location:monblog.php" );
exit();
}
}
?>
<strong>Vous pouvez créer votre message dès maintenant !!!</strong>
<form name="Formulaire" action="monblog.php" method=POST>
<table cellpadding=5>
<tr><td>Titre de votre message:
<td><input type=text size=30 maxlength=30 name=nom>
<tr><td>Votre message:
<td><textarea rows="3" name=commentaires cols="20">Tapez ici votre message
</textarea>
<tr><td>Votre image:
<td>
<form name="form1" method="post" action="">
<input type="file" name="textfield">
<tr><td><input type=submit name="envoyer" value=envoyer>
<td><input type=reset name="raz" value=annuler>
</table>
</form>
<BR>
<BR>
<form name="Formulaire" action="monblog.php" method=POST>
<strong>Vous pouvez aussi voir les précédents messages</strong>
<tr><td><input type=submit name="envoyer" value=Voir>
</form>
<?php
if(isset($_POST["poster"]))
// si $_POST["poster"] est en place (activé)
{
if($_POST["titre"]=="" ) {
$cb="Veuillez saisir votre titre !"; }
// si l'utilsateur n'a pas saisie son titre, la chaine de caractere $cb
//est envoyé (tout en bas du script)
if($_POST["text"]=="" ) {
$ci="Veuillez saisir votre message !"; }
// si l'utilsateur n'a pas saisie son message, la chaine de caractere $ci
//est envoyé (tout en bas du script)
}
if(isset($cb)) echo "<b><font color=\"#ff0000\">$cb</font></b><br>";
//affiche la chaîne de caractere $cb
if(isset($ci)) echo "<b><font color=\"#ff0000\">$ci</font></b>";
//affiche la chaîne de caractere $ci
?></code>
Voici le code de mon fichier monblog.php:
<code><?php
//on ouvre un fichier sans extension
$fp=fopen("livre.txt","a+" );
//si sa echoue on a un message d'erreur
if(!$fp) {
echo " impossible ";
exit(); }
//on recupere le nom et le commentaire du visiteur
$var1 = $_POST["nom"];
$var2 = $_POST["commentaires"];
//on fout un retour a la ligne
fputs($fp,"\n" );
fwrite($fp,$var1." - ".$var2);
//on ferme le fichier
fclose($fp);
//on reouvre le fichier en mode lecture
$fp=fopen("livre.txt","r" );
if(!$fp) {
echo " impossible ";
exit(); }
//tant quon a pas atteint la fin du fichier
//on recupere une ligne du fichier
//et on laffiche
while(!feof($fp)) {
$ch=fgets($fp,4096);
echo $ch,"<br>","<hr>";
}
fclose($fp);
?></code>
Merci a tous ceux qui voudront bien m'aider