Php lien vers insertion de commentaire sur articles

jeffreynaz Messages postés 32 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 26 octobre 2011 - 4 avril 2011 à 14:14
jeffreynaz Messages postés 32 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 26 octobre 2011 - 13 avril 2011 à 14:26
bonjour voilà mon problème sur mon site une fois connecté on peut publier des articles qui ont donc un titre et un contenu,

seulement voila j'ai une page lire article.php

dans laquelle sont afficher tous les articles qui ont été publié
sur cette page je fais un test pour voir si mes variables session de login et passe existent au quel cas en dessous de chaque article apparaît un bouton "commenter" j'aimerais que lorsqu'on clique sur ce bouton cela nous renvoi sur une page publier_commentaire.php" dans laquelle on tombe sur un formulaire permettant d’insérer dans la base un com sur cet article précisément.

je trouve une solution d'ici la que je vais poster.

merci
cdt

4 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 avril 2011 à 15:22
bonjour

pas besoin de quitter ta page tu peux utiliser css pour cacher le form
de commentaire dans un div puis l'afficher au click sur un bouton par
css et javascript

tu controles par un input hidden dans le dit form si le membre existe


<form method="post" action="">
titre

<textarea name="contenu" rows="5" cols="51"></textarea>
">>



">

</form>
puis tu controles

if(iseet($_POST['submit']) && $_SESSION['auth']===true){
/*ajouter*/
}else{

}

en gros

a++
0
jeffreynaz Messages postés 32 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 26 octobre 2011
4 avril 2011 à 19:15
merci beaucoup ta solution m'a aidé mais en fait je souhaiterais

faire une page lire_article.php

c'est ma page dans laquelle sont affiché tous les articles de mon site


Liste des articles :

<?php
$retour2 = mysql_query ('SELECT * FROM articles ORDER BY id DESC LIMIT 0,100');
//-------------------debut while------------------------------------------------
while ($donnees2 = mysql_fetch_array($retour2))
{
?>
<?php
//------------------------affichage des blocs articles------------------------
echo "
"; 

echo "<form action="" method="post">";
echo"<titre>"; ?>
par : <?php echo $donnees2['auteur'];?>


<!--------------------affichage des titres et contenu--------------------------->
<?php echo $donnees2['titre'];?>


<?php echo "</titre>";/*fin de balise titre*/?>
<?php echo $donnees2['contenu'];?>


<!--------------------fin affichage des titres et contenu--------------------------->


tu vois en fait cela répète le div liste_article
de la même manière j'afficherais en dessous de chaque article ses commentaires, de plus je gère aussi des commentaire en réponse a d'autres commentaires.
la n'est pas le problème mais avec ta solution que j'ai testé je trouve que cela fait trop pour cette page que me conseillerais tu


autrement j'ai pensé à une solution qui serai la suivante mais il me faudrait du javascript langage avec lequel je ne suis pas bien a l'aise:

dans les div de chaque article en dessous je fais un bouton qui affiche les commentaires déjà publiés sur cet article,
et avec un test si ma variable session loign existe donc si le user est connecter j'affiche un autre bouton pour faire apparaître le formulaire de publication d'un commentaire.
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
4 avril 2011 à 20:20
bonsoir

un lien, le code n'est pas mechant pour cacher le div
http://www.journaldunet.com/developpeur/tutoriel/css/040610-css-div-montrer-cacher.shtml


@dans les div de chaque article en dessous je fais un bouton qui affiche les commentaires déjà publiés sur cet article,
et avec un test si ma variable session loign existe donc si le user est connecter j'affiche un autre bouton pour faire apparaître le formulaire de publication d'un commentaire.

c'est ce qu'il faut faire

a++
0
jeffreynaz Messages postés 32 Date d'inscription lundi 24 janvier 2011 Statut Membre Dernière intervention 26 octobre 2011
13 avril 2011 à 14:26
J'ai toujours un souci mec.

j'ai mis en place le code du site que tu m'as passé mais je crois que le javascript déconne.

dans ma page article.php il y à cela :



Liste des articles :




















[javascript:afficheId('contenu') Nous contacter]


---------------------






[javascript:cacheId('contenu'); Fermer]


Test pour les commentaires










et dans ma page fonction.php que j'inclue dans la page article il y a cela :

function afficheId(baliseId)
{
if (document.getElementById && document.getElementById(baliseId) != null)
{
document.getElementById(baliseId).style.visibility='visible';
document.getElementById(baliseId).style.display='block';
}
}

function cacheId(baliseId)
{
if (document.getElementById && document.getElementById(baliseId) != null)
{
document.getElementById(baliseId).style.visibility='hidden';
document.getElementById(baliseId).style.display='none';
}
}

cacheId('contenu');
// si JavaScript est disponible, cache le contenu dès le
// chargement de la page. Sans JavaScript, le contenu sera
// affiché.


donc lorsque que j'affiche ma page article le java ne répond pas bien puisque les div ne sont pas cachés dès le début donc javascript n'est pas disponible.

et quand je clique sur fermer pour cacher le div cela cache tout mon

je ne suis pas très bon en javascript comme tu peux le constater penses - tu trouver ce qui ne vas pas?

ah et dans ma page style.css j'ai mis cela :
/*HIDE COMMMENTAIRE LIRE
***********************************************************************************/
.clicTitre
{
border-color: #000000;
border-top: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
border-bottom: 2px dashed;
background-color: #eeeeee;
width : 452px ;
height : auto;
}

.clicCacher
{
top: -20px;
position: relative;
width : 452px ;
height : auto;
/*text-align:right;*/
}

.contenant
{
display : block;
border: 1px solid #000000;
width : 452px ;
height : auto;
}

cordialement
merci d'avance.
0
Rejoignez-nous