PHP 使用会话登录

2023-12-02

我是 PHP 的初学者。我尝试创建我的 php 登录代码,但遇到了一些问题。如果我访问其他页面,我的网站不会记住我登录过,会话不会保留。

<?php

   $logincontent;

   require_once 'config.php';   

      $logincontent=
        '   <div class="column-1-3">
                <div class="white-box">
                    <div class="box-title">
                        Login
                        <div class="subtitle"><img src="images/subtitle-lets-work-together.png" alt="let\'s work together" /></div>
                        <div class="icon"><img src="images/title-icon-contact.png" alt="" /></div>
                    </div>

                    <div class="box-content fixed-height">
                        <form action="" method="post" class="contact-form">
                            <div>
                                <b>Username</b>
                                <input class="text-input" type="text" name="username" value="" onfocus="clearInput(this);" onblur="restoreInput(this);" /><br/>
                                <b>Password</b>
                                <input class="text-input" type="text" name="password" value="" onfocus="clearInput(this);" onblur="restoreInput(this);" /><br/>                                
                                <div class="align-right">
                                    <span class="blue-button"><span><input type="submit" value="SEND &raquo;" /></span></span>
                                </div>
                                <input type="hidden" name="val" value="checkin">
                            </div>
                        </form>
                    </div>
                </div>
            </div><!--/end .column-1-3 --> ';



   if (isset($_POST["val"])&&($_POST["val"]=='checkin'))
   {
       echo "checkin";
       DBConnect(); 
       $username=$_POST['username']; 
       $password=$_POST['password']; 

       $username = stripslashes($username);
       $password = stripslashes($password);    

       $username = mysql_real_escape_string($username);
       $password = mysql_real_escape_string($password);     

       $sql="SELECT * FROM users WHERE username='$username' and password='$password'";
       $result=mysql_query($sql);

       // Mysql_num_row is counting table row
       $count=mysql_num_rows($result);

       // If result matched $myusername and $mypassword, table row must be 1 row
       if($count==1)
       {
          @session_start();    

          // Register $myusername, $mypassword and redirect to file "login_success.php"
          @session_register('username');
          @session_register('password');
          $_SESSION['username'] = $username;
          $_SESSION['password'] = $password;


       }
       else 
       {
          echo "Wrong Username or Password";
          unset($username);
       }          

   } else
   if ((isset($_POST["val"]))&&($_POST["val"]=='logout'))
   {
      @session_start();
      session_destroy();
   } else
   {

    //echo $logincontent;              
   }

   //if((isset($username))&&(!@session_is_registered($username)))
   @session_start();   
   //if((@session_is_registered('username')))
   if (isset($_SESSION['username']) && isset($_SESSION['password']))
   {
       if (isset($db_conn) == false)
          DBConnect();


       $username=$_SESSION['username'];
       $password=$_SESSION['password'];

       //echo $username;       
       //echo $password;       

       $sql="SELECT * FROM users WHERE username='$username' and password='$password'";
       $result=mysql_query($sql);

       $row = mysql_fetch_array($result);

       $logincontent=
        '   <div class="column-1-3">
                <div class="white-box">
                    <div class="box-title">
                        Welcome back!
                        <div class="subtitle"><img src="images/subtitle-lets-work-together.png" alt="let\'s work together" /></div>
                        <div class="icon"><img src="images/title-icon-contact.png" alt="" /></div>
                    </div>

                    <div class="box-content fixed-height">
                        <form action="" method="post" class="contact-form">
                            <div>
                                Username: <b>'.$row['username'].'</b><br><br>
                                Name: <b>'.$row['name'].'</b><br>';

                                //if (mysql_field_len ($row['avatar'])==0)
                                if (isset($row['avatar']))
                                {
                                   $Link='images/no_avatar.gif';
                                } else
                                { 
                                   $Link=$row['avatar'];
                                }

                                $logincontent=$logincontent."<center>
                                   <div class='avatar-image'><img src='".$Link."' alt='' width='100' height='100'/></div></center><br>".'
                                <div class="align-center">
                                    <span class="blue-button"><span><input type="submit" value="logout" /></span></span>
                                </div>
                                <input type="hidden" name="val" value="logout">'."

                            </div>
                        </form>
                    </div>
                 </div>
             </div><!--/end .column-1-3 --> ";


          }   


?>           

你需要把session_start();在项目中每个文件的开头。

另请注意,自 PHP 5.5 起不推荐使用 mysql_* 函数,并将在将来删除。您应该使用 mysqli* 或 PDO

http://www.php.net/manual/en/book.mysqli.php

http://www.php.net/manual/en/book.pdo.php

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 使用会话登录 的相关文章

  • PHP - 获取base64图像字符串解码并保存为jpg(生成空图像)

    嗨 我实际上是通过 ajax 发送一个 base64 图像字符串到一个 php 脚本 该脚本只是解码字符串并将内容保存为 jpg 文件 但结果是一张空图像 这怎么可能 PHP脚本 uploadedPhotos array photo 1 p
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • zip 文件的校验和

    我目前正在开发一个工具 它上传一组文件 然后使用 md5 校验和将文件与上一批上传的文件进行比较 并告诉您哪些文件已更改 对于常规文件 这工作正常 但某些上传的文件是 zip 存档 即使其中的文件相同 它们几乎总是会发生变化 有没有一种方法
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • 如何解码 eval( gzinflate( base64_decode(

    我已将此代码注入到我的网站中 如何解码尾随字符串 我需要知道发生了什么以及其背后的代码是什么 这应该输出将被执行的代码eval 我希望这就是您正在寻找的
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • 如何仅使用 PHP5 RecursiveDirectoryIterator 类递归显示具有特定文件类型的文件夹和子文件夹

    您好 我正在尝试使用 FilterIterator 上的扩展来获取 RecursiveDirectoryIterator 类 但由于某种原因 它仅在根目录上进行迭代 我的代码是这样的 class fileTypeFilter extends
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el

随机推荐

  • CUDA cudaMalloc

    我已经开始编写一个新的 CUDA 应用程序 然而 我一路上遇到了一个有趣的弯路 对变量 x 调用第一个 cudaMalloc 第一次失败 但是 当我第二次调用它时 它返回 cudaSuccess 最近升级到CUDA 4 0 SDK 这是一个
  • 使用 Amazon-Lex 进行评分/意图置信度

    我尝试使用 amazon lex PostText 获取评分值或意图置信度值 但 json 文件中根本没有响应元素 https docs aws amazon com de de lex latest dg API runtime Post
  • IE 在使用 NTLM 身份验证时随机发送空 POST 正文(使用 Angular 到 Spring)

    我们发现 IE 11 中看似随机的调用缺少 POST 经过进一步检查 来自浏览器的请求包含 NTLM 协商令牌 我们有时也会在 GET 上看到此令牌 但它们不受主体问题的影响 因为它们没有主体问题 Chrome和FF没有这个问题 进一步的调
  • 选择包含 R 中每日最大值的行

    因此 我想对数据框进行子集化以选择具有每日最大值的行 Site Year Day Time Cover Size TempChange ST1 2011 97 0 0 Closed small 0 97 ST1 2011 97 0 5 Cl
  • TFS 2013 获取所有 TFS 组,包括 Windows 组

    我正在做这个TFS 2013 以获得所有TFS组的项目级别许可 但我无法获取 Windows 组 我使用以下代码列出组 var applicationGroups identityManagementService ListApplicat
  • jvisualvm:卡在“正在加载堆转储”屏幕上

    我使用以下命令使用 hprof 创建了一个堆转储文件 java agentlib hprof cp jars trove jar bin com mysite MyApp 这样就成功创建了大约 5MB 的文件 java hprof txt
  • 以声明方式描述自定义控件属性时缺少智能感知

    因此 我已经在这个项目上工作了几天 但一直无法解决为用户控件 ascx 请注意 的自定义内部属性获取智能感知支持的问题 我已经多次看到这个问题的解决方案 使用服务器控件 cs 请注意 在此写出article很好 使用 ascx 控件时 除了
  • 如何消除带括号的表达式中的子选择的歧义?

    我有以下表达式符号 expr OpenParen expr Comma expr Comma CloseParen parenExpr OpenParen simpleSelect CloseParen subSelectExpr 不幸的是
  • 无法使用 TestFlight 安装 xCode 4.3 beta 应用程序

    我刚刚升级到 xCode 4 3 并用它生成了一个 iPad 应用程序的新版本 大约 50 名 Beta 测试人员已经使用了几个月 我像往常一样通过 TestFlight 分发了测试版应用程序 大多数测试人员升级没有问题 但一些测试人员在尝
  • 如何附加和分离 Docker 的进程?

    I can attach to a docker process but Ctrl C doesn t work to detach from it exit basically halts the process 建议的工作流程是什么 让
  • WebSphere MQ 连接调整

    我有一个应用程序 它使用 MDB 激活规范和队列连接工厂从 WMQ 获取 放置消息 该应用程序预计最大负载为 80 tps Websphere Application Server 和 WMQ 都是集群式的 每个应用程序服务器都连接到单独的
  • TF 对象检测 API - 并非所有类都被检测到且行为异常

    Setup ubuntu 16 04 LTS 4 个 vCPU 30GB 内存 nvidia K80 GPU 带 12GB 内存 CUDNN 8 0 x64 TF版本1 3 目标 使用TF对象检测API检测人脸 人物 手枪 步枪 autom
  • 在没有背景附件的情况下将背景渐变扩展到整个身体:已修复

    我想要一个背景渐变 例如 background linear gradient to bottom rgba 0 0 0 0 3 rgba 2 126 174 0 9 在我的文档正文上 它延伸到正文的整个高度 并与正文一起滚动 Using
  • Dart 中 JSON 的序列化和反序列化状态

    我在 C 上的序列化方面有很好的经验 在搜索和测试了一些 Dart 库之后 我觉得总体上没有一个真正令人满意的答案 我想知道 Dart 中 JSON 序列化 反序列化的当前状态 未来我们应该期待什么 这最终会得到语言本身的支持吗 目前的最佳
  • 获取 mPDF 中文本的位置以确定 HTML 元素的垂直高度

    我正在使用 mPDF 类生成 PDF 想知道是否以及如何确定生成的 mPDF 文档中最后一行文本的位置 我需要一个 HTML 框来覆盖文本最后一行和文档下边距之间的任何剩余空间 通过将 html 元素设置为高度 100 它将元素推送到新页面
  • 操作已完成 = YES,但没有由其所在的队列启动

    Overview 有一个异步操作子类 将此操作添加到队列中 我在开始之前取消了此操作 运行时错误 警告 SomeOperation went isFinished YES without being started by the queue
  • 如何创建AVPlayer单例类

    我在用着AVPlayer要从网址播放歌曲 我在视图控制器中初始化并分配它 现在我遇到了问题 当我导航到另一个视图控制器并返回主播放器时 播放歌曲详细信息和滑块更新应该保留 但问题是当我导航时再次到主播放器播放详细信息和滑块更新没有发生 但歌
  • TWICImage,如何设置jpeg压缩质量?

    我使用 Delphi XE 和 TWICImage 类进行图像处理 我想知道是否有办法使用 TWICImage 设置 jpeg 压缩质量 procedure TfrmMain Button2Click Sender TObject var
  • 将 jQuery 与 Shadow dom 结合使用

    这里我用 Shadow dom 创建了元素 some preparing code this createShadowRoot creates shadow root this refers to element 稍后在代码中我将访问我创建
  • PHP 使用会话登录

    我是 PHP 的初学者 我尝试创建我的 php 登录代码 但遇到了一些问题 如果我访问其他页面 我的网站不会记住我登录过 会话不会保留