L'ajout d'un système de commentaire sur mon site
Salut tout le monde, j'essaye d'ajouter un certain type de système de commentaire sur mon site pour les news que je poste sur la page principale. Ce que je voudrais faire est d'avoir quelqu'un de la commenter (ils n'ont pas besoin de login). Le commentaire du formulaire de soumission requiert juste un Nom et un commentaire.
Quelle serait la façon la plus simple de faire cela? Il serait bien aussi d'avoir à afficher le nombre de commentaires il y a actuellement sur la nouvelle poste. Je n'ai pas besoin de rien de fantaisie.
Merci!
Pas de connexion requise = des tonnes de spams dans les commentaires. Quelque soit la solution que vous allez avec, je vous suggère d'incorporer des captchas ou quelque chose de similaire.
J'ai un site avec des commentaires. pas de connexions à tous et pas de spam. Comme une question de fait, la connexion elle-même ne fournit pas de spam de la défense. Si vous avez des problèmes avec spamming autre site, yoo pouvez poser une question sur stackoverflow et être farcies avec des solutions en quelques secondes
donc, il suffit de s'asseoir et d'écrire, en la manière que vous aimez. Pas une grosse affaire
La plupart des spammeurs s'appuient sur des scripts pour la commune systèmes de commentaire. Si vous écrivez votre propre, ça va être un certain temps avant qu'ils vous trouvent. Cependant, ils ont de moi finalement. Quand j'ai découvert cela, j'ai modifié mon système légèrement, de changer le nom de méthode de la présentation de commentaires, tout en laissant l'ancien système intact, mais ne rien faire. Les spammeurs ont continué à frapper l'ancien système pendant un certain temps puis s'est arrêté. C'était il y a des années. Je pense qu'aujourd'hui, j'aimerais utiliser Akismet ou de mettre en œuvre un système de modération/système de connexion si j'ai eu un problème, mais je ne serais pas s'inquiéter à ce sujet.
Le spam permettra de trouver votre site par la suite, et quand ils le font, ce sera un bain de sang.
J'ai un site avec des commentaires. pas de connexions à tous et pas de spam. Comme une question de fait, la connexion elle-même ne fournit pas de spam de la défense. Si vous avez des problèmes avec spamming autre site, yoo pouvez poser une question sur stackoverflow et être farcies avec des solutions en quelques secondes
donc, il suffit de s'asseoir et d'écrire, en la manière que vous aimez. Pas une grosse affaire
La plupart des spammeurs s'appuient sur des scripts pour la commune systèmes de commentaire. Si vous écrivez votre propre, ça va être un certain temps avant qu'ils vous trouvent. Cependant, ils ont de moi finalement. Quand j'ai découvert cela, j'ai modifié mon système légèrement, de changer le nom de méthode de la présentation de commentaires, tout en laissant l'ancien système intact, mais ne rien faire. Les spammeurs ont continué à frapper l'ancien système pendant un certain temps puis s'est arrêté. C'était il y a des années. Je pense qu'aujourd'hui, j'aimerais utiliser Akismet ou de mettre en œuvre un système de modération/système de connexion si j'ai eu un problème, mais je ne serais pas s'inquiéter à ce sujet.
Le spam permettra de trouver votre site par la suite, et quand ils le font, ce sera un bain de sang.
OriginalL'auteur MJ93 | 2010-12-10
Vous devez vous connecter pour publier un commentaire.
C'est simple php livre d'or tutoriel. Je sais que c'est pas exactement ce que vous avez demandé, mais son très similaire. Personnaliser en fonction de vos besoin. PS: j'aurais vraiment penser à ce que eykanal écrit. Vous devez ajouter une colonne pour l'id de l'article, l'id de la page etc...
Suivi:
Comme tout le monde l'a mentionné, cet exemple/tutoriel n'est pas le plus sécurisé/correctement conçu morceau de travail et est uniquement destinée à vous montrer le niveau de complexité et de vous donner une idée de ce que vous obtenez en. Après l'avoir lu, je voudrais également lire un peu sur php/mysql les vulnérabilités d'injection et simple db principes de design
Merci, im surpris par la façon dont rapidement vous répondre sur ce site. Je vais certainement essayer cette méthode!
Faites attention à des attaques par injection SQL dans votre mise en œuvre.
Des éclats d'obus: ce que je sais, le son a beaucoup de défauts et de sauts de db règles de conception, mais après avoir été dans MJ93 position à un certain moment, il m'a aidé à obtenir commencé.
OriginalL'auteur Babiker
Si vous ne voulez pas le code de votre propre système de commentaire, vous pouvez utiliser http://disqus.com/
OriginalL'auteur Buddy
Il y a beaucoup de façons de le faire... j'essaie de vous donner une idée simple (sans utilisation de modèles complexes ou de méthode):
1) Créer une Table de Base de données pour contenir des commentaires, je vous suggère de ces champs:
2) Dans votre interface de la page ajouter un formulaire composé de 4 champs:
news-id : auto-explicatif
nom : champ de saisie de texte
message : textarea
captcha: (pour éviter bot achèvement) je vous suggère de recaptcha.
Cette forme d'envoyer des données en POST à add_comment.php que la nécessité de mettre en œuvre ces étapes:
2.A) vérifier si $_POST existe pas de données
Il serait mieux de vérifier la provenance des données (pour être sûr de votre site).
2.B) Si $_POST données,vérifiez que les champs obligatoires et de les stocker erreur dans la structure:
2.C) Si il n'y a pas d'erreurs, d'enregistrer les données dans la base de données:
- raccordement ouvert de db
- assembler une requête. Ne pas oublier de les envelopper chaque variable entre guillemets et le lancer à travers mysql_real_escape_string (ou de l'utilisation des requêtes préparées)
- exécuter cette requête
- redirection vers la page en cours
2.D) Si il ya des erreurs, rediriger vers la page principale avec une variable en get &erreur=1.
Dans votre page principale de vérifier si cette variable est définie à définir si vous avez besoin d'imprimer des messages d'erreur.
(il est mieux de rester sur la même page et afficher les erreurs et de combler les données (éviter de scripting xss ))
3) Gérer votre page principale de l'ajout d'un script pour sélectionner commentaire de la DB, voici quelques étapes:
3.A) Pour chaque news vous imprimez, obtenir l'id (ou la clé unique utilisé pour l'actualité de la boutique en db).
3.B) Effectuer une simple requête select de ce genre pour obtenir tous les commentaires de cette news:
3C) Pour chaque commentaire que vous obtenir avec cette requête, vous pouvez imprimer les données de cette façon :
4) Vérifier le nombre de commentaires est assez simple, effectuer une numération sur les données obtenues à partir d'une requête au point 3B.
Merci col des éclats d'obus! le champ caché dans le formulaire dans le point 2 est indispensable! Merci aussi pour tout autre info ajoutée!
OriginalL'auteur MatterGoal
Hormis le traitement anti-spam, c'est assez simple. C'est un excellent exercice d'apprentissage de la première fois.
Pour enregistrer les commentaires...
Dans votre code HTML, vous faire un formulaire avec les champs de commentaire. Soumettre le formulaire avec la POSTE.
Dans votre PHP, consultez les champs de $_POST et vérifier leur validité - nom est de x caractères, n'est pas vide, etc. Exécutez vos données de l'utilisateur par le biais de mysql_real_escape_string() et les mettre ensemble dans un INSERT de chaîne de requête. Exécuter la requête. Une idée clé ici - ne faites pas confiance aux utilisateurs de saisie - vérification de toutes les manières que vous pouvez penser. Il y a beaucoup d'aide sur un Débordement de Pile sur le sujet.
Pour afficher les commentaires...
Exécuter une requête de sélection à la recherche de l'ID qui correspond à votre annonce. Sortie les noms et les commentaires d'une chaîne de caractères (à l'aide de strip_tags() pour supprimer les indésirables HTML de commentaires), l'introduction de votre propre mise en page HTML en tant que de besoin. Vous pouvez facilement compter les commentaires à la sortie de chaque commentaire à votre chaîne. Alors la sortie de la mise en forme des commentaires de la page.
Il ya beaucoup d'options à considérer le long de la voie - voulez-vous permettre à certains de HTML? Comment gérez-vous l'inévitable spam? Êtes-vous le filetage des commentaires, permettant d'avatars, Gravitars, adresses e-mail, URL pour les affiches, etc? Faites-vous les messages grâce à un système ou tout simplement construire des pages?
EDIT: corrigé ma suggestion sur mysql_real_escape_string(). Merci pour le Colonel des Éclats d'obus de remarquer mon erreur.
Oh, c'était stupide. Je vais corriger ça.
En fait, mysql_real_escape_string n'a rien à voir avec la saisie de l'utilisateur. c'est la base de données des trucs. Il doit être fait de même il n'y a pas de saisie de l'utilisateur à tous. c'est juste comme le formatage d'une certaine sorte, une règle de syntaxe. La syntaxe SQL. Et mysql_real_escape_string serait de vous aider à rien. Il ne fonctionne qu'à l'intérieur des guillemets.
OriginalL'auteur Surreal Dreams
vous pouvez utiliser IntenseDebate.
OriginalL'auteur Faraz Kelhini
PAS RECOMMANDÉ de Base de PHP formulaire de stocker des commentaires dans un fichier texte:
a) Copiez et Collez code ci-dessous dans votre fichier php" où vous souhaitez afficher le formulaire de commentaire.
b) Faire un fichier "comments.txt" dans le même dossier où vous avez votre "fichier php".
OriginalL'auteur feacco