0

在我检查登录数据是否正确后,我不知道如何访问主页 index.php 并使用 javascript 函数显示一些 div。我在用户单击提交按钮后运行 login.php 脚本,如果用户数据正确,我想用 javascript 显示一些 div 并留在 index.php 页面上。我使用 javascript 函数和 php 中的 header(location: ./index.php) 尝试了这个,但它没有用。

我的代码:

if($name == $username && $pass == $password){
    echo '<script type="text/javascript">'
        , 'showDiv();'
        , '</script>';
    header("Location: ./index.php");
}
4

6 回答 6

0
if($name == $username && $pass == $password)
    $_SESSION['login'] = true;

现在在代码中的任何地方首先启动会话并检查登录名会话变量。

session_start();
if (isset($_SESSION['login'] ) && $_SESSION['login'] === true)
{
   //do what logged in user require 
}
else
{
  // redirect them to login page with proper error.
}
于 2013-05-25T09:32:46.997 回答
0

实际上,一旦用户单击提交按钮,您需要使用一些 Jquery 和 Ajax 调用才能不刷新页面。

您需要的代码是这样的:

$.ajax({
   'url': 'http://yourdomain.com/authentication_script.php',
   'beforeSend': function(xhr) {
    xhr.setRequestHeader("Authentication", "Basic " + encodeBase64(username + ":" + password)
  },
  sucess: function(result) {
   alert('authenticated'); // here you can add some other functions to execute once authenticated
}
});

这个想法是,您应该注意在身份验证脚本中还应该包含会话变量并跟踪用户数据,只要您/他想要/s。

于 2013-05-25T10:07:52.047 回答
0

放在你的和文件session_start();的顶部,然后把它放在你的文件中:login.phpindex.phplogin.php

if ($name == $username && $pass == $password) { 
    $_SESSION['authenticated'] = true;
    header("Location: ./index.php");
}

然后,在您的index.php文件中,执行以下操作以查看用户是否已登录:

if (isset($_SESSION['authenticated']) && $_SESSION['authenticated']) {
    echo '<script type="text/javascript">'
    . 'showDiv();'
    . '</script>'; # If you want your div to show on your index.php
}
于 2013-05-25T09:51:07.773 回答
0

你必须写 session_start(); 在 login.php 文件的第一行。因为有时它有问题。

session_start(); // line 1 in login.php

if($name == $username && $pass == $password)
{ 
  $_SESSION['mydata'] = $username;
  header("Location: ./index.php");
}
于 2013-05-25T10:01:39.667 回答
0

在你的 login.php 中写下这个。

session_start();

if($name == $username && $pass == $password){ 
    $_SESSION['somevalue'] = $username;
    header("Location: ./index.php");
}

在 index.php 你需要检查你的会话是否设置?如果设置显示你的 div 与 javascript 代码。

session_start();

if(isset($_SESSION['somevalue']))
{
    //show your div code here.
}
于 2013-05-25T09:26:18.790 回答
0

您使用的方式似乎很奇怪。更好的方法是使用 SESSION 变量来存储登录信息(当用户登录时)并在检查 SESSION 变量后显示内容,如下所示:-

if(isset($_SESSION['somevalue']))
{
echo 'whatever you want';
}
于 2013-05-25T09:14:40.450 回答