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

本教程属于基础教程。大神请略过。
       对于php和mysql之间的稳固性很受程序员的喜爱。虽说最近出现了hack语言准备替代php语言,但是这个语言本身也是基于php的,后面我们可以对hack语言进行一定得学习。
       好像博客园有好多大牛,不知道会不会被喷,好怕 .......。当然,我是借着自己学习的这股劲,把学习的过程也给记录下来。教程涉及  html 表单 简单的php 和mysql .先用最简单的表单,意思一下之间的交互就行了。
      记得当我们什么都不懂的时候,代码也不清楚的时候,我们在想着奇幻的代码世界,感觉无比的奇妙,当我们步入代码世界的时候,我们又感到茫然了。代码是什么。此处从html说起。当然,要是html都不懂, 也不会到博客园来的。随便说一下 就是浏览器中右击,查看源代码的那个代码就是html了。但是它只是网页的结构了,要想形成一个漂亮的网页当然要很多东西了 ,其他的有机会再说,这次说网页之间的交互了。也就是动态网站的开发。
     要是表单都不知道的话,搜索一下。就是那个注册的时候,那些框框了。
     下面是表单代码。
  1. <form action='index.php' method='post'> //这里的index.php 就是一个动态传送的文件。后面会说。
  2. <p>please type your first name:<input type="text" name="first_name" value=""></p>
  3. <p>please type your second name:<input type="text" name="second_name" value="" ></p>
  4. <p>please type your age:<input type="text" name="age" value=""></p>
  5. <p><input type="submit" name='submit' value='register'></p>
  6. </form>
 
  就是这一串代码,保存好后,网页打开,只有框子在 ,点击也没有什么用,当然这就是前端了。 我们今天说的后端。你需要的就是把那个输入的部分 传送到所谓的数据库中去保存好,这样方便网站管理。到底怎么样传过去的呢?这里就要说php 和mysql 了。注意: 运行php  和mysql 的时候,是要有环境的。要有它们运行的基础。它们的环境,要不然怎么生存呢。对吧? 然后有个很有名的一件套件包。包括了这些环境。下一步 下一步 安装就行了。
地址:http://apmserv.s135.com/  尊重原来的地址。
貌似windows 8上装不了。哎。。。
安装好,先熟悉一下吧。恩 ~~
  php 就是在 代码区<? /code  ?>在中间写php代码,文件时.php格式,里面可以加入 html语言 。恩,把表单放进去吧。
放进去了 访问它还是原来一样一样的。然后让它变成动态的吧。加入几个变量。
  1. <p>please type your first name:<input type="text" name="first_name" value="<? if(isset($_REQUEST['first_name'])) echo $_REQUEST['first_name'];?>"></p>
  2. <p>please type your second name:<input type="text" name="second_name" value="<? if(isset($_REQUEST['first_name'])) echo $_REQUEST['second_name'];?>" ></p>
  3. <p>please type your age:<input type="text" name="age" value="<? if(isset($_REQUEST['age'])) echo $_REQUEST['age'];?>"></p>
  4. <p><input type="submit" name='submit' value='register'></p>
  恩,很熟悉的表单。然后你要把输入的存在了那个变量里面。 这里就要说php 数组了,php数组中就是可以用字符串数组的形式。就是array['name'] 然后name 可以是一些你定义的了。这里对于表单很特别了,这个REQUEST 属于超全局变量,好像很酷的样子,就是不用定义,它也一直在,就是表单的名字放在里面,输入的内容就保存到这个数组里面了,当然 其实也可以用 $_POST['name'] 了 这个Post 呢 属于REQUEST的子集了。反正这样表示都是一样一样的。
  然后你的数据都保存到这个数组中了,然后提取它就很方便了,这个中间用了判断这个里面是不是填了数据,然后返回,这个isset() 就是判断是不是填了数据,然后就和html 的表单一样一样的。你还要判断这个数据是不是填了,总要有个判断吧。
就有了下面这段。
  1. $error=array();
  2. if (empty($_REQUEST['first_name'])) {
  3. echo '<p>you forget type your first_name;<p>' ;# code...
  4. $error='1';
  5. }
  6. else{
  7. $f=$_REQUEST['first_name'];
  8. }
  9.  
  10. if (empty($_REQUEST['second_name'])) {
  11. echo '<p>you forget type your second_name;<p>' ;# code...
  12. $error='2';
  13. }
  14. else{
  15. $s=$_REQUEST['second_name'];
  16. }
  17.  
  18. if (empty($_REQUEST['age'])) {
  19. echo '<p>you forget type your age;<p>'; # code...
  20. $error='3';
  21. }
  22. else{
  23. $a=$_REQUEST['age'];
  24. }
  这个empty()就是判断 是不是空的表示 ,echo 就是php 的输出了。可以把html同样输出出来。定义一个error数组
就是判断有没有错误,如果都填了的话。就ok了.
然后又把那些变量保存到另一些变量里面去。这样看起来简单点。
恩,然后,发现没有错误。
然后返回这一段,恩,这一段就是最主要的部分了,就是靠它连接我们的数据库了。
  1. if (empty($error)) {
  2. echo'<p> everything is ok<p>';
  3. require('connect/mysqli_connect.php');
  4. $q="insert into user (first_name,second_name,age) value('$f','$s','$a')";
  5. $r=@mysqli_query($dbc,$q);
  6. }
  那个require( )就是需要连接数据库的文件。数据库的地址啊,表名啊,用户名啊,密码啊 ,靠这些联系数据库。
这个文件就换一个地方去了.直接调用它过来 连接就行了。就是require了。
这个就是 mysqli_connect.php了.
  1. <?
  2. $dbc=@mysqli_connect(localhost,root,123,test);
  3. ?>
  尽量简单一点,哈哈 好短的文件,这个文件就保存在index.php 的同一目录下的connect 文件夹里面. 里面有一个函数 mysqli_connect()  这个函数就是连接数据库用的呀。
mysqli_connect(hostname,username,password,databasename)
数据的地址名 一般都是localhost 了,当然也不一定。看你的数据库在哪。然后就是 账户,密码,数据库名。
然后它返回的保存在一个变量里面。ok了 调用,然后就连上数据库了
 
  下面 又定义一个$q,这就又说到了 数据库的知识了,在数据库中,你要创建数据库呀 ,表名呀,列 呀,然后一一匹配的把刚才那些变量传送过去。
恩,这就说说数据库了。恩~~ 啊~~。
 
  数据库管理现在 好多都是 phpadmin之类的东东了,好像很方便的样子。在那个东东里面 ,有个sql 命令的地方,你要输入点小命令,创建刚才说的那些东东。
先来创建一个数据库吧。 输入的是
create database test;
这就创造了一个数据库。 test是数据库的名字了。 很简单样子。
下面就是创建表名了。还是用create
  1. create table user(
  2. first_name ) not null,
  3. second_name ) not null,
  4. age ) not null
  5.  
  6. );
  写程序一定要注意一些分号呀,冒号呀,逗号啊 等等。注意这些在哪个地方,怎么用,中文和英文版的分号的区别呀 ,要不然就出错了。
这个就是创造表名和列名了。
这个东东 varchar(20) 你就要查 mysql数据类型了。就是定义它是个什么类型的数据了 前面就是列名了。
这样就创造了 一个user表名 三个列名 first_name second_name age ;
好了数据传送过去
  1. $q="insert into user (first_name,second_name,age) value('$f','$s','$a')";
  就是这个东东了 ,insert into user (  ,  , ,  ,)  value( , , , , ,);
插入  恩  插入 这些数据进入。一一对应 前面是列名 后面就是它的值了 。 后面不就是刚才保存的变量吗 恩。输入的东东就进去了。
  1. $r=@mysqli_query($dbc,$q);
  这个函数也很重要。  mysqli_query( ) 前面是那个连接 ,后面参数是查询本身。
这样就连接上了  。咚咚咚 ~~~ 运行起来了。。
你输入东西到表单上去。然后  点击提交,然后 刷新数据库 是不是发现列名多了东西
全部的代码就是下面主要的index.php 
  1. <?
  2. include('includes/header.html');
  3. echo '<p>this is a test</p>';
  4.  
  5. $error=array();
  6. if (empty($_REQUEST['first_name'])) {
  7. echo '<p>you forget type your first_name;<p>' ;# code...
  8. $error='1';
  9. }
  10. else{
  11. $f=$_REQUEST['first_name'];
  12. }
  13.  
  14. if (empty($_REQUEST['second_name'])) {
  15. echo '<p>you forget type your second_name;<p>' ;# code...
  16. $error='2';
  17. }
  18. else{
  19. $s=$_REQUEST['second_name'];
  20. }
  21.  
  22. if (empty($_REQUEST['age'])) {
  23. echo '<p>you forget type your age;<p>'; # code...
  24. $error='3';
  25. }
  26. else{
  27. $a=$_REQUEST['age'];
  28. }
  29. if (empty($error)) {
  30. echo'<p> everything is ok<p>';# code...
  31. require('connect/mysqli_connect.php');
  32. $q="insert into user (first_name,second_name,age) value('$f','$s','$a')";
  33. $r=@mysqli_query($dbc,$q);
  34. }
  35.  
  36. ?>
  37. <form action='index.php' method='post'>
  38. <p>please type your first name:<input type="text" name="first_name" value="<? if(isset($_REQUEST['first_name'])) echo $_REQUEST['first_name'];?>"></p>
  39. <p>please type your second name:<input type="text" name="second_name" value="<? if(isset($_REQUEST['first_name'])) echo $_REQUEST['second_name'];?>" ></p>
  40. <p>please type your age:<input type="text" name="age" value="<? if(isset($_REQUEST['age'])) echo $_REQUEST['age'];?>"></p>
  41. <p><input type="submit" name='submit' value='register'></p>
  42. </form>

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

里面就是

  1. <?
  2. $dbc=@mysqli_connect(localhost,root,123,test);
  3. ?>

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

   恩,这样交互 就形成了。还有很多东西 没加上,今天简单点。就这样。还有错误报告之类的东西。表单以后在逐渐完善全部功能。
恩 ,不错. 
      后面接着还有好多事情要干呢。恩 ,后面再说吧。
参考资料:
larry Ullman 《PHP and MySQL for Dynamic Web Sites visual quickPro Guide foruth Edition》
《php 与mysql动态网站开发》

关于作者:

[作者]:——石头——热爱互联网事业,关注互联网技术发展,文章欢迎转载,请保留原文地址,谢谢。
[出处]:
http://www.cnblogs.com/webers/

[本文基于]:
署名-非商业性使用 3.0
许可协议发布,欢迎转载,演绎,但是必须保留本文的署名
——石头——
(包含链接),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

Mysql 与 php动态网站开发 入门教程的更多相关文章

  1. 移动H5开发入门教程:12点webAPP前端开发经验

    如果你是一名移动H5前端开发人员,25学堂的小编认为下面的分享的12点webAPP前端开发经验是你必须掌握的基础知识点.算是一篇移动H5开发入门教程吧! 1. viewport:也就是可视区域.对于桌 ...

  2. Web开发入门教程:Pycharm轻松创建Flask项目

    Web开发入门教程:Pycharm轻松创建Flask项目 打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask.Django等等,我们选择生成Fla ...

  3. 基于Nodejs生态圈的TypeScript+React开发入门教程

    基于Nodejs生态圈的TypeScript+React开发入门教程   概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...

  4. Arduino可穿戴开发入门教程(大学霸内部资料)

    Arduino可穿戴开发入门教程(大学霸内部资料) 试读下载地址:链接:http://pan.baidu.com/s/1mg9To28 密码:z5v8 介绍:Arduino可穿戴开发入门教程(大学霸内 ...

  5. 一看就懂的Android APP开发入门教程

    一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载   这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...

  6. iOS开发入门教程

    iOS开发入门教程 http://my.oschina.net/mailzwj/blog/133273 摘要 iOS开发入门教程,从创建项目到运行项目,包括OC基础,调试,模拟器设置等相关知识. iO ...

  7. ENVI Services Engine5.1 应用开发入门教程

    原文地址: ENVI Services Engine5.1 应用开发入门教程_ENVI-IDL中国_新浪博客 http://blog.sina.com.cn/s/blog_764b1e9d0102uy ...

  8. Apple官方IOS开发入门教程[v0.2]

    今天,又跑去找IOS开发入门教程了,结果发现没什么好的PDF. 后来发现,原来苹果官方有开发入门教程,而且写的很好.所以整理出来了,给大家分享一下. 我就不在这里贴pdf的内容了,下面有苹果官方教程的 ...

  9. Android Studio JNI开发入门教程

    Android Studio JNI开发入门教程 2016-08-29 14:38 3269人阅读 评论(0) 收藏 举报  分类: JNI(3)    目录(?)[+]   概述 在Andorid ...

随机推荐

  1. Android多线程研究(4)——从一道面试题说起

    有一道这种面试题:开启一个子线程和主线程同一时候运行,子线程输出10次后接着主线程输出100次,如此重复50次.先看以下代码: package com.maso.test; /** * * @auth ...

  2. matlab两种不同模式的并行运算

    1.distributed job      distributed job是一种比較简单的并行任务.假定用户须要完毕一组作业.各个计算作业之间是独立的.并且相互之间不须要进行数据通信.这意味着各个作 ...

  3. URI URL

    http://www.cnblogs.com/ACFLOOD/p/5533022.html

  4. Android(java)学习笔记159:Dalivk虚拟机的初始化过程

    1.初始化下面系统函数(调用dvmStartup函数初始化所有相关的函数) 开始学习虚拟机的初始化过程,先从dvmStartup函数开始,这个函数实现所有开始虚拟机的准备工作: dvmAllocTra ...

  5. PHP第四章数组2

    $str =array("dd"=>"d","dc"=>"ds","dd"=>&q ...

  6. iOS之正则表达式的使用

    一.什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式.正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分.它可以迅速地用极简单的方式 ...

  7. 18、HTML

    HTML 超文本标记语言(Hyper Text Markup Language). 用来描述网页的一种语言. HTML标签 由尖括号包围的关键词. 如:<html> 通常是成对出现的,开始 ...

  8. jquery基础-包裹 替换 删除 复制

    <!doctype html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. 开源控件ViewPagerIndicator学习

    导航条指示器.ViewPagerIndicator 地址 https://github.com/JakeWharton/ViewPagerIndicator Style是重用控件的一种技术.类似CSS ...

  10. Windows 7中,用Visual Studio开发WPF应用程序,实现从Windows Explorer中拖拽文件到应用程序,始终显示“无法拖放”符号问题解决方案

    Are you running your application or Visual Studio that hosts the app under administrative privilege? ...