PHPログイン関数の書き方

Jun 05, 2018 pm 05:50 PM
ajax mysql php ログイン

この記事では主にPHPのログイン関数の書き方を紹介しますので、興味のある方は参考にしていただければ幸いです。

具体的なコードは次のとおりです:

1 login.php
ログインインターフェイスでは、JavaScript スクリプトが ajax を使用して dologin.php を非同期にリクエストします。dologin.php はユーザー情報の検証 (検証コード、PHP を含む) を担当します。認証コードを生成し、自身で検索可能) ログインインターフェースのコードは次のとおりです:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

<?php session_start();?>

<!DOCTYPE html>

<html>

 <head>

 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

 <title>login</title>

 <link rel="stylesheet" type="text/css" href="CSS/login.css" />

 <script src="JS/ajaxhelper.js" type="text/javascript"></script>

 <script src="JS/jquery-1.3.2.min.js" type="text/javascript"></script>

 <script type="text/javascript">

  function chkForm() {

   if (m$(&#39;username&#39;).value == "") {

 

    alert(&#39;用户名不能为空.&#39;);

    m$(&#39;username&#39;).focus();

    return false;

 

   }

   if (m$(&#39;password&#39;).value == "") {

 

    alert(&#39;密码不能为空.&#39;);

    m$(&#39;password&#39;).focus();

    return false;

 

   }

   if (m$(&#39;password&#39;).value != "" && m$(&#39;username&#39;).value != "") {

 

    var xmlhttp = createRequest();

    if (xmlhttp) {

     m$(&#39;loading&#39;).innerHTML = "<font color=&#39;red&#39;>loading...</font>";

     var username = m$(&#39;username&#39;).value;

     var pwd = m$(&#39;password&#39;).value;

     var code = m$(&#39;txtCode&#39;).value;

     var url = "dologin.php";

     xmlhttp.open("POST", url, true);

     xmlhttp.onreadystatechange = ValidateResult;

     xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

     xmlhttp.send("username=" + escape(username) + "&password=" + escape(pwd) + "&code=" + escape(code));

 

    } else {

     alert(&#39;xmlHttp创建失败.&#39;);

 

    }

 

    function ValidateResult() {

     if (xmlhttp.readyState == 4) {

      if (xmlhttp.status == 200) {

       if (xmlhttp.responseText != "") {

 

        //window.alert(xmlhttp.responseText);

        var obj = eval("(" + xmlhttp.responseText + ")");

        if (obj.result == true) {

         alert("提示:" + obj.info);

         window.location = &#39;index.php&#39;;

 

        } else {

         alert("错误:" + obj.info);

 

        }

       } else {

        window.alert("从服务器获取失败");

 

        window.location.reload();

       }

       m$(&#39;loading&#39;).innerHTML = "";

      }

     }

 

    }

 

 

   }

 

  }

 

  function m$(id) {

   return document.getElementById(id);

  }

 

  function changeCode() {

   var xmlhttp = createRequest();

   if (xmlhttp) {

    m$(&#39;loading&#39;).innerHTML = "<font color=&#39;red&#39;>loading...</font>";

    var dt = new Date().getTime();

    // alert(dt);

    var url = "function/imagecode.php?dummay" + escape(dt);

    xmlhttp.open("GET", url, true);

    xmlhttp.onreadystatechange = ValidateResult;

    xmlhttp.send(null);

 

   } else {

    alert(&#39;xmlHttp创建失败.&#39;);

 

   }

 

   function ValidateResult() {

    if (xmlhttp.readyState == 4) {

     if (xmlhttp.status == 200) {

      var dt = new Date().getTime();

      var url = "function/imagecode.php?dummay" + escape(dt);

      m$(&#39;imgCode&#39;).src = "function/imagecode.php?dummay" + escape(dt);

      m$(&#39;loading&#39;).innerHTML = "";

     }

    }

 

   }

  }

 

  function showTool() {

   $(&#39;#pToolTip&#39;).css("display", "block");

  }

 

  function hideTool() {

   $(&#39;#pToolTip&#39;).css("display", "none");

  }

  window.onload = initPage;

 

  function initPage() {

   $(&#39;#pToolTip&#39;).css("display", "none");

  }

 </script>

 </head>

 <body>

 <p style="background-color:#2A3F55; height:80px;">

   

 </p>

 <p style="min-height:500px;">

   

  <p class="left">

   

  <p style="margin:120px auto auto auto; height:300px; text-align:left">

   <p style="font-size:26px;color:#2A3F55; text-align:center;">Ajax PHP Demo System

   <img src="Images/appstorm-icon.png" alt="appcation storm image" style="position:relative;top:-18px; left:-12px;         vertical-align:middle; text-align:center;font-size:10px; width:65px; height:46px;"/>

   </p>

   <br/>

   <hr style="border:dashed thin #2A3F55;width:70%; text-align:center;"/>

   <p style="font-size:13px;color:#999999; margin:20px auto 0 auto; padding-left:200px;">

   Author:<a href="#" onmousemove="showTool();" onmouseout="hideTool();">wangming</a>

   </p>

   <p style="font-size:13px;color:#999999;margin:20px auto auto auto; padding-left:200px;">DateTime:2009-9-1</p>

   <p style="font-size:13px;color:#999999;margin:20px auto auto auto; padding-left:200px;">Version:1.0.0</p>

   <p style="font-size:13px;color:#999999;margin:20px auto auto auto; padding-left:200px;">Email:wangmingemail@163.com     </p>

   <p id="pToolTip">

   <img src="Images/ming.jpg" height="86px;"/>

   <span class="authordes">

    <br/>

    姓名:wangming<br/>

    电商06-2<br/>

   </span>

    

   </p>

    

  </p>

   

  </p>

   

  <p class="right">

   

  <form>

   <br/>

   <table class="flogin">

   <tr>

    <td>用户名:</td>

    <td><input type="text" name="username" id="username"/></td>

    <td></td>

   </tr>

   <tr>

    <td>密   码:</td>

    <td><input type="password" name="password" id="password" /></td>

    <td></td>

   </tr>

   <tr>

    <td>验证码:</td>

    <td>

    <input type="text" name="txtCode" id="txtCode" size="12" />

    <img src="function/imagecode.php" id="imgCode" alt="image code" height="22px;" style=" vertical-align:bottom;"/>

    </td>

    <td><input type="button" class="btnrefresh" onclick="changeCode();" /></td>

   </tr>

   <tr>

    <td></td>

    <td><input type="button" class="btnlogin" onclick="chkForm();" /></td>

    <td></td>

   </tr>

   <tr>

    <td></td>

    <td><span id="loading"></span></td>

    <td><span id="code"></span></td>

   </tr>

    

   </table>

  </form>

  </p>

   

 </p>

 <p style="background-color:#2A3F55; height:60px; margin:auto 0 0 0; clear:both; text-align:center; line-height:60px; color:#FFFFFF;font-size:12px;">

  ©Copyright 2015.

 </p>

 </body>

</html>

ログイン後にコピー

2 ajaxhelper.js

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

function createRequest() {

 try {

  request = new XMLHttpRequest();

 } catch (tryMS) {

  try {

   request = new ActiveXObject("Msxml2.XMLHTTP");

  } catch (otherMS) {

   try {

    request = new ActiveXObject("Microsoft.XMLHTTP");

   } catch (failed) {

    request = null;

   }

  }

 }

 return request;

}

 

function getActivatedObject(e) {

 var obj;

 if (!e) {

  // early version of IE

  obj = window.event.srcElement;

 } else if (e.srcElement) {

  // IE 7 or later

  obj = e.srcElement;

 } else {

  // DOM Level 2 browser

  obj = e.target;

 }

 return obj;

}

 

function addEventHandler(obj, eventName, handler) {

 if (document.attachEvent) {

  obj.attachEvent("on" + eventName, handler);

 } else if (document.addEventListener) {

  obj.addEventListener(eventName, handler, false);

 }

}

ログイン後にコピー

3 dologin.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<?php

 session_start();

 header("Content-type:text/html;charset=gb2312");//防止返回的中文乱码

 $name=$_POST[&#39;username&#39;];

 $pwd=$_POST[&#39;password&#39;];

 $imagecode=$_POST[&#39;code&#39;];

 if(strtoupper($imagecode)==$_SESSION["code"])

 {

  include("conn/conn.php");

  $sql="select studentName,studentPwd from tbstudent where studentId=&#39;".$name."&#39;";

  $result=mysql_query($sql,$conn);

  if($row=mysql_fetch_assoc($result))

  {

   if($pwd==$row[&#39;studentPwd&#39;])

   {

   $_SESSION[&#39;username&#39;]=$row[&#39;studentName&#39;];

   //echo "{&#39;result&#39;:true,&#39;info&#39;:&#39;登陆成功!&#39;,&#39;code&#39;:&#39;".$_SESSION["code"]."&#39;}";

   echo "{&#39;result&#39;:true,&#39;info&#39;:&#39;登陆成功!&#39;}";

    

   }

   else

   {

   echo "{&#39;result&#39;:false,&#39;info&#39;:&#39;密码错误!&#39;}";

   }

  }

  else

  {

   echo "{&#39;result&#39;:false,&#39;info&#39;:&#39;该用户不存在!&#39;}";

  }

 }

 else

 {

  echo "{&#39;result&#39;:false,&#39;info&#39;:&#39;验证码错误!&#39;}";

 }

?>

ログイン後にコピー

4 conn.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

<?php

 $conn=$mysql_connect("localhost","root", "");

 mysql_select_db("bbs",$conn);

 mysql_query("SET NAMES GB2312");

 ?>

 5

 <?php

class Users {

 function Users() {

 }

 function checkLogin($username, $userpwd) {

  try {

   mysql_connect("localhost", "root", "123");

   mysql_select_db("studentdb");

   mysql_query("SET NAMES GB2312");

   $sql = "select userid from tbuser where username=&#39;$username&#39; and userpwd=&#39;" . md5(trim($userpwd)) . "&#39;";

   $result = mysql_query($sql);

   if ($result) {

    $arr = mysql_fetch_row($result);

    $uid = $arr[0];

    if ($uid != "") {

     return "true|$uid login ok.$sql";

     mysql_close();

    } else {

     return "false|login failed!$sql";

     mysql_close();

    }

   } else {

    return "false|$result link db failed!";

    mysql_close();

   }

  }

  catch(Exception $ex) {

   return "false|$ex";

   mysql_close();

  }

 }

 function AddUser($name, $pwd) {

  try {

   mysql_connect("localhost", "root", "123");

   mysql_select_db("studentdb");

   mysql_query("set names gb2312");

   $sql0 = mysql_query("select userid from tbuser where username=&#39;$name&#39;");

   $info0 = mysql_fetch_array($sql0);

   $userid = $info0[0];

   if ($info0 != false) {

    return "false | $name is exisis.(id:$userid)";

   }

   $pwd = md5(trim($pwd));

   $query = mysql_query("insert into tbuser(username,userpwd)values(&#39;$name&#39;,&#39;$pwd&#39;)");

   $error = mysql_errno();

   if ($query) {

    return "true | add ok";

   } else {

    return "false | $error";

   }

  }

  catch(Exception $ex) {

   return "false | $ex";

  }

 }

 function DeleteUser($name) {

  mysql_connect("localhost", "root", "123");

  mysql_select_db("studentdb");

  mysql_query("set names gb2312");

  $name = trim($name);

  $sql0 = mysql_query("select userid from tbuser where username=&#39;$name&#39;");

  $info0 = mysql_fetch_array($sql0);

  if ($info0 != false) {

   if (mysql_query("delete from tbuser where username=&#39;$name&#39;")) {

    return "true | delete ok.(id:" . $info0[0] . ")";

   } else {

    return "false | 删除失败";

   }

  } else {

   return "false | 删除失败 $name 不存在";

  }

 }

 function UpdateUser($id, $name, $pwd) {

  if (is_numeric(intval(trim($id)))) {

   if ($id && $name && $pwd) {

    mysql_connect("localhost", "root", "123");

    mysql_select_db("studentdb");

    mysql_query("set names gb2312");

    $pwd = md5(trim($pwd));

    $isexists = mysql_query("select * from tbuser where userid=&#39;$id&#39;");

    if (mysql_fetch_array($isexists)) {

     $sql0 = mysql_query("update tbuser set username=&#39;$name&#39;,userpwd=&#39;$pwd&#39; where userid= $id");

     if ($sql0) {

      return "ture | update ok";

     } else {

      return "false | 更新失败";

     }

    } else {

     return "false | usrid=$id not exists.";

    }

   } else {

    return "false |id=$id name=$name and pwd=$pwd .At least one of them is null.";

   }

  } else {

   return "false | $id is not type of int.";

  }

 }

}

?>

ログイン後にコピー

概要: 以上がこの記事の全内容です。皆様のお役に立てれば幸いです。

関連する推奨事項:

php 無限分類木のデータ整形コード例の詳細説明

二次元配列からN層分類木を取得するPHP実装方法

php 2つの部分を読み取るfseek実装関数大きなファイルの方法

以上がPHPログイン関数の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQLおよびPHPMYADMIN:コア機能と関数 MySQLおよびPHPMYADMIN:コア機能と関数 Apr 22, 2025 am 12:12 AM

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

MySQLの外国キーの目的を説明してください。 MySQLの外国キーの目的を説明してください。 Apr 25, 2025 am 12:17 AM

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

IISとPHPの互換性:ディープダイビング IISとPHPの互換性:ディープダイビング Apr 22, 2025 am 12:01 AM

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

mysqlとmariadbを比較対照します。 mysqlとmariadbを比較対照します。 Apr 26, 2025 am 12:08 AM

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

session_start()が複数回呼び出されるとどうなりますか? session_start()が複数回呼び出されるとどうなりますか? Apr 25, 2025 am 12:06 AM

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

SQL対MySQL:2つの関係を明確にします SQL対MySQL:2つの関係を明確にします Apr 24, 2025 am 12:02 AM

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

MySQL:データベース、phpmyAdmin:管理インターフェイス MySQL:データベース、phpmyAdmin:管理インターフェイス Apr 29, 2025 am 12:44 AM

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

作曲家:AIを介したPHP開発の援助 作曲家:AIを介したPHP開発の援助 Apr 29, 2025 am 12:27 AM

AIは、作曲家の使用を最適化するのに役立ちます。特定の方法には次のものが含まれます。1。依存関係管理の最適化:AIは依存関係を分析し、最適なバージョンの組み合わせを推奨し、競合を減らします。 2。自動コード生成:AIは、ベストプラクティスに準拠したComposer.jsonファイルを生成します。 3.コードの品質を改善する:AIは潜在的な問題を検出し、最適化の提案を提供し、コードの品質を向上させます。これらの方法は、開発者が効率とコードの品質を向上させるのに役立つ機械学習および自然言語処理技術を通じて実装されています。

See all articles