TEL:400-8793-956
当前位置:程序、服务器

从功能传递ID到另一个在PHP?

提问者: 近期获赞: 浏览人数: 发布时间:2021-01-18 13:13:48

 问:我有PHP MySQL函数,我需要将ID号从一个函数传递给另一个函数,并且每个函数在不同的页面中调用。我正在使用URL传递变量。我不知道这是否可行,但是我可以使用会话以安全的方式传递id以便用户无法操纵URL变量吗?

 
功能1:
 
function select_all_majors() {
            global $connection;
    try {
        $output  = "";
        $output .= "<ul  class=\"\">";
        $sql = "SELECT * FROM `majors`";
        $statement = $connection -> prepare($sql);
        $statement -> execute();
        while ($results = $statement -> fetch(PDO::FETCH_ASSOC)) {
            $major_id   = $results["major_id"];
            $major_name = $results["major_name"];
            $output .= "<li>";
            $output .= "<a href=\"subjects.php?major_id = ";
            $output .= urlencode($major_id) ;
            $output .= "\">";
            $output .= htmlentities($major_name);
            $output .= "</a>";
            $output .= "</li>";
        }
        $output .= "<ul>";
             echo $output;
             return $results;
    } catch(PDOException $error) {
        $sql_error = $error -> getMessage();
        echo "<h4>" . $sql_error . "</h4>";
    }
}
功能2:
 
function find_subjects_for_major() {
    global $connection ;
    //SELECT * FROM `subjects` WHERE `subjects`.`major_id` = 2
    try {       
        $output = "";
        $query = "SELECT * FROM `subjects`";
        $query.= " WHERE `subjects`.`major_id` = 2";
        $statement = $connection->prepare($query);
        $output  .= "<ul>";
        $statement->execute();
        while($results = $statement->fetch(PDO::FETCH_ASSOC)){
        $language_id   = $results["subject_id"];
        $language_name = $results["subject_name"];
        $output   .="<li>";
        $output   .="<a href =\"courses.php\">"; //?id={$language_id}//test.php?languege_id="{echo $result["language_id"];}
        $output   .= htmlentities($language_name)."</li>";
        $output   .="</a>";
        $output   .="</li>";
    }
    $output  .= "</ul>";
    echo $output ;
    return $results;
    } catch(PDOException $error) {
        $sql_error = $error -> getMessage();
        echo "<h4>" . $sql_error . "</h4>";
    }
}
 
答:这两个文件的第一行必须为:
1. <?php
2. session_start()
比您可以使用$ _SESSION [“ id”] = $ id; 从
第二个函数$ id = $ _SESSION [“ id”]中的函数1(在函数1中);或者您可以使用POST(与GET相同,但在网址中不可见)
上一篇: 哪个PHP框架最容易学习?
下一篇: 如果您的应用内容分级被特定国家/地区覆盖,该怎么办?