Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下拉列表&;php_Php_Xml_Forms - Fatal编程技术网

下拉列表&;php

下拉列表&;php,php,xml,forms,Php,Xml,Forms,我正在尝试创建一个下拉列表,限制每页显示的图像数量,并允许用户决定显示多少图像,默认情况下我设置了5我尝试搜索网络我没有找到解决方案这里是我尝试过的代码 <form action="image_search.php" name="formSize" method="post"> <span id="PageSize" style="color:Gray;">Page Size:</span> <select name="pagesize"

我正在尝试创建一个下拉列表,限制每页显示的图像数量,并允许用户决定显示多少图像,默认情况下我设置了5我尝试搜索网络我没有找到解决方案这里是我尝试过的代码

<form action="image_search.php" name="formSize" method="post">  
   <span id="PageSize" style="color:Gray;">Page Size:</span>
   <select name="pagesize">
    <option selected="selected" value="5">5</option>
    <option value="20">20</option>
    <option value="50">50</option>
    <option value="100">100</option>
   </select>&nbsp;
  <span id="Title" style="color:Gray;"></span>
</form>
<?php
    include_once("includes/images.php");
    $xml = simplexml_load_file("xml/images.xml"); //load the images
     $page = 0;
       if (isset($_POST['formSize']))
       {
             $varSize = $_POST['pagesize'];
        }
$MAXELEMENTSPERPAGE = $varSize; //change this value to display how many elements per page you wish people to see
 $maxPage = count($xml)/$MAXELEMENTSPERPAGE;

if(isset($_GET['page']))
   {
     $page = $_GET['page'];   //if page is specif
     }
?>

页面大小:
5.
20
50
100
如果我删除$varSize并用一个数字替换它,它会工作,但我会得到这个错误
未定义变量:varSize

在用户发布到页面之前,varSize必须有一个值。因此,在if语句之外定义varSize。然后,如果用户更改它,它将更改

$varSize = 5;
if (isset($_POST['formSize'])){
    $varSize = $_POST['pagesize'];
}
$MAXELEMENTSPERPAGE = $varSize;
我得到一个未定义的错误变量:varSize

因为它是未定义的。只要定义它

$varSize = isset($_POST['pagesize']) ? intval($_POST['pagesize']) : 5;

您是如何发布数据的,
formSize
从何而来?这允许页面正确显示,但下拉列表现在会影响每页显示的项目数,那么您的if语句是错误的。我的代码只给了
$varSize
一个默认值。如果
isset($\u POST['formSize'])
为true,
$varSize
将替换为
$\u POST['pagesize']
。由您决定是否已实际设置了
$\u POST['formsize']
,以及
$\u POST['pagesize']
的值不是5。很抱歉,我仍在学习或应该说正在尝试学习php我在一个网站上找到了下拉列表,并试图将这个想法融入到我的项目中。我不确定如何找到发布项目的值。你能建议我很抱歉,我弄糊涂了,因为你的一些变量是驼峰大小写的有些则不然。提交页面后,请转储您的
$\u帖子
,查看内容。尽量使事情保持一致。现在决定是执行
pageSize
还是
pageSize
formsize
还是
formsize
。这将帮助您编写更好的代码,而不会出错。您的
$\u POST
范围在第一页加载时将为空。它只在表单提交后包含数据。因此,用户必须选择一个值并在表单上单击submit,然后
$\u POST
将包含该数据。4 5 10 25 puzzel的最后一部分