我对网络开发很陌生(我对HTML的经验有限)。我正在创建一个辩论网站。目前,每个辩论都存储在MySQL数据库中。当用户将信息提交给数据库时,我希望创建一个新页面,其中包含他们的辩论,以及评论和评级的能力。
我遇到的问题是,从我迄今为止所做的研究来看,我找不到为每次辩论都有一个新网页的解决方案。有没有人对如何将数据写入独特的网页有任何建议?
谢谢, 乔治
答案 0 :(得分:2)
假设您使用的是PHP和MySQL。
我会尽可能地保持这个简单,可能需要基本示例中的这些文件以及希望解释的SQL表(辩论,评论等)。
表格以创建辩论
<form action='debateprocessor.php' action='POST'>
<input type='hidden' name='action' value='create'/>
<input type='text name='debate_name'/>
/// Other inputs - debate topic, debate author, subject etc? same as above
</form>
然后将表单数据发送到debateprocessor.php,我们将在那里进行清理和预制。
$ _ GET ['action'] =“创造”#这告诉我们,我们正在创造一场辩论 $ _GET [ 'debate_name'] = “SomeDebate”
debateprocessor.php - 你想把它拉进来:
if (mysql_real_escape_text($_GET['action'])) == 'create'){
$debate_name = mysql_real_escape_text($_GET['debate_name']);
//sanitize other variables as above
//Insert debate name
mysql_query=("INSERT INTO debates (debate_id,debate_name) VALUES ('$debate_name'");
}
注意动作if($ action =='foo'){//做某事; }语句 - 这将允许您在一个文件中处理更新(注释,编辑辩论名称等)。表单中的其他操作值可以是“edit”,“add_comment”等 - 您可以使用单独的文件来执行所有操作,但这样可以让您完成所有操作。你所要做的就是为修改表格的每个动作添加上面的elseifs或其他if语句。
所以展示你的辩论,你会有一个像桌子上的辩论主列表,比如你有
<强> debatelist.php 强>
<?
$getDebates = mysql_query("SELECT * FROM debates";);
$rowNum = 0;
while($row = mysql_fetch_array($getDebates))
{
$thisDebate = $row['debate_name'];
$thisDebateID = $row['debate_id'];;
echo
"
<tr>
<td>
<a href='debate_detail.php?debateid=$thisDebateID'>
$thisDebate
</a>
</td>
</tr>
";
$rowNum++;
}
这将输出一个辩论名单列表,其中包含指向ea的链接。辩论ID,由辩论ID提出的辩论的辩论_detail.php页面。在该文件中,您将使用SELECT的类似组合(仅使用'WHERE debate_id ='xyz',并且很可能在comments_id ='zyx'= debate_id ='zyx'上加入评论等表格。
答案 1 :(得分:1)
有一个查看请求的URI的脚本(查询字符串是最简单的查看地点foo.php?debate=1
→$_GET['debate']
)并使用它来获取一条唯一标识您想要的辩论的信息(例如,您用于数据库表中主键的列的值)。
在数据库中查找该行,并将内容输出到页面。
(确保以防御SQL注入的方式将数据发送到数据库,并且不将用户输入回送到HTML而不转义或清理它以防御XSS)。
答案 2 :(得分:0)
您需要使用模板引擎,例如PHP。对于每个辩论,你传递一个不同的查询字符串,例如辩论id 1你可能有
www.example.com/debates?id=1
在您的PHP代码中,您可以检查此查询参数的值,并使用它从数据库中提取corrwect信息,允许您动态创建页面。