但是让我们从头开始谈谈。我正在创建类似于wordpres博客索引页面的网站(无法显示图片因为没有足够的声誉)。然后我点击阅读更多链接中的介绍文章我想将文章ID从数据库保存到php sesions。这是代码。
while($row = mysqli_fetch_array($result))
{
echo '<div class="img">
<img src="img/smiley.gif" alt="Smiley face" width="250" height="250">
</div>';
echo "<h2>".$row['Name'] . "</h2> " ;
$string = strip_tags($row['Content']);
if (strlen($string) > 500) {
$stringCut = substr($string, 0, 500);
$string = substr($stringCut, 0, strrpos($stringCut, ' ')).'... <a href="post.php?link=1">Read more</a>';
}
//echo $string;
if(isset($_GET['link']) /*you can validate the link here*/){
$_SESSION['link']= true;
}
echo $string;
echo "<br>";
echo '<div class="content dashboard clearfix"></div>';
echo '<hr>';
}
mysqli_close($con);
?>
所以我在index.php文件中有3篇介绍文章,我读了一篇,所以我按READ MORE(然后我应该把文章ID写入会话)并转到其他页面,我想我应该从文章中获取文章ID会话。我正在尝试用
做if(isset($_GET['link']) ){ /*you can validate the link here*/
$_SESSION['link']= true;
}
但它始终从数据库中写出数字5的最后一个ID,所以我想我应该使用AJAX,javascript ??也许有人可以举个例子? 谢谢。
答案 0 :(得分:0)
你可以通过ajax设置一个SESSION变量,但是......这会变得非常疯狂,让事情变得过于复杂而且不是很友好的
有一种更好的方法:让您的“阅读更多”实际链接到您的内容。所以你有一个“阅读更多”链接到http://example.com/page.php?id=5
,然后在“page.php”里面你只是这样做:
$Id = intval($_GET['id']);
阅读how to create friendly URL in php?后,您可以使其更加漂亮,因此它们看起来像http://example.com/page/5
。
通过代码,您可以在点击链接时自动转到所需的页面。因此,您只需要创建页面 post.php 并从数据库中检索单行,方式与上面指出的方式类似,但使用正确的名称:
$Id = intval($_GET['link']);