PHP从模板创建新页面
我已经有了一个函数,您可以将数据插入数据库,然后将索引上的所有项目名称打印出来,其各自的项目名称为url example.com/example\u name 为了隐藏代码,让我们假设item_name是我仅有的一行,我希望每个item都有自己的页面,上面写着我的item:example_name。以下是我当前用于打印项目列表的代码:PHP从模板创建新页面,php,mysql,Php,Mysql,我已经有了一个函数,您可以将数据插入数据库,然后将索引上的所有项目名称打印出来,其各自的项目名称为url example.com/example\u name 为了隐藏代码,让我们假设item_name是我仅有的一行,我希望每个item都有自己的页面,上面写着我的item:example_name。以下是我当前用于打印项目列表的代码: <?php $sql = "SELECT * FROM items ORDER BY item_name DESC"; $result =
<?php
$sql = "SELECT * FROM items ORDER BY item_name DESC";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '
<p>
<a href="/' . $row["item_name"] . '"> ' . $row["item_name"] . ' </a>
</p> ';
}
} else {
echo "0 results";
}
$conn->close();
?>
做这件事最简单的方法是什么?安全在这里不是什么大问题。
对不起,如果重复的问题,我已经搜索了2个多小时,没有找到任何直接适用于我的问题。一般来说,我对编程相当陌生,所以请不要对我太过技术化。谢谢。如果您想在读取数据库内容的同时创建一个页面,您必须首先从数据库中读取名称,然后在循环中的每次迭代中创建/写入文件。这将根据每个名称创建一个文件 这里有一些关于如何轻松使用创建/写入文件的示例。当然,有很多方法可以做到这一点
确保运行脚本的用户有足够的权限在服务器上写入。希望能有所帮助。我会通过在php中创建一个通用模板页面来实现这一点。布局模板,使其具有所需的所有部分,并且每个部分都有一个变量来保存数据。例如:
<?php
extract($_POST); // turn your post vars into variables
echo "<h1>$product_name</h1";
echo "<h2>Description</h2>";
echo $description;
等等
你可以给这个页面起任何名字。让我们使用product.php。现在,在从查询中获得结果的代码中,将链接指向product.php。每次调用链接时,它都会使用变量创建该页面的实例。你的链接应该是这样的
while($row = $result->fetch_assoc()) {
echo '
<p>
<form action="product.php">
<input type="text" name="productname" value="'.$row['product_name'].'" />
<input type="submit" value="link" class="button" />
</form>
</p> ';
}
添加$row中的任何其他值。当用户单击该链接时,他们将进入product.php页面,其中将显示值。这不是一个完整的工作示例,但应该让您朝着正确的方向思考。此外,此代码受sql注入的影响,因此需要将其收紧
当您创建查询时当您说“拥有自己的页面”时,您想要一个永久页面,每个人都可以在创建后随时访问它,还是一个当前用户可以单击并查看但当用户离开时它就会消失的页面?是的,这是第一件事。当点击索引文件中的href时,任何人都可以访问。您是否真的想知道如何创建这些类似于/{item_name}的URL,而不必为每个项目实际创建一个新的文件/页面,因为我不知道为什么要这样做?呃。我希望其他用户能够上传项目,然后在他们自己的页面上显示项目内容。我无法为所有项目手动创建php文件。就像你想成为一个用户,你想在你自己的用户url上显示你的信息一样。