Php 为每个项目页面创建唯一的页面
我正在构建一个简单的bug跟踪工具。 登录后,您可以创建一个新项目,当您创建一个新项目时,您将被重定向到项目页面 我的问题是,如何给每个项目一个独特的页面? 我知道我只需要创建一个页面(projectpage.php),然后为每个项目创建一个唯一的页面。我必须从每个项目中获取id 填写表单以创建新项目后,该表单将发布到此页面: project.class.phpPhp 为每个项目页面创建唯一的页面,php,mysql,Php,Mysql,我正在构建一个简单的bug跟踪工具。 登录后,您可以创建一个新项目,当您创建一个新项目时,您将被重定向到项目页面 我的问题是,如何给每个项目一个独特的页面? 我知道我只需要创建一个页面(projectpage.php),然后为每个项目创建一个唯一的页面。我必须从每个项目中获取id 填写表单以创建新项目后,该表单将发布到此页面: project.class.php $name = $_POST['name']; $descr = $_POST['description']
$name = $_POST['name'];
$descr = $_POST['description'];
$leader = $_POST['leader'];
$email = $_POST['email'];
$sql="INSERT INTO projects (name, description, leader, email, registration_date)
VALUES ('$name', '$descr', '$leader', '$email', NOW())";
$result = mysql_query($sql);
if($result){
header('Location: ../projectpage.php');
}
else {
echo "Oops, there is something wrong. Try again later.";
}
mysql_close();
这将把数据存储在MySQL数据库中
那么,如何为每个项目创建一个唯一的页面呢?
最好的方法是什么
提前谢谢 您有一个PHP文件,通过查询字符串(或URL的其他部分)获取项目id,并在数据库中查询与该id关联的数据。然后使用该数据为项目页面生成HTML。首先,mysql_*函数已过时,您应该使用PDO 您应该有一个PHP脚本,它通过ID从数据库中获取项目。您的表中可能应该有一个ID列。下面是一个示例代码:
if($result){
header('Location: ../project.php?id='.mysql_insert_id());
}
mysql_insert_id返回最后一个插入的id。请参阅。
然后,project.php:
<?php
if (!isset($_GET['id']) || empty($_GET['id']) {
echo "error : bad url";
exit();
}
$cn = new PDO(...); // Check PDO documentation for this
$sql = "SELECT * FROM projects WHERE project_id = :id";
$stmt = $cn->prepare($sql);
$stmt->bindParam(":id", $_GET['id']);
$stmt->execute();
$project = $stmt->fetch(PDO::FETCH_OBJ);
// $project will behave like an Object, you can display for example the project name
echo $project->name;
// or the project date...
echo $project->registration_date;
您正在使用并且应该使用。你也很容易受到现代API的影响,因为它会让你更容易从中受益。不要把它看成是每个项目的唯一页面。这将带来可怕的规模。事实上,您正在用不同的数据填充同一页面,这就是服务器端编程的美妙之处。