显然,我是一名新手网页设计师。我正在使用php和sql来做所有引擎盖下的东西,但我想要一个视觉上吸引人的功能评论系统。
现在我只使用HTML表单,但看起来不太好。我应该使用javascript吗?让我入门的任何提示?
答案 0 :(得分:6)
如果您只是想要评论而不是寻找学习经历,那么请切出一些角落并使用Disqus!这很容易设置。
现在我只使用HTML表单,但看起来不太好。我应该使用javascript吗?
如果您使用JavaScript,那么无论如何都会在那里的某个地方放置HTML表单。
基本上你想要:
comments
<form>
到您要评论的所有网页的底部,其中action
属性指向您的'comment.php'脚本。comments
使用以下列在数据库中创建表:
一点SQL:
CREATE TABLE `comments`
( `id` INT NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NOT NULL ,
`author` VARCHAR(255) NOT NULL ,
`comment` TEXT NOT NULL ,
PRIMARY KEY (id)
)
没有承诺我的语法是完美的;)
让它响应POST
请求并在表comments
中插入一行。 (为什么选择POST
?了解Safe Methods)
<?php
$db = DB::connect(...);
// I'm being a little lazy with the intricacies of PHP-DB interaction...
// Be sure to validate the input a little.
// You'll want to take some measures to prevent spoofing.
$db->insert("INSERT INTO `comments` (`url`, `author`,`comment`) VALUES (?,?,?)", array($_POST['url'], $_POST['author'], $_POST['comment']));
header("Location: ".$_POST['url']); // redirect back to the commented page
// actually, I'm being lazy;the Location header is supposed to be a full url including protocol and domain etc
?>
请注意I've used placeholders ?
in the SQL ...
在包含评论的所有页面的底部,添加类似......
的内容<?php
$db = DB::connect(...);
// I'm being a little lazy with the intricacies of PHP-DB interaction...
$result = $db->query("SELECT * FROM `comments` WHERE `url`=?", array($_SERVER['REQUEST_URI']));
while($row = $result->fetchRow()) }
echo "<div class=\"comment\">";
echo "<div class=\"author\">Comment By:".htmlentities($row['author'])."</div>";
echo htmlentities($row['comment']);
echo "</div>";
}
?>
请注意使用htmlentities
来阻止XSS。
<form>
添加到所有页面的底部现在,要让用户能够添加评论,您需要一个HTML <form>
。
<form method="post" action="/path/to/comments.php">
<label for="author">Your name:</label><input name="author" id="author" />
<textarea name="comment"></textarea>
<input type="hidden" name="url" value="<?php echo htmlentities($_SERVER['REQUEST_URI'])?>" />
<input type="submit" />
</form>
然而,这样做,你只有文字(没有很酷的引力或任何东西),而你真的只是信任他们的名字(没有OpenID认证)。你也没有真正的评论格式(它们都是纯文本)。
所有这些都可以通过使用Disqus来解决。
答案 1 :(得分:1)
对此有无限的答案。简单的答案是使用/学习CSS。
如果你正在唱一个像jQuery这样的JS库,那么你可以使用其中一个已经为你提供css格式的插件。
答案 2 :(得分:1)
Imho如果您想要的只是评论,那么请查看此服务:
您可以在此处查看工作示例:
它非常容易实现,只需复制您在网站上获得的代码,然后将其粘贴到您的网页中即可。上述网站的代码是:
<div id="disqus_thread"></div>
<script type="text/javascript">
/**
* var disqus_identifier; [Optional but recommended: Define a unique identifier (e.g. post id or slug) for this thread]
*/
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://mashinazec.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript=mashinazec"></a></noscript>
当我只需要几页的评论时,我发现这项服务非常有帮助。
实施后,只需使用CSS即可轻松按照自己的方式设计样式。
答案 3 :(得分:0)
您可以安装wordpress或类似的博客软件平台。然后可以通过CSS轻松定制外观。
答案 4 :(得分:0)
要快速修整表单,请查看JQueryUI的主题滚轴主题。