Joomla 웹 사이트에서 PHP GLOBALS 배열을 사용하는 데 문제가 있습니다. 양식이 제출되면 양식 정보의 유효성이 검사되는 곳에서 form_submit 함수가 호출됩니다. 어떤 이유로 든 함수 외부에서 변수에 올바르게 액세스 할 수 있지만 GLOBALS 배열을 통해 변수에 액세스하려고하면 아무 것도 찾을 수 없습니다. ($ 이름)
<?php
//THIS CODE CREATES THE ADD COURSE FORM
//CONNECT TO SERVER
require('../database2/includes/connect.php');
//GET LOGGED IN USER INFO
$user = JFactory::getUser();
$user_id = $user->id;
$user_name = $user->name;
$category_query = $conn->query('SELECT * FROM category');
$category_query->setFetchMode(PDO::FETCH_ASSOC);
$name = $_POST['name'];
$description = $_POST['description'];
$category_id = $_POST['dropdown'];
$crn = $_POST['crn'];
$password_init = $_POST['password_init'];
$password_rt = $_POST['password_rt'];
$password = md5($password_init);
function form_submit()
{
var_dump($GLOBALS['name']); //Dumps null
global $name //Doesn't work either
if (empty($name) || empty($description) || empty($crn) || empty($password_init) || empty($password_rt))
{
echo "<b style='color:red'>* $name</b><br>";
echo "<b style='color:red'>* $description</b><br>";
echo "<b style='color:red'>* $crn</b><br>";
echo "<b style='color:red'>* $password_init</b><br>";
echo "<b style='color:red'>* $password_rt</b><br>";
}
}
if(isset($_POST['Submit']))
{
var_dump($name); //Dumps correct value
form_submit();
}
?>
위해서 var_dump는 form_submit하지 않는 내부의 정확한 값이지만 $ GLOBALS [ '이름'] 출력한다. 내 코드에 어떤 문제가 있습니까?
http://joomla.stackexchange.com/questions/55/whats-the-proper-way-to-get-the-entire-post – Cheery
@Cheery 게시물이 작동합니다. 내가 말했듯이, var_dump ($ name)은 올바른 값을 출력하지만, 내 함수 안에있는 $ var_dump ($ GLOBALS [ 'name'])는 그렇지 않습니다. –