Php $\u GET变量在分页代码中未定义
我不熟悉PHP,在如何在分页代码中设置Php $\u GET变量在分页代码中未定义,php,jquery,mysql,ajax,pagination,Php,Jquery,Mysql,Ajax,Pagination,我不熟悉PHP,在如何在分页代码中设置$\u GET或$\u SESSION变量方面,我遇到了一个2周的问题。情况是: 我在index.php页面上有一个值,当我点击该值(例如照片/图像)时,我使用get获取该值,然后当我将该值回显到我的Category.php页面时,该值在我的主体页面中使用“echo”投射正常,但我想要的是当页面加载时,GET变量将是分页代码中的搜索键。但是,当我在分页代码中回显GET变量时,得到的结果是“未定义”,这意味着该变量未在分页代码中定义。这是我的页码。哦,是的,我
$\u GET
或$\u SESSION
变量方面,我遇到了一个2周的问题。情况是:
我在index.php
页面上有一个值,当我点击该值(例如照片/图像)时,我使用get获取该值,然后当我将该值回显到我的Category.php
页面时,该值在我的主体页面中使用“echo”投射正常,但我想要的是当页面加载时,GET变量将是分页代码中的搜索键。但是,当我在分页代码中回显GET变量时,得到的结果是“未定义”,这意味着该变量未在分页代码中定义。这是我的页码。哦,是的,我对我的代码做了更改,而我回来时,我很抱歉,但这是以前的代码,我使用$mycat和GET方法。对不起
<?php
session_start();
$mycat =$_GET['category'];
//PHP code for specific search
$action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:'';
if($action == 'ajax'){
/* Connect To Database*/
$dbname = 'ufile';
$link = mysql_connect("localhost","root","") or die("Couldn't make connection.");
$db = mysql_select_db($dbname, $link) or die("Couldn't select database");
$mycat = htmlspecialchars ($_GET['category']) ? trim($_GET['category']) : ''; //SQL injection protection
include 'pagination.php'; //include pagination file
//pagination variables
$page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1;
$per_page = 10; //how many records you want to show
$adjacents = 4; //gap between pages after number of adjacents
$offset = ($page - 1) * $per_page;
echo 'Result: ' .$mycat; //////////THIS IS THE GET VALUE....WHICH TURNS OUT AS UNDEFINED IN VALUE IT SHOULD BE 'PHOTOS/IMAGES, AUDIOS/VIDEOS or COMPRESSED FILES'....PLEASE HELP ME.
//Count the total number of row in your table*/
$count_query = mysql_query("SELECT COUNT(category) AS numrows FROM udocs WHERE category LIKE '%" . $mycat . "%'"); //Count the number of search result here (tagal kitang hinanap dito ka lng pala)
$row = mysql_fetch_array($count_query);
$numrows = $row['numrows'];
$total_pages = ceil($numrows/$per_page);
$reload = 'cat_index.php';
//main query to fetch the data
$result = mysql_query("SELECT * FROM udocs WHERE category LIKE '%" . $mycat . "%' ORDER BY date_upload LIMIT $offset,$per_page");
//loop through fetched data
while($test = mysql_fetch_array($result)){
$id = $test['file_name'];
$fileid=$test['file_path'];
echo "<div class='content'>";
echo'<div class="img_content" ><img src='.$test['file_icon'].' style=height:50px;width:50px;float:left;margin-right:10px;></div>';
echo"<font color='black'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>Name: </font><font color='yellowgreen'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>" .$test['file_name']."</font><br>";
echo"<font color='black'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>Category: </font><font color='gray'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>" .$test['category']."</font></font><font color='skyblue'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';> | </font><font color='black'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>Size: </font><font color='gray'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>" .$test['file_size']."</font></font><font color='skyblue'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';> | </font><font color='black'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>Credits to: </font><font color='gray'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>" .$test['author']."</font><font color='skyblue'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';> | </font><font color='black'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>Date Uploaded: </font><font color='gray'; font size='2px !important' ;font family='Century Gothic, sans-serif' ;letter spacing='2px';>" .$test['date_upload']."</font><br>";
echo"<font color='black'; font size='2px !important' ;>Description:". $test['description']. "</font><br>";
echo"<a href ='download.php?file_path=$fileid' ><font color='orange' title='$mycat'>Download File</p></a>";
echo "</div>";
}
//BOTTOM
if ($numrows==0)
{
}
else
{
echo paginate($reload, $page, $total_pages, $adjacents);
}
//header('Location:index.php');
//die();
} // end of ajax first condition
else
{
?>
<body>
<?php
echo 'You are searching for: '.$mycat;
?>
</body>
<?php } ?>
如果$\u请求允许您访问参数,但$\u GET不允许,请尝试$\u POST,这意味着使用的HTTP方法是POST而不是GET。检查提交到此脚本的表单/javascript$_请求是一个包含get和post参数(以及cookies!)的全覆盖超全局
我还建议您深入阅读一下HTTP协议,它有助于解决这些问题:)
除了Joren刚才的评论之外,一定要包括您用来访问此页面的URL。正如我在ajax上理解的那样,您可能会得到变量,但当刷新时,您无法正确执行?如果im为true,则应将其存储在会话中,然后首先查看get/request,然后查看会话
轻松点您请求此文件时的URL看起来如何?不知道将什么$mycat
传递到paginate()
,如果您尝试在分页
功能中访问$mycat
将超出范围回送输出将变成未定义的投影到页面…这意味着变量未被读取..但当我用主体回送时..我以照片/图像的形式获取值..我希望此值出现在上面的查询中..charlietfl我只放置了它,但它没有被读取不读…在my index.php中,我得到如下值:“@JorenIn除了上面的答案之外,请不要使用mysql_*API,而是使用mysqli和PDO。mysql_*已被弃用。此外,您的SQL不安全。如果您必须使用mysql API,请使用mysql_real_escape_字符串,而不是trim()和htmlspecialchars()。尝试转换为mysqli/PDO并使用准备好的语句。您好。我尝试了您刚才的建议。。是的!!!!最后我通过会话获得了查询,但我的问题是如何在不使用destroy的情况下取消会话。。我只想在返回index.php时取消会话,因为当我再次返回时,将值更改为““音频/视频”,但它不会改变旧的会话值,即“照片/图像”,请在这方面帮助我…我即将解决我的问题…我在cat_index.php上的会话声明类似于此会话_start();$mycat=$\u GET['category'];if(!isset($\u会话['cid']){$\u会话['cid'=$mycat;}$mycat=$\u会话['cid'];我不建议使用此会话。如果您不知道如何正确使用它们,您将得到奇怪的结果。它无法更改,因为您正在案例中使用它,但您应该使用它(取消宽容)另一个案例。首先您应该检查$\u GET,如果不在$\u GET上,则应查看会话。如果是在GET上,则应在以下情况下设置此案例:(isset($\u GET['cid']){$mycat=$\u GET['cid'];$\u SESSION['cid']=$mycat;}其他{$mycat=$\u SESSION['cid'];}