这是我的问题:我有一个包含本地函数 (VRC_Header.php) 的文件。这里是:
function sec_session_start() {
$session_name = 'sec_session_id'; //set a custom session name
$secure = false; //set to true if using https
$httponly = true; //This stops javascript being able to access the session id
ini_set('session.use_only_cookies', 1); // Forces sessions to only use cookies
$cookieParams = session_get_cookie_params(); //Gets currtent cookies params
session_set_cookie_params($cookieParams["lifetime"], $cookieParams["domain"], $secure, $httponly);
session_name($session_name); //Sets the session name to the one set above
session_start(); //Start the php session
session_regenerate_id(); //regernates the session, delete the old one
}
这很简单。我在每个公共页面中都包含此文件。例如,
include_once('VRC_Header.php');
include_once('../Classes/VRC_MasterOO.php');
include_once('../Classes/VRC_Secure_Login.php');
//Start a secure session
sec_session_start();
我的问题发生在我的登录页面和php
处理页面之间。提交是通过 postjQuery
函数进行的。第二页包含与上面相同的代码:
include_once('VRC_Header.php');
include_once('../Classes/VRC_MasterOO.php');
include_once('../Classes/VRC_Secure_Login.php');
//Start a secure session
sec_session_start();
不幸的是,我的 jQuery 函数回复了这个:
致命错误:无法在 E:\Additional Programs\xampp\htdocs\Vista_Ridge_Territory_System\PHP\Scripts 中重新声明 sec_session_start()(之前在 E:\Additional Programs\xampp\htdocs\Vista_Ridge_Territory_System\PHP\Scripts\VRC_Header.php:14 中声明) \VRC_Header.php 第 24 行
请注意,我的 jQuery 函数提供了回复——这意味着我相信问题存在于第二个文件中。因此,“不能重新声明”。为什么会这样?我以前在本地函数中没有遇到过这个问题。
任何输入表示赞赏。
注意:我已经删除了两个文件中的包含函数。如果我这样做,PHP
会引发另一个错误:“ sec_session_start()
”未定义。
中间 jQuery 函数:
$(document).ready(function () {
$('.login-form').submit(function (e) {
e.preventDefault();
$('#reply').remove();
var formData = $(this).serialize();
$("input").prop("disabled", true);
request = $.post('VRC_LoginProcess.php', formData, loginMessage);
request.fail(function() {
$('.header').append("<span id=\"reply\">Login Failed. Please try again in a few minutes.</ span>"); });
function loginMessage(data) {
$('.header').append("<span id=\"reply\">" + data + "</ span>");
$("input").prop("disabled", false);
}
});
});