我有超过一百个html文件,大致具有相同的结构。 html文件represent each page of a comic。
很自然地,我意识到将这些页面的结构应用到一个文件会更有效,并允许该文件动态创建所有漫画页面。
我的目标是这样的,一个;当用户访问漫画页面时,链接所包含的页码可以作为数字值传递以确定图像文件和URL。
2;当用户点击“下一个”或“前一个”时,定义页面的数字值被加到或减去一个以加载到新的URL和图像文件。
和三;用于“下一个”和“上一个”按钮来定义自己/决定是否出现基于我已经写过的文件检查。
<?php
if ($_GET["img"]) {
$imgnum = $_GET["img"];
} else { $imgnum = 1; }
?>
<html>
<div class="block">
<?php echo '<img class="page" src="' . $imgnum . '.png">'; ?>
</div>
</html>
此代码可以根据$imgnum
的值更改图像文件和网址,但是当将值传递到“下一个”和“上一个”按钮时,我不知道到底是什么我正在做。我试着这样做:
<?php $prevValue = $imgnum - 1?>
<a href="?img=<?php$prevValue?>"><h2 class="arrow">Previous</h2> </a>
显然,将变量传递给该键是行不通的。有没有办法用这种PHP方法保持按钮的动态?这些按钮需要变量才能自行工作。我必须切换到jquery吗?老实说,最重要的是需要建议从哪里开始。我几乎不明白这个PHP脚本本身发生了什么。
答案 0 :(得分:3)
<?php
if ($_GET["img"]) {
$imgnum = $_GET["img"];
} else { $imgnum = 1; }
?>
以上是做什么.....
If (the URL string contains the [img] value ) {
Get the value of [?img=] from the URL string...
i.e. index.php?img=4 .. (it is getting the 4)
and set the [$imgnum] variable to that value
} else {
But if the URL does NOT contain the [img=] value,
then set the variable value to 1 [$imgnum = 1;]
}
很难确切地告诉您想要什么,但下面会将该值正确地添加到按钮中。
<?php $preValue = $imgnum - 1; ?>
<a href="?img=<?php echo $preValue; ?>"><h2 class="arrow">Previous</h2> </a>
PHP行以分号结尾......您必须将echo
个变量输出到HTML。
我没有线索 jQuery和javascript与你的问题有什么关系。但是是..这可以全部由ajax请求处理,并且每次单击按钮时您都不需要重新加载页面。
但是,如果您不了解PHP已经在做什么,解释如何通过AJAX执行此操作将会让您感到特别困惑。 很多需要看到更多的代码结构。
答案 1 :(得分:3)
您正在创建正确的代码,但您忘记回复它。
您需要将线路更改为;
<a href="?img=<?php echo $prevValue;?>"><h2 class="arrow">Previous</h2> </a>
或者如果你的php.ini配置允许,你可以使用较短的版本;
<a href="?img=<?=$prevValue?>"><h2 class="arrow">Previous</h2> </a>
注意:
您应该了解SQL注入并通过;
保护您的get变量$imgnum = (int)$_GET["img"];
当您将$ _GET值作为变量时,这一次,只有整数值才有效,因此黑客无法注入代码。