使用 JavaScript 函数将页码从一个 PHP 文件传递到另一个文件
Passing a page number from one PHP file to another using a JavaScript function
我正在开发具有以下 URL 结构的网站:
- http://www.mywebsite.com/ 是默认主页(与 /index.php?page=1 相同)
- http://www.mywebsite.com/index.php?page=2
- http://www.mywebsite.com/index.php?page=3
- 等等...
我正在尝试使用 javascript 函数将当前页码从 index.php
传递到 myphpscript.php
:
<script>
function swapContent(filterchoice){
var PageNum = <?php echo json_encode($_GET["page"]); ?>;
var url = "myphpscript.php";
$.post(url, {contentVar: filterchoice, page : PageNum}, function(data){
$("#myDiv").html(data).show();
});
}
</script>
在 myphpscript.php
上,当为 http://www.mywebsite.com/ 案例添加以下条件时得到 $page_number=1
:
if (isset($_POST['page'])) {
$page_number = $_POST["page"];
}
else {
$page_number = 1;
}
echo $page_number;
默认主页似乎没有 echo
任何内容,但在 URL 中为所有其他页面回显正确的页码 page=
。然而,isset
条件似乎在 index.php
上正常工作,即使是默认主页:
if (isset($_GET["page"])) {
$page_number = $_GET["page"];
}
else {
$page_number = 1;
}
你能解释一下为什么它适用于第二种情况而不适用于第一种情况吗?如果我在默认主页上,我如何在 myphpscript.php
中设置 $page_number=1
。
您必须检查第一个脚本中是否存在$_GET["page"]
。如果没有提供页面(比如在您的主页中),那么您的脚本将如下所示:
<script>
function swapContent(filterchoice){
var PageNum = ;
//...
}
</script>
这非常非常糟糕。
你应该这样修复它:
var PageNum = <?= $_GET["page"] ? $_GET["page"] : 1 ?>;
这是一个快捷方式条件语句。它说:
if $_GET["page"]
exists, output it. Otherwise, output 1
我正在开发具有以下 URL 结构的网站:
- http://www.mywebsite.com/ 是默认主页(与 /index.php?page=1 相同)
- http://www.mywebsite.com/index.php?page=2
- http://www.mywebsite.com/index.php?page=3
- 等等...
我正在尝试使用 javascript 函数将当前页码从 index.php
传递到 myphpscript.php
:
<script>
function swapContent(filterchoice){
var PageNum = <?php echo json_encode($_GET["page"]); ?>;
var url = "myphpscript.php";
$.post(url, {contentVar: filterchoice, page : PageNum}, function(data){
$("#myDiv").html(data).show();
});
}
</script>
在 myphpscript.php
上,当为 http://www.mywebsite.com/ 案例添加以下条件时得到 $page_number=1
:
if (isset($_POST['page'])) {
$page_number = $_POST["page"];
}
else {
$page_number = 1;
}
echo $page_number;
默认主页似乎没有 echo
任何内容,但在 URL 中为所有其他页面回显正确的页码 page=
。然而,isset
条件似乎在 index.php
上正常工作,即使是默认主页:
if (isset($_GET["page"])) {
$page_number = $_GET["page"];
}
else {
$page_number = 1;
}
你能解释一下为什么它适用于第二种情况而不适用于第一种情况吗?如果我在默认主页上,我如何在 myphpscript.php
中设置 $page_number=1
。
您必须检查第一个脚本中是否存在$_GET["page"]
。如果没有提供页面(比如在您的主页中),那么您的脚本将如下所示:
<script>
function swapContent(filterchoice){
var PageNum = ;
//...
}
</script>
这非常非常糟糕。
你应该这样修复它:
var PageNum = <?= $_GET["page"] ? $_GET["page"] : 1 ?>;
这是一个快捷方式条件语句。它说:
if
$_GET["page"]
exists, output it. Otherwise, output1