【问题标题】:Using Session php android使用会话 php android
【发布时间】:2016-04-27 08:50:09
【问题描述】:

在我的 android 应用程序中,我调用 php web 服务。如果用户和密码正确,第一个服务正在检查登录页面,我为这个用户创建一个新会话,我在另一个 php 页面中调用这个变量来处理一些请求..问题是当我从我的android应用程序中调用这个变量时它告诉我:Undefined index :id_utilisateur in c:/wamp..../ajouteroffre.php

我的登录页面是:

  session_start();
  include("mesfonction.php");
  require "init.php";

   $user_name =@$_POST["login_name"]; 
   $user_pass =@$_POST["login_pass"]; 


  $rows  = checkloginConnexion($user_name, $user_pass);
   $count = count($rows);

    if( $count==1 )
    {
    $_SESSION['id_utilisateur']=$rows[0]['ID_User'];
    $_SESSION['profile']=$rows[0]['Profil'];

    $_SESSION['login']=$user_name;
    $_SESSION['pass']=$user_pass;  

    if ($_SESSION['profile'] =='Employeur') 
       {


       echo "Connecte en tant que Employeur..";

        }       

     if ($_SESSION['profile'] =='Chercheur') 
       {
        echo "Connecte en tant que Candidat..";
        }           


      }
     else 
      {
     echo "Erreur:Connexion...Reesseyez!";
     }

    ?>

我的第二页是:

<?php  
 session_start();
 require "init.php";  
 include("mesfonction.php");


 $id_user =$_SESSION["id_utilisateur"];
 $ThisUser = getInfopro($id_user);

?>

感谢您的帮助

【问题讨论】:

  • ajouteroffre.php文件是哪一个?
  • 第二个调用登录页面

标签: php android android-studio


【解决方案1】:

试试下面的代码:-

session_start();
include("mesfonction.php");
require "init.php";
 **Change**
session_start();
ob_start();
include("mesfonction.php");
require "init.php";

【讨论】:

  • 问题是一样的!当我在 localhost 尝试 Web 服务时,它给了我正确的响应,但是在运行我的 android 应用程序时,它显示一条空消息,没有任何错误!
  • include("../mesfonction.php");
【解决方案2】:

我认为您的 android 应用程序没有使用 sessionID 之类的 cookie 请求,因此 Web 服务器找不到会话。

cookie 和会话之间的区别:

会话是包含用户信息的服务器端文件,而 Cookie 是包含用户信息的客户端文件。会话具有将它们映射到特定用户的唯一标识符。此标识符可以在 URL 中传递或保存到会话 cookie 中。

大多数现代网站都使用第二种方法,将标识符保存在 Cookie 中,而不是在 URL 中传递(这会带来安全风险)。您可能在不知情的情况下使用了这种方法,并且通过删除 cookie,您在删除 cookie 中包含的唯一会话标识符时有效地删除了它们的匹配会话。

可以使用OAuth2.0解决问题 http://oauth.net/2/

流程如下:

  • step1:在android app中输入用户名和密码
  • step2:安卓应用 将信息发送到网络服务
  • step3:web服务后 认证,返回一个token给app
  • 第四步:获取其他资源 令牌

【讨论】:

  • 感谢您的帮助,但是当我在 localhost 尝试 Web 服务时,它给了我正确的响应,但是在运行我的 android 应用程序时,它显示一条空消息,没有任何错误!
  • “我在 localhost 上尝试了 Web 服务,它给了我正确的响应”您使用的是浏览器吗?
  • 是的,我在浏览器上对其进行了测试,它给了我存储在 $_SESSION['id_utilisateur'] 中的值 2; ...但是当我从 android 调用它时,它返回一条空消息,没有任何错误
  • 我认为,浏览器会自动维护一个 cookie 但不是 android.so 当你从 android 调用它时,web 服务器没有你是谁
  • 啊清楚!请问您对此有什么想法吗?我该如何解决这个问题!
猜你喜欢
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2019-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多