Heim > Datenbank > MySQL-Tutorial > Hauptteil

Mysql 与 php动态网站开发 入门教程

WBOY
Freigeben: 2016-06-01 13:06:27
Original
1044 Leute haben es durchsucht

            这个系列的教程由表单开始写,因为表单可以把数据库和web 之间的交互表现得很明显。提交表单 ,数据库记录注册信息。

本教程属于基础教程。大神请略过。

           对于php和mysql之间的稳固性很受程序员的喜爱。虽说最近出现了hack语言准备替代php语言,但是这个语言本身也是基于php的,后面我们可以对hack语言进行一定得学习。

           好像博客园有好多大牛,不知道会不会被喷,好怕 .......。当然,我是借着自己学习的这股劲,把学习的过程也给记录下来。教程涉及  html 表单 简单的php 和mysql .先用最简单的表单,意思一下之间的交互就行了。

      记得当我们什么都不懂的时候,代码也不清楚的时候,我们在想着奇幻的代码世界,感觉无比的奇妙,当我们步入代码世界的时候,我们又感到茫然了。代码是什么。此处从html说起。当然,要是html都不懂, 也不会到博客园来的。随便说一下 就是浏览器中右击,查看源代码的那个代码就是html了。但是它只是网页的结构了,要想形成一个漂亮的网页当然要很多东西了 ,其他的有机会再说,这次说网页之间的交互了。也就是动态网站的开发。

     要是表单都不知道的话,搜索一下。就是那个注册的时候,那些框框了。

     下面是表单代码。

Nach dem Login kopieren
//这里的index.php 就是一个动态传送的文件。后面会说。

please type your first name:

please type your second name:

please type your age:

 

就是这一串代码,保存好后,网页打开,只有框子在 ,点击也没有什么用,当然这就是前端了。 我们今天说的后端。你需要的就是把那个输入的部分 传送到所谓的数据库中去保存好,这样方便网站管理。到底怎么样传过去的呢?这里就要说php 和mysql 了。注意: 运行php  和mysql 的时候,是要有环境的。要有它们运行的基础。它们的环境,要不然怎么生存呢。对吧? 然后有个很有名的一件套件包。包括了这些环境。下一步 下一步 安装就行了。

地址:http://apmserv.s135.com/  尊重原来的地址。

貌似windows 8上装不了。哎。。。

安装好,先熟悉一下吧。恩 ~~

php 就是在 代码区 /code  ?>在中间写php代码,文件时.php格式,里面可以加入 html语言 。恩,把表单放进去吧。

放进去了 访问它还是原来一样一样的。然后让它变成动态的吧。加入几个变量。

<p>please type your first name:<input type="text" name="first_name" value="<? if(isset($_REQUEST['first_name'])) echo $_REQUEST['first_name'];?>"></p><p>please type your second name:<input type="text" name="second_name" value="<? if(isset($_REQUEST['first_name'])) echo $_REQUEST['second_name'];?>"></p><p>please type your age:<input type="text" name="age" value="<? if(isset($_REQUEST['age'])) echo $_REQUEST['age'];?>"></p><p><input type="submit" name="submit" value="register"></p>
Nach dem Login kopieren

恩,很熟悉的表单。然后你要把输入的存在了那个变量里面。 这里就要说php 数组了,php数组中就是可以用字符串数组的形式。就是array['name'] 然后name 可以是一些你定义的了。这里对于表单很特别了,这个REQUEST 属于超全局变量,好像很酷的样子,就是不用定义,它也一直在,就是表单的名字放在里面,输入的

内容就保存到这个数组里面了,当然 其实也可以用 $_POST['name'] 了 这个Post 呢 属于REQUEST的子集了。反正这样表示都是一样一样的。

然后你的数据都保存到这个数组中了,然后提取它就很方便了,这个中间用了判断这个里面是不是填了数据,然后返回,这个isset() 就是判断是不是填了数据,然后就和html 的表单一样一样的。你还要判断这个数据是不是填了,总要有个判断吧。

就有了下面这段。

$error=array();if (empty($_REQUEST['first_name'])) {	echo '<p>you forget type your first_name;</p><p>' ;# code...	$error='1';}else{	$f=$_REQUEST['first_name'];}if (empty($_REQUEST['second_name'])) {	echo '</p><p>you forget type your second_name;</p><p>' ;# code...	$error='2';}else{	$s=$_REQUEST['second_name'];}if (empty($_REQUEST['age'])) {	echo '</p><p>you forget type your age;</p><p>'; # code...	$error='3';}else{	$a=$_REQUEST['age'];}</p>
Nach dem Login kopieren

这个empty()就是判断 是不是空的表示 ,echo 就是php 的输出了。可以把html同样输出出来。定义一个error数组

就是判断有没有错误,如果都填了的话。就ok了.

然后又把那些变量保存到另一些变量里面去。这样看起来简单点。

恩,然后,发现没有错误。

然后返回这一段,恩,这一段就是最主要的部分了,就是靠它连接我们的数据库了。

if (empty($error)) { echo'<p> everything is ok</p><p>'; require('connect/mysqli_connect.php'); $q="insert into user (first_name,second_name,age) value('$f','$s','$a')"; $r=@mysqli_query($dbc,$q);}</p>
Nach dem Login kopieren

那个require( )就是需要连接数据库的文件。数据库的地址啊,表名啊,用户名啊,密码啊 ,靠这些联系数据库。

这个文件就换一个地方去了.直接调用它过来 连接就行了。就是require了。

这个就是 mysqli_connect.php了.

$dbc=@mysqli_connect(localhost,root,123,test);?>
Nach dem Login kopieren
Nach dem Login kopieren

尽量简单一点,哈哈 好短的文件,这个文件就保存在index.php 的同一目录下的connect 文件夹里面. 里面有一个函数 mysqli_connect()  这个函数就是连接数据库用的呀。

mysqli_connect(hostname,username,password,databasename)

数据的地址名 一般都是localhost 了,当然也不一定。看你的数据库在哪。然后就是 账户,密码,数据库名。

然后它返回的保存在一个变量里面。ok了 调用,然后就连上数据库了

 

下面 又定义一个$q,这就又说到了 数据库的知识了,在数据库中,你要创建数据库呀 ,表名呀,列 呀,然后一一匹配的把刚才那些变量传送过去。

恩,这就说说数据库了。恩~~ 啊~~。

 

数据库管理现在 好多都是 phpadmin之类的东东了,好像很方便的样子。在那个东东里面 ,有个sql 命令的地方,你要输入点小命令,创建刚才说的那些东东。

先来创建一个数据库吧。 输入的是

create database test;

这就创造了一个数据库。 test是数据库的名字了。 很简单样子。

下面就是创建表名了。还是用create

create table user(first_name varchar(20) not null,second_name varchar(20) not null,age varchar(20) not null);
Nach dem Login kopieren

写程序一定要注意一些分号呀,冒号呀,逗号啊 等等。注意这些在哪个地方,怎么用,中文和英文版的分号的区别呀 ,要不然就出错了。

这个就是创造表名和列名了。

这个东东 varchar(20) 你就要查 mysql数据类型了。就是定义它是个什么类型的数据了 前面就是列名了。

这样就创造了 一个user表名 三个列名 first_name second_name age ;

好了数据传送过去

 $q="insert into user (first_name,second_name,age) value('$f','$s','$a')";
Nach dem Login kopieren

就是这个东东了 ,insert into user (  ,  , ,  ,)  value( , , , , ,);

插入  恩  插入 这些数据进入。一一对应 前面是列名 后面就是它的值了 。 后面不就是刚才保存的变量吗 恩。输入的东东就进去了。

$r=@mysqli_query($dbc,$q);
Nach dem Login kopieren

这个函数也很重要。  mysqli_query( ) 前面是那个连接 ,后面参数是查询本身。

这样就连接上了  。咚咚咚 ~~~ 运行起来了。。

你输入东西到表单上去。然后  点击提交,然后 刷新数据库 是不是发现列名多了东西

全部的代码就是下面主要的index.php 

<?include ('includes/header.html');echo '<p>this is a test';$error=array();if (empty($_REQUEST['first_name'])) {	echo '<p>you forget type your first_name;</p><p>' ;# code...	$error='1';}else{	$f=$_REQUEST['first_name'];}if (empty($_REQUEST['second_name'])) {	echo '</p><p>you forget type your second_name;</p><p>' ;# code...	$error='2';}else{	$s=$_REQUEST['second_name'];}if (empty($_REQUEST['age'])) {	echo '</p><p>you forget type your age;</p><p>'; # code...	$error='3';}else{	$a=$_REQUEST['age'];}if (empty($error)) {	echo'</p><p> everything is ok</p><p>';# code...	require('connect/mysqli_connect.php');	$q="insert into user (first_name,second_name,age) value('$f','$s','$a')";	$r=@mysqli_query($dbc,$q);}?></p>
Nach dem Login kopieren

please type your first name:

please type your second name:

please type your age:

View Code

同目录下connect 下的mysqli_connect.php 文件。

里面就是

$dbc=@mysqli_connect(localhost,root,123,test);?>
Nach dem Login kopieren
Nach dem Login kopieren
View Code

应该还有一个在同目录下的includes文件夹下的 header.html 文件。这个就随便了。

 恩,这样交互 就形成了。

恩 ,不错. 

      后面接着还有好多事情要干呢。恩 ,后面再说吧。

参考资料:

larry Ullman 《PHP and MySQL for Dynamic Web Sites visual quickPro Guide foruth Edition》

《php 与mysql动态网站开发》

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage