Php静态页面

时间:2015-06-04 14:45:52

标签: php html sql

我尝试创建用户个人资料页面。所有访问者都可以看到此页面

www.sample.com/details.php?id=1

 <?php
            foreach($db->query('SELECT * FROM uyeler') as $row) {
                    echo "<tr><td>" .$row['id'] . "</td>";
                    echo "<td>" .$row['username'] . "</td>";
                    echo "<td>" .$row['sex'] . "</td>";
                    echo "<td>" .$row['country'] . "</td>";
                    echo "<td>" .$row['age'] . "</td>";
                    echo "<td>" .$row['twitter'] . "</td>";
                    echo "<td>" .$row['instagram'] . "</td>";
                    echo "<td>" .$row['snapchat'] . "</td>";
                    echo ('<td><a href="details.php?id=' .$row['id'] . '" title="Panel">Details</a></td>');
                    echo "</tr>";
                }
            ?>

当他们点击此链接时。详情页面将会打开。

我尝试使用这些代码创建details.php

<?php
include('connect.php');
foreach($db->query("SELECT country FROM uyeler WHERE id =' .$row['id'] . '") as $row) 
    echo $row['id'];

?>

我该如何解决这个问题?感谢

1 个答案:

答案 0 :(得分:1)

您可能从$ _GET变量而不是$行获取查询的ID。在尝试数据库查询以防止注入攻击之前,您应该检查它是否是正确的格式(即if(is_numeric($_GET['id']))条件。

您还在选择“国家/地区”列,然后查找“ID”。试试这个:

<?php
include('connect.php');
if (is_numeric($_GET['id'])) {
    foreach($db->query("SELECT country FROM uyeler WHERE id =' .$_GET['id'] . '") as $row) 
      echo $row['country'];
}
?>