宣乾 發表於 2021-4-6 13:30:00

PHP+mysql的登陆与注册

<h2 style="text-align: center">PHP+mysql的登陆与注册</h2>
<p>图1:<br><img src="https://img-blog.csdnimg.cn/20190518081754429.png" alt="在这里插入图片描述"><br>图2:<br><img src="https://img-blog.csdnimg.cn/20190518081814131.png" alt="在这里插入图片描述"><br>图3:<br><img src="https://img-blog.csdnimg.cn/20190518081826935.png" alt="在这里插入图片描述"><br>教程:<br>实现这个功能我们需要五个php文件:</p>
<p>login.php<br>(登录界面,如图2)</p>
<div class="cnblogs_code">
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;&lt;head&gt;
&lt;title&gt;登录&lt;/title&gt;
&lt;meta name="content-type"; charset="UTF-8"&gt;
&lt;/head&gt;&lt;body&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="content" align="center"&gt; &lt;!--头部--&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="header"&gt; &lt;h1&gt;登录页面&lt;/h1&gt; &lt;/div&gt;
&lt;!--中部--&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="middle"&gt;
&lt;form id="loginform" action="loginaction.php" method="post"&gt;
&lt;table border="0"&gt; &lt;tr&gt;
    &lt;td&gt;用户名:&lt;/td&gt;
&lt;td&gt; &lt;input type="text" id="name" name="username"<span style="color: rgba(0, 0, 0, 1)">
required</span>="required" value="<span style="color: rgba(0, 0, 0, 1)">&lt;?php
echo isset(</span><span style="color: rgba(128, 0, 128, 1)">$_COOKIE</span>[""]) ? <span style="color: rgba(128, 0, 128, 1)">$_COOKIE</span>[""] : ""; ?&gt;"&gt; &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;密   码:&lt;/td&gt; &lt;td&gt;&lt;input type="password" id="password" name="password"&gt;&lt;/td&gt;
&lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt; &lt;input type="checkbox" name="remember"&gt;&lt;small&gt;记住我 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;<span style="color: rgba(0, 0, 0, 1)">td
colspan</span>="2" align="center" style="color:red;font-size:10px;"&gt; &lt;!--提示信息--&gt; &lt;?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(128, 0, 128, 1)">$err</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_GET</span>["err"]) ? <span style="color: rgba(128, 0, 128, 1)">$_GET</span>["err"] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">switch</span> (<span style="color: rgba(128, 0, 128, 1)">$err</span><span style="color: rgba(0, 0, 0, 1)">) {
    </span><span style="color: rgba(0, 0, 255, 1)">case</span> 1:
      <span style="color: rgba(0, 0, 255, 1)">echo</span> "用户名或密码错误!"<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;

    </span><span style="color: rgba(0, 0, 255, 1)">case</span> 2:
      <span style="color: rgba(0, 0, 255, 1)">echo</span> "用户名或密码不能为空!"<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;
} </span>?&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" align="center"&gt;
&lt;input type="submit" id="login" name="login" value="登录"&gt; &lt;input type="reset" id="reset"<span style="color: rgba(0, 0, 0, 1)">
name</span>="reset" value="重置"&gt; &lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt;
    &lt;td colspan="2" align="center"&gt; 还没有账号,快去&lt;a href="register.php"&gt;注册&lt;/a&gt;吧&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;!--脚部--&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="footer"&gt; &lt;small&gt;Copyright &amp;<span style="color: rgba(0, 128, 128, 1)">copy</span>; 版权所有·欢迎翻版 &lt;/div&gt; &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;   </pre>
</div>
<p>loginaction.php<br>(使login.php实现与数据库的连接,并校正输入)</p>
<div class="cnblogs_code">
<pre>&lt;?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> $Id:$ //声明变量</span>
<span style="color: rgba(128, 0, 128, 1)">$username</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['username']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['username'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$password</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['password']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['password'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$remember</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['remember']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['remember'] : ""; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断用户名和密码是否为空</span>
<span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 255, 1)">empty</span>(<span style="color: rgba(128, 0, 128, 1)">$username</span>) &amp;&amp; !<span style="color: rgba(0, 0, 255, 1)">empty</span>(<span style="color: rgba(128, 0, 128, 1)">$password</span>)) { <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">建立连接</span>
    <span style="color: rgba(128, 0, 128, 1)">$conn</span> = <span style="color: rgba(0, 128, 128, 1)">mysqli_connect</span>('localhost', '', '', 'user'); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">准备SQL语句</span>
    <span style="color: rgba(128, 0, 128, 1)">$sql_select</span> = "SELECT username,password FROM usertext WHERE username = '<span style="color: rgba(128, 0, 128, 1)">$username</span>' AND password = '<span style="color: rgba(128, 0, 128, 1)">$password</span>'"; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">执行SQL语句</span>
    <span style="color: rgba(128, 0, 128, 1)">$ret</span> = <span style="color: rgba(0, 128, 128, 1)">mysqli_query</span>(<span style="color: rgba(128, 0, 128, 1)">$conn</span>, <span style="color: rgba(128, 0, 128, 1)">$sql_select</span><span style="color: rgba(0, 0, 0, 1)">);
    </span><span style="color: rgba(128, 0, 128, 1)">$row</span> = <span style="color: rgba(0, 128, 128, 1)">mysqli_fetch_array</span>(<span style="color: rgba(128, 0, 128, 1)">$ret</span>); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断用户名或密码是否正确</span>
    <span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$username</span> == <span style="color: rgba(128, 0, 128, 1)">$row</span>['username'] &amp;&amp; <span style="color: rgba(128, 0, 128, 1)">$password</span> == <span style="color: rgba(128, 0, 128, 1)">$row</span>['password'<span style="color: rgba(0, 0, 0, 1)">])
    { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">选中“记住我”</span>
      <span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$remember</span> == "on"<span style="color: rgba(0, 0, 0, 1)">)
      { </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建cookie</span>
            <span style="color: rgba(0, 128, 128, 1)">setcookie</span>("", <span style="color: rgba(128, 0, 128, 1)">$username</span>, <span style="color: rgba(0, 128, 128, 1)">time</span>() + 7 * 24 * 3600<span style="color: rgba(0, 0, 0, 1)">);
      } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">开启session</span>
      <span style="color: rgba(0, 128, 128, 1)">session_start</span>(); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">创建session</span>
      <span style="color: rgba(128, 0, 128, 1)">$_SESSION</span>['user'] = <span style="color: rgba(128, 0, 128, 1)">$username</span>; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">写入日志</span>
      <span style="color: rgba(128, 0, 128, 1)">$ip</span> = <span style="color: rgba(128, 0, 128, 1)">$_SERVER</span>['REMOTE_ADDR'<span style="color: rgba(0, 0, 0, 1)">];
      </span><span style="color: rgba(128, 0, 128, 1)">$date</span> = <span style="color: rgba(0, 128, 128, 1)">date</span>('Y-m-d H:m:s'<span style="color: rgba(0, 0, 0, 1)">);
      </span><span style="color: rgba(128, 0, 128, 1)">$info</span> = <span style="color: rgba(0, 128, 128, 1)">sprintf</span>("当前访问用户:%s,IP地址:%s,时间:%s /n", <span style="color: rgba(128, 0, 128, 1)">$username</span>, <span style="color: rgba(128, 0, 128, 1)">$ip</span>, <span style="color: rgba(128, 0, 128, 1)">$date</span><span style="color: rgba(0, 0, 0, 1)">);
      </span><span style="color: rgba(128, 0, 128, 1)">$sql_logs</span> = "INSERT INTO logs(username,ip,date) VALUES('<span style="color: rgba(128, 0, 128, 1)">$username</span>','<span style="color: rgba(128, 0, 128, 1)">$ip</span>','<span style="color: rgba(128, 0, 128, 1)">$date</span>')"<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">日志写入文件,如实现此功能,需要创建文件目录logs</span>
      <span style="color: rgba(128, 0, 128, 1)">$f</span> = <span style="color: rgba(0, 128, 128, 1)">fopen</span>('./logs/' . <span style="color: rgba(0, 128, 128, 1)">date</span>('Ymd') . '.log', 'a+'<span style="color: rgba(0, 0, 0, 1)">);
      </span><span style="color: rgba(0, 128, 128, 1)">fwrite</span>(<span style="color: rgba(128, 0, 128, 1)">$f</span>, <span style="color: rgba(128, 0, 128, 1)">$info</span><span style="color: rgba(0, 0, 0, 1)">);
      </span><span style="color: rgba(0, 128, 128, 1)">fclose</span>(<span style="color: rgba(128, 0, 128, 1)">$f</span>); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">跳转到loginsucc.php页面</span>
      <span style="color: rgba(0, 128, 128, 1)">header</span>("Location:loginsucc.php"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">关闭数据库,跳转至loginsucc.php</span>
      <span style="color: rgba(0, 128, 128, 1)">mysqli_close</span>(<span style="color: rgba(128, 0, 128, 1)">$conn</span><span style="color: rgba(0, 0, 0, 1)">);
    }
    </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
    {
      </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">用户名或密码错误,赋值err为1</span>
      <span style="color: rgba(0, 128, 128, 1)">header</span>("Location:login.php?err=1"<span style="color: rgba(0, 0, 0, 1)">);
    }
} </span><span style="color: rgba(0, 0, 255, 1)">else</span> { <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">用户名或密码为空,赋值err为2</span>
    <span style="color: rgba(0, 128, 128, 1)">header</span>("Location:login.php?err=2"<span style="color: rgba(0, 0, 0, 1)">);
} </span>?&gt;</pre>
</div>
<p>loginsucc.php<br>(登录成功后界面,如图3)</p>
<div class="cnblogs_code">
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;登录成功&lt;/title&gt;
&lt;meta name="content-type"<span style="color: rgba(0, 0, 0, 1)">;
charset</span>="UTF-8"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
&lt;?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> $Id:$ //开启session</span>
<span style="color: rgba(0, 128, 128, 1)">session_start</span>(); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">声明变量</span>
<span style="color: rgba(128, 0, 128, 1)">$username</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_SESSION</span>['user']) ? <span style="color: rgba(128, 0, 128, 1)">$_SESSION</span>['user'] : ""; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断session是否为空</span>
<span style="color: rgba(0, 0, 255, 1)">if</span> (!<span style="color: rgba(0, 0, 255, 1)">empty</span>(<span style="color: rgba(128, 0, 128, 1)">$username</span>)) { ?&gt;
&lt;h1&gt;登录成功!&lt;/h1&gt;<span style="color: rgba(0, 0, 0, 1)"> 欢迎您!
</span>&lt;?<span style="color: rgba(0, 0, 0, 1)">php
    </span><span style="color: rgba(0, 0, 255, 1)">echo</span> <span style="color: rgba(128, 0, 128, 1)">$username</span>; ?&gt;
&lt;br/&gt; &lt;a href="login.php"&gt;退出&lt;/a&gt; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">跳转至主网页</span>
&lt;?<span style="color: rgba(0, 0, 0, 1)">php
} </span><span style="color: rgba(0, 0, 255, 1)">else</span> { <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">未登录,无权访问</span>
   ?&gt;
&lt;h1&gt;你无权访问!!!&lt;/h1&gt;
&lt;?<span style="color: rgba(0, 0, 0, 1)">php
} </span>?&gt; &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
</div>
<p>register.php<br>(注册界面,如图1)</p>
<div class="cnblogs_code">
<pre>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;&lt;title&gt;注册&lt;/title&gt;
&lt;meta name="content-type"; charset="UTF-8"&gt;
&lt;/head&gt;&lt;body&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="content" align="center"&gt; &lt;!--头部--&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="header"&gt; &lt;h1&gt;注册页面&lt;/h1&gt; &lt;/div&gt; &lt;!--中部--&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="middle"&gt;
&lt;form action="registeraction.php" method="post"&gt; &lt;table border="0"&gt;
&lt;tr&gt; &lt;td&gt;用户名:&lt;/td&gt;
&lt;td&gt;&lt;input type="text" id="id_name" name="username" required="required"&gt;&lt;/td&gt;
&lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;密   码:&lt;/td&gt; &lt;td&gt;&lt;input type="password" id="password" name="password"<span style="color: rgba(0, 0, 0, 1)">
required</span>="required"&gt;&lt;/td&gt;
&lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;重复密码:&lt;/td&gt; &lt;td&gt;&lt;input type="password" id="re_password"<span style="color: rgba(0, 0, 0, 1)">
name</span>="re_password" required="required"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;性别:&lt;/td&gt; &lt;td&gt; &lt;input type="radio" id="sex" name="sex" value="mam"&gt;男 &lt;input type="radio" id="sex" name="sex" value="woman"&gt;女 &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;QQ:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="qq" name="qq" required="required"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;Email:&lt;/td&gt; &lt;td&gt;&lt;input type="email" id="email" name="email" required="required"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;电话:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="phone" name="phone" required="required"&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt;
&lt;td&gt;地址:&lt;/td&gt; &lt;td&gt;&lt;input type="text" id="address" name="address" required="required"&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;tr&gt; &lt;td colspan="2" align="center" style="color:red;font-size:10px;"&gt; &lt;!--提示信息--&gt;
&lt;?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(128, 0, 128, 1)">$err</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_GET</span>["err"]) ? <span style="color: rgba(128, 0, 128, 1)">$_GET</span>["err"] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">switch</span> (<span style="color: rgba(128, 0, 128, 1)">$err</span><span style="color: rgba(0, 0, 0, 1)">) {
    </span><span style="color: rgba(0, 0, 255, 1)">case</span> 1:
      <span style="color: rgba(0, 0, 255, 1)">echo</span> "用户名已存在!"<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;

    </span><span style="color: rgba(0, 0, 255, 1)">case</span> 2:
      <span style="color: rgba(0, 0, 255, 1)">echo</span> "密码与重复密码不一致!"<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;

    </span><span style="color: rgba(0, 0, 255, 1)">case</span> 3:
      <span style="color: rgba(0, 0, 255, 1)">echo</span> "注册成功!"<span style="color: rgba(0, 0, 0, 1)">;
      </span><span style="color: rgba(0, 0, 255, 1)">break</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span>?&gt;
&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2" align="center"&gt;
&lt;input type="submit" id="register" name="register" value="注册"&gt;
&lt;input type="reset" id="reset" name="reset" value="重置"&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td colspan="2" align="center"&gt;<span style="color: rgba(0, 0, 0, 1)">
如果已有账号,快去</span>&lt;a href="login.php"&gt;登录&lt;/a&gt;吧! &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;/form&gt; &lt;/div&gt;
&lt;!--脚部--&gt;
&lt;div <span style="color: rgba(0, 0, 255, 1)">class</span>="footer"&gt; &lt;small&gt;Copyright &amp;<span style="color: rgba(0, 128, 128, 1)">copy</span>; 版权所有·欢迎翻版 &lt;/div&gt; &lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</pre>
</div>
<p>registeraction.php<br>(实现register.php连接数据库,并向指定表单插入数据)</p>
<div class="cnblogs_code">
<pre>&lt;?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)"> $Id:$ //声明变量</span>
<span style="color: rgba(128, 0, 128, 1)">$username</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['username']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['username'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$password</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['password']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['password'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$re_password</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['re_password']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['re_password'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$sex</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['sex']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['sex'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$qq</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['qq']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['qq'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$email</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['email']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['email'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$phone</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['phone']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['phone'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(128, 0, 128, 1)">$address</span> = <span style="color: rgba(0, 0, 255, 1)">isset</span>(<span style="color: rgba(128, 0, 128, 1)">$_POST</span>['address']) ? <span style="color: rgba(128, 0, 128, 1)">$_POST</span>['address'] : ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$password</span> == <span style="color: rgba(128, 0, 128, 1)">$re_password</span>) { <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">建立连接</span>
    <span style="color: rgba(128, 0, 128, 1)">$conn</span> = <span style="color: rgba(0, 128, 128, 1)">mysqli_connect</span>("localhost", "", "", "user"); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">准备SQL语句,查询用户名</span>
    <span style="color: rgba(128, 0, 128, 1)">$sql_select</span> = "SELECT username FROM usertext WHERE username = '<span style="color: rgba(128, 0, 128, 1)">$username</span>'"; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">执行SQL语句</span>
    <span style="color: rgba(128, 0, 128, 1)">$ret</span> = <span style="color: rgba(0, 128, 128, 1)">mysqli_query</span>(<span style="color: rgba(128, 0, 128, 1)">$conn</span>, <span style="color: rgba(128, 0, 128, 1)">$sql_select</span><span style="color: rgba(0, 0, 0, 1)">);
    </span><span style="color: rgba(128, 0, 128, 1)">$row</span> = <span style="color: rgba(0, 128, 128, 1)">mysqli_fetch_array</span>(<span style="color: rgba(128, 0, 128, 1)">$ret</span>); <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">判断用户名是否已存在</span>
    <span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$username</span> == <span style="color: rgba(128, 0, 128, 1)">$row</span>['username']) { <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">用户名已存在,显示提示信息</span>
      <span style="color: rgba(0, 128, 128, 1)">header</span>("Location:register.php?err=1"<span style="color: rgba(0, 0, 0, 1)">);
    } </span><span style="color: rgba(0, 0, 255, 1)">else</span> { <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">用户名不存在,插入数据 //准备SQL语句</span>
      <span style="color: rgba(128, 0, 128, 1)">$sql_insert</span> = "<span style="color: rgba(0, 0, 0, 1)">INSERT INTO usertext(username,password,sex,qq,email,phone,address)
VALUES('</span><span style="color: rgba(128, 0, 128, 1)">$username</span>','<span style="color: rgba(128, 0, 128, 1)">$password</span>','<span style="color: rgba(128, 0, 128, 1)">$sex</span>','<span style="color: rgba(128, 0, 128, 1)">$qq</span>','<span style="color: rgba(128, 0, 128, 1)">$email</span>','<span style="color: rgba(128, 0, 128, 1)">$phone</span>','<span style="color: rgba(128, 0, 128, 1)">$address</span>')"; <span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">执行SQL语句</span>
      <span style="color: rgba(0, 128, 128, 1)">mysqli_query</span>(<span style="color: rgba(128, 0, 128, 1)">$conn</span>, <span style="color: rgba(128, 0, 128, 1)">$sql_insert</span><span style="color: rgba(0, 0, 0, 1)">);
      </span><span style="color: rgba(0, 128, 128, 1)">header</span>("Location:register.php?err=3"<span style="color: rgba(0, 0, 0, 1)">);
    } </span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">关闭数据库</span>
    <span style="color: rgba(0, 128, 128, 1)">mysqli_close</span>(<span style="color: rgba(128, 0, 128, 1)">$conn</span><span style="color: rgba(0, 0, 0, 1)">);
} </span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)"> {
    </span><span style="color: rgba(0, 128, 128, 1)">header</span>("Location:register.php?err=2"<span style="color: rgba(0, 0, 0, 1)">);
} </span>?&gt;</pre>
</div>
<p>建议将五个文件存于本地,便于更改,当然不介意用linux的文本编辑器也可以直接上传后在服务器端修改。保存好文件后:</p>
<h2>1.创建数据库及表单</h2>
<p>小编这里是通过phpmyadmin可视化界面创建的数据库和表单,进入ip/phpmyadmin后登陆数据库:<br><img src="https://img-blog.csdnimg.cn/20190518093946972.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDY1MTc1OQ==,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br>登陆myadmin后创建数据库user和表单usertext:<br><img src="https://img-blog.csdnimg.cn/2019051809414129.png" alt="在这里插入图片描述"><br><img src="https://img-blog.csdnimg.cn/20190518094155650.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDY1MTc1OQ==,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"></p>
<h2>2.php文件中操作数据库的函数</h2>
<p>这里小编先解释下列php数据库操作函数的作用:<br>(1)mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “连接的数据库名”);<br>参数描述:<br>“localhost”,不需要更改,新手切忌不要改成服务器的ip地址,因为创建数据库的默认的有权限访问用户为:<br><img src="https://img-blog.csdnimg.cn/20190518094851653.png" alt="在这里插入图片描述"><br>“连接的数据库名”,是数据库不要填表单,第一步的user是数据库,usertext是表单。<br>(2)mysqli_query()函数执行某个针对数据库的查询:<br>mysqli_query(connection,query,resultmode);<br>参数描述:<br>connection 必需。规定要使用的 MySQL 连接。<br>query 必需,规定查询字符串。<br>(这是一个存放mysql命令的字符串,命令内容要用该函数才可实现)<br>resultmode<br>可选。一个常量。可以是下列值中的任意一个:<br>MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)<br>MYSQLI_STORE_RESULT(默认)<br>eg:<br>(3)mysqli_fetch_array() 函数<br>从结果集中取得一行作为关联数组,或数字数组,或二者兼有。<br>mysqli_fetch_array(result,resulttype);<br>参数描述:<br>result 必需。规定由 mysqli_query()、mysqli_store_result() 或 mysqli_use_result() 返回的结果集标识符。<br>resulttype 可选。规定应该产生哪种类型的数组。可以是以下值中的一个:<br>MYSQLI_ASSOC<br>MYSQLI_NUM<br>MYSQLI_BOTH</p>
<h2>3修改php文件实现登录注册</h2>
<p>下面我们来对loginaction.php和registeraction.php两个文件进行更改<br>如果数据库创建和第1步时一样,那只需要对两个文件中的:<br>mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “user”);<br>进行用户信息填写即可。<br>如果数据库名称或表单不一样,则需要找到下面语句:<br>mysqli_connect(“localhost”, “服务器名”, “数据库密码”, “user”);<br>SELECT;<br>INSERT INTO;(只在registeraction.php有)<br>将上述语句中的(数据库名)user和(表单名)usertext修改成你的数据库名和表单名。</p>
<h2>4进一步完善</h2>
<p>有兴趣的朋友可以试着向小编一样创建超链接,登录成功后跳转到指定网页;<br>在loginsucc.php中找到退出将login.php改为其他网页(直接写文件名的话需要放于同一目录下)</p>

</div>
<div id="MySignature" role="contentinfo">
    <div><h3>愿路途漫长,以后莫失莫忘。 愿你不骄不躁,安稳顺心。</h3></div>
<div>归档:我的知识栈:目录(更新中...)</div>
<div>作者:菜鸟-传奇</div>
<div>
<b><font size="2" color="#808080">本文版权归作者和博客园共有,重在学习交流,不以任何盈利为目的,欢迎转载。
    敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
</font></b></div><br><br>
来源:https://www.cnblogs.com/cainiao-chuanqi/p/14347702.html
頁: [1]
查看完整版本: PHP+mysql的登陆与注册