Une page commentaires sur mon site ???

cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   -
salut

voila je viens de créer mon site avec le logiciel izispot et il est déjà en ligne sauf que je voudrais mettre une page news avec commentaire toute simple genre mettre une news et laissé les visiteurs posté leurs commentaires sans mm avoir besoin de login ,public voila.

pour vous dire je suis nul en matière de programmation j ai fais le tour de plusieurs tutos mais en vaine j ai commencé a apprendre un peu le xhtml sur le siteduzero mais c est pas pour demain que je pourrais programmé ma page surtout que le cours du php est encore loin pour moi :)

alors je sollicite votre aide pour avoir un script fait avec des tables puisque je m'y connais en rien dans tout ca ;) pour ma page et je vous en serais reconnaissant je vous informe que mon hébergeur me propose une base Mysql et un adminPHP et pour ceux qui veulent faire un tour sur mon site pour voir voila l adresse www.wydadelouma.info.cm

en l'attente de vos reponses et merci d'avance.
A voir également:

10 réponses

jeremieca Messages postés 178 Date d'inscription   Statut Membre Dernière intervention   28
 
Salut,

Izipot est totalement nul, essai plutôt avec https://www.webacappella.com/ tu auras plus de possibilités, dont un système de commentaires !

A plus.
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
deja essayé webacappella mais j ai trouvé des problemes avec , genre les photos defilaient tt le temps avec le texte .... avec izispot j ai pas eu trop de problemes et la mon site il est deja la de toute facon que ca soit avec izispot ou autres :) mon probleme reste tj ma page de commentaires que je veux rajouté :))
www.wydadelouma.info.cm
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
merci qd mm jeremieca :)
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
salut je vais essayer mais c'est pas gagner.
1. creation de la table sql:
Cree une base avec le nom "MonCom" dans laquelle tu execute cette requette :
CREATE TABLE TaTable (
  pseudo varchar(50) default NULL,
  txt text,
  clef int(11) NOT NULL auto_increment,
  PRIMARY KEY  ('clef')
);


2. la saisie de commentaire:
place ce code dans la page ou tu veux ta boite de saisie de commentaire.
<?php function com($nomTableSql,$pageDeRetour) {?>
<form  action="traiteCom.php" method="post">
    <span class="Form">votre pseudo:</span><br/>
    <input type="text" name="pseudo" value="" size="30"/><br/>
    <span class="Form">votre texte:</span><br/>
    <textarea name="txt" value=""></textarea><br/>
    <input type="hidden" name="cible" value="<?php echo $nomTableSql ?>" size="30"/>
    <input type="hidden" name="page" value="<?php echo $pageDeRetour ?>" size="30"/>
    <input class="but" type="submit" name="submit" value="envoyer"/>
</form>
    <?php } ?>

puis a l'endroit de ta page ou tu veux cette boite, place ce code:
<?php
    com('TaTable','PageDeRetour');
?>


Donc les parametres de la fonction com sont dans l'ordre le nom de ta table sql sur laquelle
tu vas inserer les données, en deuxieme c'est la page sur laquelle la personne seras rediriger apres avoir posté.

3. la page traiteCom.php!!

Puis il faut creer une page php (toutes tes pages devront avoir l'extension .php) qui doit porter le nom "traiteCom.php"
pour inserer les données cette page doit ce trouver a coté de celle ou tu travail.
Le contenu de cette page:

<?php
if(isset($_POST['page'])) {
    $page=$_POST['page'];
}else {
    $page='index.php';
}
header('location:'.$page);
if(isset($_POST['cible'])) {
    $cible=$_POST['cible'];
}else {
    $cible=-1;
}
if(isset($_POST['pseudo'])) {
    $pseudo=$_POST['pseudo'];
}else {
    $pseudo='user';
}

if(isset($_POST['txt'])) {
    $txt=$_POST['txt'];
}else {
    $txt=-1;
}
if($txt!="") {
    connect("insert into $cible values('$pseudo','$txt','')");
}
function connect($sql) {
    $link=mysql_connect('localhost','root','');
    mysql_select_db('MonCom',$link);
    echo mysql_error($link);
    $req=mysql_query($sql) or die ('erreur requette!!<br/>'.$sql.'<br>'.mysql_error());
    mysql_close();
    return $req;
}
?>

a la fin de cette page il y a la fonction "connect" dans laquelle tu renseigne le nom de ta base MonCom mais aussi tes identifiant:
"mysql_connect('localhost','NomUtilisateur','motDePasse')"
Normalement apres tous ça le massage doit s'enregistrer dans ta base.
4.l'affichage
place cette fonction dans la page ou tu veux afficher tes commentaires:
<?php
function affiche($com) {
    $req=connect("select * from $com order by clef desc");
    while($valeur=mysql_fetch_assoc($req)) {
        $p=$valeur['pseudo'];
        $t=$valeur['txt'];
        $p=str_replace("<", "/", $p);
        $t=str_replace("<", "/", $t);
        $p=nl2br($p);
        $t=nl2br($t);
        ?>
	<div class="com">
		<div class="pseudo">
			<?php
				echo $p;
			?>
		</div>
		<div class="mess">
			<?php
				echo $t;
			?>
		</div>
	</div>
	<?php } ?>
<?php } ?>
<?php
function connect($sql) {
    $link=mysql_connect('localhost','root','');
    mysql_select_db('MonCom',$link);
    echo mysql_error($link);
    $req=mysql_query($sql) or die ('erreur requette!!<br/>'.$sql.'<br>'.mysql_error());
    mysql_close();
    return $req;
}
?>

a la fin de cette page il y a la fonction "connect" dans laquelle tu renseigne le nom de ta base MonCom mais aussi tes identifiant:
"mysql_connect('localhost','NomUtilisateur','motDePasse')"
puis a l'endroit ou tu veux placer l'affichage des commentaires place ça:
Par contre avec ce code impossible de faire du html dans tes commentaires.
<?php
    affiche('TaTable');
?>
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
resultat ici: http://dariumis.webhop.biz/test/x.php
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
qd je veux crée la table il m envois ce message d erreur :(

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''clef'))' at line 5

peux tu m indiqué que dois je faire car la je suis étourdi merci pour ta precieuse aide et le temps que tu me consacre. j ai pu voir la page c est largement au dessus de mes besoins merci bcp

http://wydadelouma.info.cm 

cosanostra_25@hotmail.com
0

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

Posez votre question
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
Non je ne pense pas que tu sois étourdi, c'est juste que l'on a deux version differente de MySql, on va y arriver même si on doit faire étape par etape!!!

essaye avec cette requette:

CREATE TABLE TaTable (
  pseudo varchar(50) default NULL,
  txt text,
  clef integer auto_increment primary key not null
);
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
ouiii la sa marche j ai pas eu de message d'erreur et je vois tatable sur mon phpadmin mais reste toujours a savoir comment creer sur izispot des pages moncom.php car je sais pas comment faire surtout que mon site est deja fait
www.wydadelouma.info.cm
et que je pourais pas en creer d'autres comme je suis nul et je pourrais pas maitrisé css en tout cas pas tout de suite ;) ou bien je dois maitre tout les codes dans une meme pages ??

merci bcp
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
j ai essayé de mettre tous les codes dans une seule page sur izispot mais rien j ai ca qui reste affiché sur la page et c est tout en noir dans le <body> de la page ?

'.$sql.'
'.mysql_error()); mysql_close(); return $req; } ?>
'.$sql.'
'.mysql_error()); mysql_close(); return $req; } ?>
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
bon j'ai telecharger izipost, apparement c'est possible de faire du php, je dois aller faire des courses, quant je reviens je regarde ça de plus pres^^.
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
merci c'est sympa de ta part vraiment gentil :)
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
tu n'as pas d'autres moyen qu'izipost pour transferer les fichier sur ton serveur? Style la méthode classique d'upload de fichier, comme ça on s'embetera moins, et apres on feras un lien de ta page izipost vers la page des commentaires.
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
je comprend pas trop comment la mise en ligne ce passe!!

mais essaye de creer une nouvelle page donne lui le nom que tu veux, mais met y l'extension .php, par exemple comme tu as dis monCom.php et dans cette page met y ce code:

<?php echo 'tu me vois??? ';?>


puis envoie le sur ton server et dis moi si tu vois ça:
<?php echo 'tu me vois??? ';?>

ou si tu vois ça:

tu me vois???

car il faut qu'il soit sur ton server, dans previsualisation j'ai pas l'impression que ça marche.
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
Donc maintenant creer deux fichier le premier avec le nom que tu veux mais avec l'extension .php et le deuxieme avec le nom traiteCom.php. Dans le premier fichier place y le code que j'ai mis plus haut:

<?php
    com('TaTable','PageDeRetour');
?>
<?php function com($nomTableSql,$pageDeRetour) {?>
<form  action="traiteCom.php" method="post">
    <span class="Form">votre pseudo:</span><br/>
    <input type="text" name="pseudo" value="" size="30"/><br/>
    <span class="Form">votre texte:</span><br/>
    <textarea name="txt" value=""></textarea><br/>
    <input type="hidden" name="cible" value="<?php echo $nomTableSql ?>" size="30"/>
    <input type="hidden" name="page" value="<?php echo $pageDeRetour ?>" size="30"/>
    <input class="but" type="submit" name="submit" value="envoyer"/>
</form>
    <?php } ?>



et dans le deuxieme fichier (traiteCom.php) ecrit juste "salut".
Upload les deux sur ton serveur dans le même dossier.
Normalement maintenant sur ton premier fichier tu dois voir un formulaire, le même que chez moi et si tu clique sur envoyer tu dois voir "salut".

dis moi si ça marche, et dis moi le nom de ton premier fichier.
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
voila ce ke j ai eu dans la page :

Index of /wydadelouma
[ICO] Name Last modified Size Description
[DIR] Parent Directory -
[ ] essai.php 26-Mar-2010 18:49 613
[ ] traitecom.php 26-Mar-2010 18:49 5
Apache Server at www.wydadelouma.info.cm Port 80

et qd j ai cliké sur essai.j ai eu le deux cadre avec envoyé mais qd je clic sur envoyé il me dit ke la page n existe pas
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
ahhh mon dossier qui contient les deux page c est aussi wydadelouma
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
mais tu as bien vue le formulaire dans ton premier fichier??? qu'il t'affiche que la page n'existe vient du fait que tu as appelé ton fichier "traitecom.php" alors qu'il faut l'appeler "traiteCom.php" en faisant attention au majuscule il faut un "C" majuscule.
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
ok je comprends la mais en tt cas je vois tres bien le formulaire alors je vais renommé le fichier et le renvoyé mais la filezilla ne veut pas se connecté au serveur grrrr
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
et voila ca marche je vois la salut qd je clic sur envoyé :)))
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
tu vas voir ça va marcher, maintenant dans ton fichier traiteCom place y ce code a la place de "salut":
<?php
if(isset($_POST['page'])) {
    $page=$_POST['page'];
}else {
    $page='index.php';
}
//header('location:'.$page);
if(isset($_POST['cible'])) {
    $cible=$_POST['cible'];
}else {
    $cible=-1;
}
if(isset($_POST['pseudo'])||$_POST['pseudo']!="") {
    $pseudo=$_POST['pseudo'];
}else {
    $pseudo='user';
}

if(isset($_POST['txt'])) {
    $txt=$_POST['txt'];
}else {
    $txt=-1;
}
if($txt!="") {
    connect("insert into $cible values('$pseudo','$txt','')");
}
function connect($sql) {
    $link=mysql_connect('localhost','root','');
    mysql_select_db('MonCom',$link);
    echo mysql_error($link);
    $req=mysql_query($sql) or die ('erreur requette!!<br/>'.$sql.'<br>'.mysql_error());
    mysql_close();
    return $req;
}
?>



a la fin de ce code tu as la fonction connect

function connect($sql) {
    $link=mysql_connect('localhost','root','');
    mysql_select_db('MonCom',$link);
    echo mysql_error($link);
    $req=mysql_query($sql) or die ('erreur requette!!<br/>'.$sql.'<br>'.mysql_error());
    mysql_close();
    return $req;
}


dans ce code il y a deux ligne importante que tu dois modifier:
$link=mysql_connect('localhost','nomUtilisteur','motDePasse');


c'est une fonction prenant des parametre dans l'ordre c'est localhost en deuxieme c'est nom d'utilisateur et en troisieme c'est le mot de passe.

Donc localhost en général c'est ça donc ça il faut pas toucher, ton nom d'utilisateur normalement c'est écrit sur la premiere page de phpMyAdmin et le mot de passe tu dois le connaitre ou ton hebergeur doit te le donner quelque part.

puis tu as cette ligne
mysql_select_db('MonCom',$link);


ici tu vois ecrit monCom, c'est ici qu'il faut renseigner le nom de ta base de données en respectant bien les majuscule.

Puis dans ton premier fichier tu as cette ligne au tout debut:

<?php
    com('TaTable','PageDeRetour');
?>

La ou il y a ecris 'tatable' il faut placer le nom de la table sql que tu as créé au debut en faisant attention aux majuscules.

Maintenant si tout marche bien tu devrais tomber, en postant un commentaire, sur une page blanche, mais dans ta base de données, dans ta table, il devrait y avoir l'enregistrement. si tu n'arrive pas sur une page blanche poste ce qu'il y auras ecrits.
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour

pardon hier j ai eu un probleme de connexion :(((

la j ai essayé encore en changeant le nom traiteCom.php et voila ce qu'il me donne qd j essai de poster un commentaire :



Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'user561173'@'localhost' (using password: YES) in /data/multiserv/users/345430/projects/561173/www/wydadelouma/traiteCom.php on line 28

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in /data/multiserv/users/345430/projects/561173/www/wydadelouma/traiteCom.php on line 29

Warning: mysql_error() expects parameter 1 to be resource, boolean given in /data/multiserv/users/345430/projects/561173/www/wydadelouma/traiteCom.php on line 30

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /data/multiserv/users/345430/projects/561173/www/wydadelouma/traiteCom.php on line 31

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /data/multiserv/users/345430/projects/561173/www/wydadelouma/traiteCom.php on line 31
erreur requette!!
insert into TaTable values('','salam','')
Access denied for user 'www-data'@'localhost' (using password: NO)


MERCI
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
re :)

on essayant de tâtonné en anglais et avec les message si dessus :)) j ai reparé les erreurs de majuscule et une erreur sur le mot de passe et j ai pu avoir ce message cette fois :


Access denied for user 'user561173'@'localhost' to database 'MonCom'erreur requette!!
insert into TaTable values('','salut essai ','')
No database selected
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
mais qd je clik sur envoyé directe sans rien écrire au commentaire j ai une page toute blanche
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
oui si tu ne met pas de message dans le commentaire ce code ne fait rien, car il n'y a pas d'utilité a ce qu'il soit posté sans message. C'est cool tu as résolu pas mal de probleme par toi même!!! en fait cette ligne dans tes erreurs:
user561173'@'localhost


ton nom d'utilisateurs ce n'est pas toutes cette ligne c'est juste "user561173"

localhost c'est juste le premier parametre que je t'avais dis quant général c'était ça.
0
cosanostra32 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
oui mais qd je me mais un message dans le commentaire c'est la ou il me dirige vers une page ou il y a le message
Access denied for user 'user561173'@'localhost' to database 'MonCom'erreur requette!!
insert into TaTable values('','salut essai ','')

c'est normal ca .?
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
ok, donc je part du principe que tu est allé dans TaTable dans ta base et que tu as bien vu l'enregistrement.

Maintenant on va te rediriger.

dans cette ligne de code de ton premier fichier:

<?php
    com('TaTable','PageDeRetour');
?>



il faut renseigner la page de retour si tu veux faire comme moi et si ton premier fichier ce nomme "essai.php". le code ressemblera a ça:

<?php
    com('TaTable','essai.php');
?>


puis dans le fichier traiteCom a un moment tu as cette ligne:

//header('location:'.$page);


il suffit d'enlever les deux slash qui signifie que cette ligne est en commentaire:

header('location:'.$page);


je reposte desuite pour l'affichage pour que ce soit plus lisible
0
dariumis Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   63
 
puis maintenant on va traiter l'affichage.

ton premier fichier ce presente comme ceci:

<?php
    com('TaTable','PageDeRetour');
?>
<?php function com($nomTableSql,$pageDeRetour) {?>
..........
    <?php } ?>



tu vas ajouter ce code:

<?php
function affiche($com) {
    $req=connect("select * from $com order by clef desc");
    while($valeur=mysql_fetch_assoc($req)) {
        $p=$valeur['pseudo'];
        $t=$valeur['txt'];
        $p=str_replace("<", "/", $p);
        $t=str_replace("<", "/", $t);
        $p=nl2br($p);
        $t=nl2br($t);
        ?>
	<div class="com">
		<div class="pseudo">
			<?php
				echo $p;
			?>
		</div>
		<div class="mess">
			<?php
				echo $t;
			?>
		</div>
	</div>
	<?php } ?>
<?php } ?>
<?php
function connect($sql) {
    $link=mysql_connect('localhost','root','');
    mysql_select_db('MonCom',$link);
    echo mysql_error($link);
    $req=mysql_query($sql) or die ('erreur requette!!<br/>'.$sql.'<br>'.mysql_error());
    mysql_close();
    return $req;
}
?>



a la fin de ce code tu as la fonction connect que tu as deja rencontré, il te suffit de faire un copié coller de la precedente fonction connect a la place de celle ci ou de la presenter de la même maniere.

et celui ci en renseignant le nom de table sql:

<?php
    affiche('TaTable');
?>

Donc maintenant ton premier fichier doit ce presenter comme ceci:

<?php
    com('TaTable','PageDeRetour');
    affiche('TaTable');
?>
<?php function com($nomTableSql,$pageDeRetour) {?>
    ..........
<?php } ?>
<?php
function affiche($com) {
    ..........
<?php } ?>
<?php
function connect($sql) {
    .........
}
?>


Donc les fonctions a la fin du fichier et les appel aux fonctions qui sont ces deux ligne:

<?php
    com('TaTable','PageDeRetour');
    affiche('TaTable');
?>




L'une a coté de l'autre au debut.
0