在不同页面上显示表格数据

时间:2017-09-21 00:34:57

标签: php mysql

我有一个用户可以撰写帖子的网站,但是我很难回复帖子及其标题。

Heres My Code:

Post.inc.php:

range

Read_more.php:

not a <= x <= b

只有帖子被回应而不是标题。我该如何解决这个问题?

- 提前谢谢

2 个答案:

答案 0 :(得分:0)

正如克里斯所说,这非常容易受到XSS攻击,你需要在回显它之前清理$ _GET ['start']值。此外,在网址中传递整个帖子并不是一个好主意。如果要将帖子存储在数据库中,最好通过URL发送某种ID值,验证/清理它并直接从数据库中检索要显示的帖子。

我无法看到你给$ title一个值的位置。它没有在您提供的任何代码中定义。这意味着它在回显时无法显示任何内容。

此外,回声的结构不正确。

echo '<p>'. $title .'<br>'. $start .'</p>';

是你在这里寻找的。注意单引号在$ title之前关闭,并在break标记之前重新打开。

答案 1 :(得分:0)

  1. 变量在单引号字符串中出现时不会展开。您可以在PHP Manual

    中找到此通知

    所以,

    echo '<p>. $title .<br> ' . $start . '<p>'

    应修改为

    echo '<p>'. $title .'<br>'. $start .'</p>';

    或使用双引号,

    "<p>{$title}<br>{$start}</p>"

  2. 正如Matt所说,直接回应$ _GET [&#39; start&#39;]将使您的网站容易受到攻击,这可能会导致网络钓鱼等攻击。

    一般来说,有一些操作,比如filter,type check来清理从前端获得的值。 PHP手册提供了很多功能,intval()PCREmysqli_escape_string()array_filter()htmlspecialchars() ...

  3. 恕我直言,您应该使用MySQL,SQLite等SQL服务器来存储来自前端的数据,这可以帮助您的网站更好地工作。

相关问题