![](/img/trans.png)
[英]Turn on/off PHP making superglobal array elements available as global variables
[英]Making Variables Global in PHP?
需要使$ courseInfo和$ row為全局,以便可以將它們用於打印標題DIV中的行詳細信息。
不知道如何執行此操作。 任何幫助都會很棒。
<?php
// Get Course ID From Link
$ID = mysql_real_escape_string($_REQUEST['ID']);
// Check the Course ID exists
$courseCheck = mysql_query("SELECT * FROM Courses WHERE CourseID = '".$ID."'");
if (mysql_num_rows($courseCheck) == 1) {
$checkMember = mysql_query("SELECT * FROM CourseMembers WHERE CourseID = '".$ID."' AND UserID = '".$_SESSION['UserID']."'");
if (mysql_num_rows($checkMember) == 1) {
?>
<html>
<head>
<!-- Style Sheets -->
<link rel="stylesheet" href="style/reset.css" type="text/css" media=screen />
<link rel="stylesheet" href="style/style.css" type="text/css" media=screen />
</head>
<body>
<?php
if ($_SESSION['LoggedIn'] == 1){
$courseInfo = mysql_query("SELECT * FROM Courses WHERE CourseID = '".$ID."'");
$row = mysql_fetch_assoc($courseInfo);
?>
<div id="container">
<div id="side">
<?php include("lib/sidebar.php"); ?>
</div>
<div id="main">
<div id="mainbox">
<div id="header"><b><?php echo $row['CourseName']; ?></b></div>
<p>Hello world, this is a test.</p>
</div>
</div>
</div>
<div class="clear"></div>
<?php
}
else {
echo "Not logged in.";
}
}
else {
echo "You are not a member of this Course";
}
}
else {
echo "No Course Found";
}
?>
</body>
我認為它們已經全球化。 “ PHP沒有塊級范圍。”
您可以將它們存儲在會話變量中,類似於$_SESSION['LoggedIn']
您也可以使用php變量$ GLOBALS使變量在所有作用域中可見,但我不建議您在此類任務中使用它。 另外,要注意-$ GLOBALS包含$ _POST和$ _GET之類的超全局變量,在使用ie時應牢記這一點。 遍歷它。 此外,當您可以在范圍較小的函數中訪問$ _GET和$ _POST時,仍然必須使用$ GLOBALS訪問自定義函數。
此類行為的示例:
<?php
error_reporting(-1);
$GLOBALS['_customVar'] = 'foobar';
$GLOBALS['_GET']['id'] = 'myId';
function myFnc() {
echo $_customVar;
}
function myFnc2() {
echo $_GET['id'];
}
myFnc();
myFnc2();
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.