begin process at 2012 02 13 06:46:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Commentaires comme sur un blog


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Commentaires comme sur un blog

jeudi 29 juin 2006 à 19:26:23 | Commentaires comme sur un blog

knorc

Bonjour !
Je viens d'essayer de coder un petit script qui me permettrait de lire et poster les commentaires des visiteurs de mon site, un peu comme sur skyblog...
Voila le code :

post_comment.php
<html>
<head> 
   <title>Poster un commentaire</title>
<?
function RecordMessage($MessagesFile)
{
$nom=$_POST['nom'];
$commentaire=$_POST['commentaire'];
 
if (!file_exists($MessagesFile))
{
$pntFile1=fopen($MessagesFile,"w+");
$ret=fputs($pntFile1,"<HR>\r");
$ret=fclose($pntFile1);
}
 
$idlck=fopen($MessagesFile.".bak","w");
fclose($idlck);
 
$ret=copy($MessagesFile,$MessagesFile.".bak");
$pntFile1=fopen($MessagesFile,"w");
$pntFile2=fopen($MessagesFile.".bak","r");
// write the message
 
$commentaire= ereg_replace(chr(13),"<BR>",$commentaire); // replace chr(13) by <BR>
$commentaire= str_replace("\'","'",$commentaire);
 $commentaire= str_replace('\"','"',$commentaire);
 
if($commentaire&&$nom)
{
$ret=fputs($pntFile1,"<B>posté par $nom</B>\r");
$ret=fputs($pntFile1,date("d/m/Y H:i"));
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1," <CENTER>\r");
$ret=fputs($pntFile1," <I>$commentaire</I>\r");
$ret=fputs($pntFile1," </CENTER>\r");
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1,"<HR>\r");
}
$contents = fread( $pntFile2, filesize( "$MessagesFile.bak" ) );
$ret =fputs($pntFile1,$contents);
$ret=fclose($pntFile2);
$ret=fclose($pntFile1);
$ret=unlink($MessagesFile.".bak");
}
?>

<?
$MessagesFile=('messages'.$id.'.txt');
$ecriture=RecordMessage($MessagesFile);
?>
 
<style>
a{
text-decoration:none;
}
</style>
 
<SCRIPT LANGUAGE="JavaScript">
function verifform(formulaire)
{
if(formulaire.commentaire.value == "" || formulaire.nom.value == "")
{
alert('Veuillez remplir tous les champs');
}
else
{
formulaire.submit();
}
}
</SCRIPT>
</head>


<body link="#000099" vlink="#000099" alink="#000099">

<center>
<form method="post" action="valide_comment.php">
<b>Pseudo:</b><br>
<?
if($pseudo=="")
{
echo "<input type=\"text\" name=\"nom\" size=\"20\" maxlength=\"40\">";
}
else
{
echo "<input type=\"text\" name=\"nom\" value=$pseudo size=\"20\" maxlength=\"40\" readonly=\"readonly\">";
}
?>
<br><br>
<b>Commentaire :</b><br>
<textarea name="commentaire" cols="40" rows="5"></textarea>
<br><br>
<input type="button" value="envoyer" onClick="verifform(this.form)"> 
 </form>
</center>
</body>
</html>



read_comment.php
<html>
<head>
<title>Commentaires</title>

<?
function lit_actu($fichier)
{
$lecture=fopen($fichier, "r");
$chaine=fread($lecture,filesize($fichier));//lit le contenu du fichier
fclose($lecture);
return $chaine;
}
?>
</head>

<body link="#000099" vlink="#000099" alink="#000099">

<center>
<?
$actu=lit_actu('messages'.$id.'.txt');
?>
<b>
<?

if($actu == "" || $actu == " " || $actu == "<HR>
")
{
echo "Aucun commentaire posté !";
}
else
{
echo "$actu";
}
?>
</b>
</center>
</body>
</html>



valide_comment.php
<html>
<head> 
   <title>Poster un commentaire</title>

<style>
a{
text-decoration:none;
}
</style>
</head>

<body link="#000099" vlink="#000099" alink="#000099">

<center>
<br><br><br><b>Votre commentaire a été ajouté !</b><br><br><br><br><br>
<form>
<input type="button" value="Fermer la fenêtre"
onClick="self.close()"> </form>
</center>
</body>
</html>


J'affiche donc ensuite deux liens de ce type : post_comment.php?id=1 et read_comment.php?id=1
Voila, comme je suis assez mauvais en php, j'aimerais que vous m'expliquiez mes erreurs et pourquoi ca ne fonctionne pas, les eventuelles failles...
Voila ce que ca affiche

Warning: fread() [function.fread]: Length parameter must be greater than 0. in /mnt/112/sdc/7/9/knorc/read_comment.php on line 10 

Warning: fread() [function.fread]: Length parameter must be greater than 0. in /mnt/112/sdc/7/9/knorc/post_comment.php on line 43

et d'autres trucs bizarres du genre...

Vous pouvez voir le script en fonctionnement sur mon site
Merci d'avance pour votre aide !!

vendredi 30 juin 2006 à 11:21:16 | Re : Commentaires comme sur un blog

cedriclomb

Est tu sur que ton fichier .bak n'est pas vide au moment de la lecture ?

Autre question Pourquoi n'a tu pas fait de sql ?
vendredi 30 juin 2006 à 15:12:09 | Re : Commentaires comme sur un blog

knorc

Je n'ai pas utilisé de sql parce que je pensais que c'était plus simple comme ca lol
Et vu que je débute je me suis inspiré de codes trouvés (enfin, tu sais comment on fais, quand on débute dans un langage...) et d'ailleurs je ne comprend pas la necessité de ces fichiers .bak, qui sont d'ailleurs bel et biens vide puisque je ne vois pas ce que je peux mettre dedans...
Desolé pour mon "nioubisme"
 

 

vendredi 30 juin 2006 à 15:22:01 | Re : Commentaires comme sur un blog

cedriclomb

Bon alors de mettre le tous dans des fichiers persos je trouve que c'est beaucoup plus galere que 3 requettes sql

Le delete pour l'admin (optionnel)

Et sinon select et insert pour les utilisateurs afin de lire et d'écrire

Les fichiers bak sont vides dedans tu pourrait mettre tes messages par exemple le probleme c'est que la fonction fread cherche sur la longueur du fichier bak

Si tu veus je peux te filer un coup de main pour faire des requettes sql vites fait bien fait tu vas voir c'est pas sorcier est beaucoup moins galere surtout que a l'avenir tu pourra orienter ton site vers une administration entierement sql ce qui te permettra de te faire une admin avec un zoli éditeur de texte ...



vendredi 30 juin 2006 à 17:22:43 | Re : Commentaires comme sur un blog

knorc

J'ai modifié ma fonction en virant tout ce qui concerne les .bak::
<?
function RecordMessage($MessagesFile)
{
$nom=$_POST['nom'];
$commentaire=$_POST['commentaire'];
 
if (!file_exists($MessagesFile))
{
$pntFile1=fopen($MessagesFile,"a");
$ret=fputs($pntFile1,"<HR>\r");
$ret=fclose($pntFile1);
}
 
 
  
$pntFile1=fopen($MessagesFile,"a");

// write the message
 
$commentaire= ereg_replace(chr(13),"<BR>",$commentaire); // replace chr(13) by <BR>
$commentaire= str_replace("\'","'",$commentaire);
 $commentaire= str_replace('\"','"',$commentaire);
 
if($commentaire&&$nom)
{
$ret=fputs($pntFile1,"<B>posté par $nom</B>\r");
$ret=fputs($pntFile1,date("d/m/Y H:i"));
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1," <CENTER>\r");
$ret=fputs($pntFile1," <I>$commentaire</I>\r");
$ret=fputs($pntFile1," </CENTER>\r");
$ret=fputs($pntFile1,"<BR>\r");
$ret=fputs($pntFile1,"<HR>\r");
}

 
$ret=fclose($pntFile1);

}
?>


J'ai aussi écrit quelque chose dans mes fichiers .txt
Du coup je n'ai plus de message d'erreur, mais le problème est que je n'arrive pas à écrire dans mes fichiers .txt
Cela vient peut-etre du fait que j'ai laissé les chmods en 644 ?
Si il n'y a pas d'autre solution, je veux bien que tu m'aide à faire des requetes cedriclomb s'il te plait.
Le seul truc c'est que mon site est un cms donc pour le panneau d'admin j'en voulais pas un de plus lol
Merci de ton aide !

 

vendredi 30 juin 2006 à 19:56:58 | Re : Commentaires comme sur un blog

cedriclomb

C'est quoi comme CMS car la solution intelligente si ta un cms c'est de dévelloper un composant qui s'integre dans ton admin ou bien d'installer un qui existe ;)
vendredi 30 juin 2006 à 20:55:05 | Re : Commentaires comme sur un blog

knorc

Le CMS est Pwsphp mais le site n'existe plus car le successeur de Pwsphp s'appelle Kwsphp.
Enfin j'aimerais bien comprendre pourquoi je n'arrive pas à enregistrer dans mes .txt ......
samedi 1 juillet 2006 à 09:54:04 | Re : Commentaires comme sur un blog

knorc

Réponse acceptée !

J'ai résolu le problème en mettant action="<?$PHP_SELF;?>" dans mon formulaire et ca semble marcher !



Cette discussion est classée dans : commentaire, ret, fputs, pntfile1, messagesfile


Répondre à ce message

Sujets en rapport avec ce message

Créer un repertoire et modifier un script [ par ElGaunt ] Bonjour à tous, Voila ci dessous un script dédié à autorier un visiteur à poster un commentaire. J'aimerais le modifier afin de pouvoir le mettre en p Sécurité pour un script de commentaires !!! et droits d'auteur?? [ par perig ] BonjourJe suis désolé, je n'ai pas fini de vous embêter avec mes questions !!!! Voilà la question du jour :J'ai crée un script qui pe mail en smtp [ par gemelos ] voici mon code:fputs ($connection , "MAIL FROM: \n");$result =fgets ($connection ,256 );print("$result");fputs ($connection , "RCPT TO: \n");$result 'fputs()' [ par Miloflyer ] Bonsoir tout le monde.Je débute en php et essaye de bidouiller quelques scripts...Mais quelque chose me pose problème dans la réalisation de mon "proj Protection d'html URGENT! [ par Yoteco ] Voilà,J'ai un ti problème... J'ai fais une fenetre dans laquelle n'importe qui peut poster un commentaire sur le site. Le tt est stocker dans une base Poster un commentaire sur Localhost [ par AleXsItsMe ] Bonjour, Alors voilà, je me sert de la source Comment'R pour posté des commentaires sur des pages et autres, mais je n'arrive pas à le faire fonctionn Récuperer un parametre [ par TqX ] bonjour toi le gens qui va prendre soin de lire ma question !!voila jai fai une gallerie de foto sur une page , la page est construite comme tel : dan Procédure stockée Oracle et visual basic [ par Egalon ] Bonjour à tous,comme mon profil l'indique, je me débrouille en VB mais pas beaucoup en Oracle. Et donc ca me pose des problèmes que voici (du moins u transmission de variable passe pas :( [ par mgnet ] Bonjour à tousvoilà j'ai améliorer un script pour que ce soit que les membres du forum de mon site qui ne puisse posté des commentaires sur les astuc [venez tous]module de commentaire [ par sonianounette ] Coucou a tous et a toute!J'ai un problème:je cherche un module de commentaire pour mon site mais je n'en trouve pas...Si quelqu'un en connait qu'il le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,841 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales