我正在创建一个模板驱动的网站,但不使用像Smarty或Twig这样的PHP模板包,它完全是我自己的编码。
这是一个模板(mypage.php):(移动到适合页面)
<TITLE>{$title}</TITLE>
<TABLE>
<TR><TD>{$maker}</TD><TD>{$model}</TD><TD>{$trim}</TD><TD>{$body}</TD>
<TD>{$price}</TD>
</TABLE>
内容来自MySQL数据库,如下所示:
<?php
mysql_connect("localhost", "mylogin", "password") or die(mysql_error());
mysql_select_db("test12") or die(mysql_error());
$query = "SELECT name, subject, message FROM contact";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<table><td>{$row['maker']} <br><TD>{$row['model']}</TD><TD>{$row['trim']}</TD><TD>{$row['price']}</TD>" .
}
我认为我做得对,但如果我出错了,请告诉我......这是我第一次正确行事! (编辑适合stackoverflow.com)
欢呼声
答案 0 :(得分:0)
我看到的一个错误是您没有转义从数据库中检索的值 这使您可以使用XSS。
我将回声部分改为:
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$maker = htmlspecialchars($row['maker']);
$model = htmlspecialchars($row['model']);
$trim = htmlspecialchars($row['trim']);
$price = htmlspecialchars($row['price']);
echo "<table><td>{$maker}<br><TD>{$model}</TD><TD>{$trim}</TD><TD>{$price}</TD>".
}