Section commentaire

Résolu
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   -  
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai regardé pas mal de tutos sur le web plus ou moins vieux et quelque vidéo également.

Mais je n'arrive pas à faire une section commentaire. Genre une personne lambdha peut laisser des commentaires, un livre d'or en faite.

Je n'arrive pas à faire la base de données avec mysql. Et la je suis perdu. Je vous demande à vous, sinon je continuerai à tester et retester.

En vous remerciant d'avance les ccmien(ne)s.

Amicalement


4 réponses

DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Bonjour

Voilà un exemple de comment tu peux faire si les utilisateurs ne se loguent pas sur le site

table commentaires
id_commentaire
login
commentaire
date
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Yo DeINC,

Merci de ta réponse.

Pendant ce temps j'ai ça => photo

Mais je pense que je n'arrive pas à le relier avec la bdd et la pgae php.
0
Utilisateur anonyme > nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

il te manque la date déjà...

Ta base semble ok, mais donnes ici le code php qui "attaque" cette base...

A+
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Bonjour HDU,

Merci de ta réponse.

Je n'ai pas encore mis la date car je voulais commencer par simple et c'est déjà laborieux. Je pensais que MySql serait plus simple ... ;) .


<meta charset="utf-8" />
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_commentaires;charset=utf8','root','');

if(isset($_GET['id']) AND !empty($_GET['id'])) {
$getid = htmlspecialchars($_GET['id']);
if(isset($_POST['submit_commentaire'])) {
if(isset($_POST['pseudo'],$_POST['commentaire']) AND !empty($_POST['pseudo']) AND !empty($_POST['commentaire'])) {

$pseudo = htmlspecialchars($_POST['pseudo']);
$commentaire = htmlspecialchars($_POST['commentaire']);
if(strlen($pseudo) < 25) {
$ins = $bdd->prepare('INSERT INTO commentaires (pseudo, commentaire, id_article) VALUES (?,?,?)');

$ins->execute(array($pseudo,$commentaire,$getid));
$c_msg = "<span style='color:green'>Votre commentaire a bien été posté</span>";
} else {
$c_msg = "Erreur: Le pseudo doit faire moins de 25 caractères";
}
} else {
$c_msg = "Erreur: Tous les champs doivent être complétés";
}
}
$commentaires = $bdd->prepare('SELECT * FROM commentaires WHERE id_article = ? ORDER BY id DESC');
$commentaires->execute(array($getid));
?>

<br />
<h2>Commentaires:</h2>
<form method="POST">
<input type="text" name="pseudo" placeholder="Votre pseudo" /><br />
<textarea name="commentaire" placeholder="Votre commentaire..."></textarea><br />
<input type="submit" value="Poster mon commentaire" name="submit_commentaire" />
</form>

<?php if(isset($c_msg)) { echo $c_msg; } ?>
<br /><br />
<?php while($c = $commentaires->fetch()) { ?>
   <b><?= $c['pseudo'] ?>:</b> <?= $c['commentaire'] ?><br />
<?php } ?>
<?php
}
?>

0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Bonjour nocram18

Dans le form il ne faut pas oublier de préciser où tu envoies les données (page en php ou html)
Pour cela, il faut ajouter ce bout de code
action="resultat.html"


<ton code serait <form method="POST" >action="resultat.html" >


Pour récupérer les variables, il faut utiliser dans la page resultat.html
<?php
if(isset($_REQUEST["pseudo" 	])) {$pseudo= $_REQUEST["pseudo"  	];}
else{$pseudo    		= "";}
?>	
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir,

Ah la je commence à être perdu. Je dois refaire une autre page à coté. En gros j'ai une page commentaire.php, une autre resultat.html et dans celle ci il doit avoir les connexion vers la base de données MySql ?

Pas simple quand on ne sais pas. L'interface graphique je peux la programmer derrière mais c'est la connexion à la base de donnée, les requêtes .. qui ne sont pas simple.
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004 > nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

pour la connexion voilà comment tu peux faire
Il faut mettre ce code
<?php
 $BDD_ADRESSE  = "mysql:host=127.0.0.1";
 $BDD_DBNAME   = "ta_base_de_donnees";
 $BDD_LOGIN    = "root";
 $BDD_PASSWORD = "";

 // connexion à la base de données
 try {
  $bdd = new PDO("$BDD_ADRESSE;dbname=$BDD_DBNAME", $BDD_LOGIN, $BDD_PASSWORD);
    } catch(Exception $e) {
        exit('Impossible de se connecter à la base de données.');
    }

    // exécution de la requête
    $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
?>
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Merci je regarde ça dans la semaine :D
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Bon j'ai regardé mais cela ne fonctionne pas j'ai des erreurs qui apparaisent
0
Utilisateur anonyme
 
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Merci je regarde ça dans la semaine :)
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25 > nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention  
 
Ce qu'il propose ne fonctionne pas, de plus eux ils sont une page de news et moi je veux juste les commentaires mais malgré cela ça ne fonctionne pas.
0
Utilisateur anonyme > nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

une erreur ? A quel niveau ?

A+
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25 > Utilisateur anonyme
 
Re,

Au niveau des news. Enfaite eux ils mettent des news ou articles .. et je commence à confondre les lignes de codes. alors je repars sur une programmation. Je recommence tous. Des que j'avance un peu plus je vous tient au courant.

Merci de ton aide. La base de donnée je la laisse comme la photo plus haut et maintenant je vais essayer de tout connecter à celle-ci.
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Bonjour,

Bon me revoila. Je n'arrive pas à connecter les lignes de commandes de la page principale à la base données.

En gros j'ai une page commentaire en .php et une base de données. Il me faut rien d'autre ?

J'ai réussi à connecter la base de données. Mais apres je sais pas quoi mettre pour lui dire affiche ce commentaire de telle table, le nom de l'auteur, la date ... .

Amicalement
0
nocram18 Messages postés 471 Date d'inscription   Statut Membre Dernière intervention   25
 
Toujours pas de solution, mais je mets en résolu.

Merci à tous.
0