2017-01-25 32 views
0

我在慢慢学习PHP ;-)我很难理解单独的PHP文件如何协同工作。了解PHP文件和AJAX调用

我对所有需要连接到后端(解析)的不同php文件进行AJAX调用。如:

sign_up.php 
login.php 
verify_email.php 
get_something_out_of_the_database.php 

什么是在不同的PHP文件保持登录状态的标准呢? (或什么是它的谷歌搜索术语?)

更新: 感谢您的所有关于'会议'的答案。我工作不太好,所以我做了一个新的question

谢谢!

Remzo

+0

您必须创建一个文件并在其中初始化会话,作为'session_start()'并包含此文件,在需要验证用户身份或提供基于会话的某些事情的任何地方 – samayo

+0

使用[SESSIONS](http://php.net/manual/en/features.sessions.php) –

+0

'保持登录到不同的php文件'如何引导您的应用程序。意思是:每个呼叫都被重定向到'index.php',在那里你可以检查登录等等。那就是框架如何去做。 OldSchool,但也可以工作:使用php的自动加载功能http://php.net/manual/en/ini.core.php#ini.auto-prepend-file,并在那里做检查(少代码工作) – JustOnUnderMillions

回答

0

您可以在一个会话变量保存的登录数据,并在每个新页的开始检查它例如做到这一点。

例如: 您检查登录数据是否有效。然后

session_start(); 
$_SESSION["login"] = $loginname; 

在另一页的开始:

session_start(); 
if(!isset($_SESSION["login"]) || $_SESSION["login"] != "check_somehow") 
{ 
    header("Location: logout.php"); 
    exit; 
} 

用于注销,你可以使用

session_start(); 
session_destroy(); 
+0

谢谢!如果我理解正确,该解决方案将用户数据转换为另一个php文件。但是,假设这个其他的PHP文件需要从数据库中取出某些东西。它是否必须再次登录?然后它会登录两次...? – Remzo

+0

这会启动一个可在所有php文件中使用的会话,现在您可以通过检查diffrerent值(根据您的要求)来验证此会话。您不需要在同一个会话中再次登录 –

+0

我已经尝试了session_start几个小时了。但是...它不适用于我与调用PARSE结合使用。 AAAAAAAHHHHHH。如果我从我的php文件中删除session_start,我可以从Parse数据库中检索信息。然后我没有会话变量。如果我添加session_start()我可以访问会话变量,但我无法连接到解析了。帮帮我 ! ( - ;(我会改变我的问题) – Remzo

0

在用户登录的开始,你可以这样做

session_start(); 
$_SESSION['USER'] = <some user info>; 

在你的其他pa GES你可以看到,如果

if(isset($_SESSION['USER'])){ 
    // do something 

}

最后在注销

session_destroy(); 

将终止会话

+0

谢谢!!如果我理解正确,这个解决方案将用户数据转换成另一个php文件,但假设这个其他php文件需要从数据库中取出某些东西。那么必须再次登录自己,然后登录两次...? – Remzo

1

您应该使用PHP会议。这些是在多个页面之间存储浏览器浏览器信息的方法...

要开始一个会话,首先需要在您打算使用它的每个PHP文件中添加session_start();。通常将它添加到header.php中

然后,您可以使用会话了。

要保存结果:

$_SESSION['some_data'] = $var; 

要在其他网页检索结果,例如:

echo $_SESSION['some_data']; // will echo $var 

更多信息可以在这里找到: http://www.w3schools.com/php/php_sessions.asp