我有一个用户可以撰写帖子的网站,但是我很难回复帖子及其标题。
Heres My Code:
range
not a <= x <= b
只有帖子被回应而不是标题。我该如何解决这个问题?
- 提前谢谢
答案 0 :(得分:0)
正如克里斯所说,这非常容易受到XSS攻击,你需要在回显它之前清理$ _GET ['start']值。此外,在网址中传递整个帖子并不是一个好主意。如果要将帖子存储在数据库中,最好通过URL发送某种ID值,验证/清理它并直接从数据库中检索要显示的帖子。
我无法看到你给$ title一个值的位置。它没有在您提供的任何代码中定义。这意味着它在回显时无法显示任何内容。
此外,回声的结构不正确。
echo '<p>'. $title .'<br>'. $start .'</p>';
是你在这里寻找的。注意单引号在$ title之前关闭,并在break标记之前重新打开。
答案 1 :(得分:0)
变量在单引号字符串中出现时不会展开。您可以在PHP Manual
中找到此通知所以,
echo '<p>. $title .<br> ' . $start . '<p>'
应修改为
echo '<p>'. $title .'<br>'. $start .'</p>';
或使用双引号,
"<p>{$title}<br>{$start}</p>"
正如Matt所说,直接回应$ _GET [&#39; start&#39;]将使您的网站容易受到攻击,这可能会导致网络钓鱼等攻击。
一般来说,有一些操作,比如filter,type check来清理从前端获得的值。 PHP手册提供了很多功能,intval()
,PCRE
,mysqli_escape_string()
,array_filter()
,htmlspecialchars()
...
恕我直言,您应该使用MySQL,SQLite等SQL服务器来存储来自前端的数据,这可以帮助您的网站更好地工作。