PHP URL 传参判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP URL 传参判断相关的知识,希望对你有一定的参考价值。

<a href="content.php?category=<$result[result].category>&fage=1">

<a href="content.php?category=<$result[result].sub[category].category>&fage=2">
首先问下 传2个参数 这样写是否是对的

如果不对 还请帮忙指正

这是在 default.html 页面

其次
我把参数 传到 content.php 页面去了

如何在 此页面 以后面的 &fage 做判断
来决定用 category 做查询条件

$select ="select * from link_category where category = '".$_GET["category"]."'";

比如当 fage=1 或者 fage=2 的时候 怎么写这个判断 ???

1,看样子你的不像是原生态的PHP代码
$result[result].sub[category].category
这个就不是很好判断你的这样表示是否正确了。得看的模板或框架规定了。

如果是原生态的PHP代码那么你这个肯定就错误了。
应该是要加引号的。$result[\'result\'].$sub[\'category\'].$category

2,这个问题你难道是问switch?
先把你传递的$_GET["category"]做判断,然后再生成$select咯、
不明白,请留言
参考技术A 1、如果你的<$result[result].category>有效的话,那么你的参数传递应该成功;
2、如果你的table里面有fage这个值的话,只需要在查询语句里面加一个条件,即在where条件后面加“and fage='$_GET[fage]'”。

php 对url 操作类:url拼接get获取页面post获取页面(带传参)

/*
 * @brief url封装类,将常用的url请求操作封装在一起
 * */
class URL{
    private $error;

    public function __construct(){
        $this->error = new ErrorCase();
    }

    /**
     * combineURL
     * 拼接url
     * @param string $baseURL   基于的url
     * @param array  $keysArr   参数列表数组
     * @return string           返回拼接的url
     */
    public function combineURL($baseURL,$keysArr){
        $combined = $baseURL."?";
        $valueArr = array();

        foreach($keysArr as $key => $val){
            $valueArr[] = "$key=$val";
        }

        $keyStr = implode("&",$valueArr);
        $combined .= ($keyStr);
        
        return $combined;
    }

    /**
     * get_contents
     * 服务器通过get请求获得内容
     * @param string $url       请求的url,拼接后的
     * @return string           请求返回的内容
     */
    public function get_contents($url){
        if (ini_get("allow_url_fopen") == "1") {
            $response = file_get_contents($url);
        }else{
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($ch, CURLOPT_URL, $url);
            $response =  curl_exec($ch);
            curl_close($ch);
        }

        //-------请求为空
        if(empty($response)){
            $this->error->showError("50001");
        }

        return $response;
    }

    /**
     * get
     * get方式请求资源
     * @param string $url     基于的baseUrl
     * @param array $keysArr  参数列表数组      
     * @return string         返回的资源内容
     */
    public function get($url, $keysArr){
        $combined = $this->combineURL($url, $keysArr);
        return $this->get_contents($combined);
    }

    /**
     * post
     * post方式请求资源
     * @param string $url       基于的baseUrl
     * @param array $keysArr    请求的参数列表
     * @param int $flag         标志位
     * @return string           返回的资源内容
     */
    public function post($url, $keysArr, $flag = 0){

        $ch = curl_init();
        if(! $flag) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
        curl_setopt($ch, CURLOPT_POST, TRUE); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $keysArr); 
        curl_setopt($ch, CURLOPT_URL, $url);
        $ret = curl_exec($ch);

        curl_close($ch);
        return $ret;
    }
}

 

以上是关于PHP URL 传参判断的主要内容,如果未能解决你的问题,请参考以下文章

针对功能权限(url访问)如何避免越权访问

PHP利用get_headers()函数判断远程的url地址是否有效

PHP判断远程图片或文件或url是否存在-180

PHP判断URL地址百度是否已经收录并主动提交

php filter_var函数判断邮箱,url,ip格式

php 判断文件和路径是否存在