我试图在一个href中$ _get部分URL。我想要发生的是当您单击重定向到该特定链接的链接时。如果这是有道理的。
我有两个功能:
第一个功能,链接列表:
function showPosts() {
$sql = ("SELECT * FROM blog");
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
$listId = $row["blog_id"];
$showTitle = $row["title"];
$showContent = $row["content"];
$showTimestamp = $row["timestamp"];
echo'
<div>
<a href="index.php?option=blog&task=view&id='$listId'"><h3>'.$showTitle.'</h3></a>
<div>'.$showContent.'</div>
<p>'.$showTimestamp.'</p>
</div>
';
}
}
第二个功能,重定向到链接:
function viewPost() {
if(empty($_GET['id']) ) {
$listId = '';
} else {
$listId = $_GET['id'];
}
$sql = ("SELECT title, content, timestamp FROM blog WHERE blog_id='$listId'");
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
$showTitle = $row["title"];
$showContent = $row["content"];
$showTimestamp = $row["timestamp"];
echo'
<div>
<h2>'.$showTitle.'</h2>
<p>'.$showTimestamp.'</p>
<div>'.$showContent.'</div>
</div>
';
}
}
正如您所看到的,我在这里使用$ _get [&#39; id&#39;]并且我读到$ _get可用于检索传递的url参数。
我设置URL的方式由交换机中的一组变量定义。
if(empty($_GET['task']) ) {
$task = 'show';
} else {
$task = $_GET['task'];
}
switch ($task){
case "create":
createPost();
break;
case "save":
savePost();
break;
case "show":
showPosts();
break;
case "view":
viewPost();
break;
default: echo'Something went wrong!';
}
目前,当我点击某个链接时,它会重定向,但与该ID无关的所有内容都不存在。
修改
我弄清楚代码中出了什么问题。 在SQL语句中,我在撇号(&#39;)中使用点(。)将自己与变量分开。当我删除点时它工作正常。
blog_id='.$listId.'
不确定我为什么甚至首先使用这些圆点? :/
还根据一个答案的说明删除了我的交换机中的所有芯片。
答案 0 :(得分:0)
您在交换机中滥用了die()命令。 Die命令用于处理错误,它会立即停止脚本执行并返回设置为参数的错误消息。尝试删除它。