整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

PHP连接数据库实现登录

PHP连接数据库实现登录

们先新建一个database.php,用来写数据库连接,之后每次需要使用的时候直接调用这个文件这样就不需要在每个文件中重复的写同样的代码,图一贴了database的代码,代码中都有注释。

(图一)database.php

写完数据库连接,我们在来写一个登录的页面,新建一个login.php,在图二html代码中写上用户名和密码的输入框,代码中使用下拉框选择的用户名,如果需要使用文本框输入,请参考登录密码的写法。

(图二)login.php

(图三)

我们运行一下login.php文件看下效果(图三),可以看到基本的效果已经达到了,我们继续在代码的最上端加上连接数据库的语句(图四)。

(图四)

数据库的基本工作已经做好了,我们是不是应该去建个数据,我们在MySql中新建一个数据库命名为register,在其中建立一个users表,user_id(自增长列),userName(用户名),password(密码)。建好后在users表中增加几条数据如(图五)。

(图五)

在用户名的下拉框中没有可以选择的用户名,我们在增加一段php代码,使其能获取到数据库中的用户名,并且显示在下拉框中(图六)。

(图六)

我们刷新一下页面看下是不是能显示出数据库中的2个用户名(图七)在不使用数据库后记得关闭数据库哦。

(图七)

现在输入用户名和密码点击登录是没有反应的,我们在加上一个from,使用post传值,这样login.php这个页面就写完了,整段代码粘贴到(图八)。

(图八)

然后我们来写判断登录的php文件logins.php(图九),这段代码我就不分开说了因为比较短,都有打备注。

(图九)

最后测试,密码输入1显示登录成功并跳转home页面,输入其他密码显示登录失败并跳回登录页面。没有问题,如果大家有看不懂的地方,或者我有写错的地方麻烦大家评论或者私信我我都会一一回复的。

今天这个连接数据库登录的页面写完了,下一篇文章我们来写注册,第一次写文章可能写的不是太好望见谅。

文件系统处理的作用:

1. 所有的项目离不开文件处理

2. 可以用文件长时间保存数据

3. 建立缓存, 服务器中文件操作

文件处理

1. 文件类型

以Linux为模型的, 在Windows只能获取file, dir或unknow 三种类型

在Linux/Unix下, block, char, dir, fifo, file, link, unknown和种型

block :块设置文件,磁盘分区,软驱, cd-rom等

char: 字符设备,I/O 以字符为单位, 键盘,打印机等

dir: 目录也是文件的一种

fifo:

file:

link:

unknown

filetype("目录或文件名")

is_array();

is_int();

is_string();

is_null;

is_bool();

is_dir -- 判断给定文件名是否是一个目录

is_executable -- 判断给定文件名是否可执行

is_file -- 判断给定文件名是否为一个正常的文件

is_link -- 判断给定文件名是否为一个符号连接

is_readable -- 判断给定文件名是否可读

is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的

is_writable -- 判断给定的文件名是否可写

is_writeable -- is_writable() 的别名


2. 文件的属性

file_exists();

filesize();

is_readable();

is_writeable();

filectime();

filemtime();

fileactime();

stat();

3. 和文件路径相关的函数

相对路径:相对于当前目录的上级和下级目录

. 当前目录

.. 上一级目录

./php/apache/index.php

php/apahce/index.php

login.php

./login.php

../images/tpl/logo.gif


路径分隔符号

linux/Unix "/"

windows "\"

DIRECTORY_SEPARATOR 为不同平台,在Windows \ Linux /

不管是什么操作系统PHP的目录分割符号都支技 / (Linux)

在PHP和Apache配置文件中如果需要指定目录,也使用/作为目录符号

绝对路径:

/ 根路径

/images/index.php

指的操作系统的根

指的是存放网站的文档根目录

分情况

如果是在服务器中执行(通过PHP文件处理函数执行)路径 则 “根”指的就是操作系统的根

如果程序是下载的客户端,再访问服务器中的文件时,只有通过Apache访问,“根”也就指的是文档根目录

http://www.xsphp.com/logo.gif


basename(url)

dirname(url)

pathinfo(url)


4. 文件的操作相关的函数

创建文件 touch("文件名")

删除文件 unlink("文件路径");

移动文件 为文件重新命名 rename("当前文件路径", “目录为文件路径”)

复制文件 copy("当前", “目标”);

一定要有PHP执行这个文件权限, Apache, 一个用户


和权限设计有关的函数


ls -l 或 ll

_rwxrwxrwx 777

_ 类型 _文件 d 表示是目录 l b

rwx 表这个文件的拥有者 r读 w写 x执行

rwx 表这个文件的拥有者所在的组 r读 w写 x执行

rwx 其它用户对这个为文件的权限 r读 w写 x执行

r 4

w 2

x 1

7 7 7 4+2+1 4+2+1 4+2+1

rwx rwx rwx

644

4+2 4 4

rw_ r__ r__

754

chmod u=rwx,g=rw,o=x

chmod 777 demo.php

chmod 644 demo.html

chown mysql demo.php

chgrp apache demo.php

chgrp -- 改变文件所属的组

chmod -- 改变文件模式

chown -- 改变文件的所有者

filegroup -- 取得文件的组

fileowner -- 取得文件的所有者


5. 文件的打开与关闭(读文件中的内容, 向文件中写内容)

读取文件中的内容

file_get_contents(); //php5以上

file()

readfile();

不足:全部读取, 不能读取部分,也不能指定的区域

fopen(URL, mode)

本地文件:

./test.txt

c:/appserv/www/index.html

/usr/local/apahce/index.html

远程:

http://www.baidu.com

fopen("./test.txt", "a+")

fwrite fread

r , 以只读模式打开文件

r+ 写

w, 以只写的方式打开,如果文件不存在,则创建这个文件,并写放内容,如果文件存在,并原来有内容,则会清除原文件中所有内容,再写入(打开已有的重要文件)

w+ 除了可以写用fwrite, 还可以读fread

a 以只写的方式打开,如果文件不存在,则创建这个文件,并写放内容,如果文件存在,并原来有内容,则不清除原有文件内容,再原有文件内容的最后写入新内容,(追加)

a+除了可以写用fwrite, 还可以读fread

b 以二进制模式打开文件(图,电影)

t 以文本模式打开文件

fread() // 第一个是读取指定长度的字符

fgetc() //一次从文件中读取一个字符

fgets() //一次从文件中读取一行字符


feof($file); 如果读取文件出错,或到文件结束,则返回真

写入文件

file_put_contents(“URL”, “内容字符串”); //php5以上

如果文件不存在,则创建,并写入内容

如果文件存在,则删除文件中的内容,重新写放

不足: 不能以追加的方式写,也不能加锁

fopen()

fwrite() 别名 fputs

第一个参数是文件资源(fopen返回来的),第个参数是写的内容


本地文件:

./test.txt

c:/appserv/www/index.html

/usr/local/apahce/index.html

远程:

http://www.baidu.com

http://www.163.com

ftp://user@pass:www.baidu.com/index.php

6. 文件内部移动指针

ftell($file) //返回当前文件针的位置

fseek($file, 10);

fread();

rewind();


7. 文件的锁定一些机制处理


目录的处理

opendir()

readdir()

closedir()

rewinddir()

创建目录

mkdir(); //创建一个空目录

删除目录

rmdir(); //只可以删除空目录

在PHP中实时将数据库中的数据显示在网页上,您可以使用Ajax和PHP进行无刷新更新。Ajax这个术语源自描述从基于Web的应用到基于数据的应用,它不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。Ajax在浏览器与Web服务器之间使用异步数据传输,这样就可以使网页从服务器请求少量的信息,而不是整个页面。下面是一个简单的示例:

1.在您的HTML文件中,创建一个div元素来显示数据库中的数据。

<div id="data-container"></div>

2.在PHP文件中,编写一个从数据库中检索数据的脚本来返回数据并将其插入到HTML文件中。

<?php  
// 连接到数据库  
// ...  
  
// 从数据库中检索数据  
$data=// ... 查询语句 ...;  
  
// 将数据插入到HTML文件中  
$html='<p>'.implode('<br>', $data).'</p>';  
  
// 输出有意义的HTTP头部  
header('Content-type: text/html');  
  
// 输出HTML文件中的数据  
echo $html;  
?>

3.在您的JavaScript文件中,使用Ajax技术调用PHP脚本并将结果插入到div元素中。

function updateData() {  
    // 创建Ajax请求  
    var xhttp=new XMLHttpRequest();  
    xhttp.onreadystatechange=function() {  
        if (this.readyState==4 && this.status==200) {  
            // 更新页面上的数据容器  
            document.getElementById("data-container").innerHTML=this.responseText;  
        }  
    };  
    // 调用PHP脚本并传递参数(如果有的话)  
    xhttp.open("GET", "get_data.php", true);  
    xhttp.send();  
}  
// 每隔一段时间调用updateData()函数以获取新数据  
setInterval(updateData, 1000);

这样,每当指定的时间间隔过去时,JavaScript文件就会通过Ajax调用PHP脚本,获取最新的数据并将其插入到HTML文件中的指定位置。