最近公司招了几个应届毕业生,他们对前端的了解还挺多,但是对后端的技术一无所知,我觉得,作为一个前端攻城狮,如果你有远大的抱负,就应该雨露均沾...

今天我就跟大家讲一讲PHP最基本的入门,至少别人问起你来,不会一点都不懂。

大家知道PHP搭建环境蛮麻烦的,咱们前端攻城狮就没必要去钻研环境的搭建了,网上已经有集成好的PHP环境可以直接下载,wampphpstudy(点击进入下载页),安装只需下一步就行。

因为我一直是使用wamp,一下就以wamp为例来讲解。

安装好wamp后,屏幕右下角会出现这个图标。

如果你英语不是很好的话,可以右击图标,选择中文。

wamp打开后会默认开启所有服务,你也可以左击图标,选择启动所有服务,并且切换到在线状态。

到此,PHP运行的环境就准备好了。

下面开始写demo了。

点击右下角小图标,有个www目录,进入后创建一个叫php的项目文件夹:

在文件夹中新建这几个文件:

我们先打开login.html,写入一个简单的表单:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="success.php" method="post">
用户名:<input type="text" name="username"><br/><br/>
密码:<input type="password" name="pwd"><br/><br/>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>

效果如下:

我们需要实现用户点击提交时,把用户输入的用户名和密码保存在本地的data.txt文件里,并且在success.php页面提示用户登录成功。

下面我们开始关键的php代码,打开success.php文件,敲入以下代码:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
$name = $_POST["username"];
$pwd = $_POST["pwd"];
$fp = fopen("./data.txt", "a");
$str = "user:".$name."&password:".$pwd."\r\n";
fwrite($fp,$str);
fclose($fp);
echo "<h1>欢迎回来,".$name."!</h1>";
?>
</body>
</html>

大家要注意,PHP代码可以和HTML代码混合使用,包裹在<?php doSomething ?>标签内的代码,服务器就会用PHP的解析器去解析,我们来分析一下上面的代码。

因为表单使用post方式提交的,所以我们需要用POST方式去接收,PHP接收POST发送过来的数据使用$_POST[""];语句,get用法一样,把POST改成GET,在中括号内填写你需要获取表单项的name名。

接下来我们要把所得到的数据写入到data.txt文件内,实际项目开发中,这些数据都是写入到数据库中。

我们用fopen命令打开一个文件,fopen接收两个参数,第一个是要打开文件的路径;第二个是打开的方式,这里使用"a"写入方式打开,将文件指针指向文件末尾,如果文件不存在,则会尝试创建这个文件。(其他参数详情请到W3school查看

还需要注意的是,PHP中的变量声明并不是用var,而是$+变量名。

接下来把用户名和密码拼接成字符串,PHP中的字符串拼接和JavaScript也有差异,PHP使用"."来做拼接符。

我们用fwrite命令来写入文件,它接收两个参数,第一个是要打开的文件,也就是我们前面定义的$fp;第二个是要写入的内容,把之前拼接好的字符串放入。

最后还需要关闭文件,使用fclose命令,传入需要关闭的文件。如果不关闭文件的话,这个文件就会一直被占用,别人就不能读写这个文件了,所以这一步千万不能忘记。

最后,我么在success.php页面输出一条消息,JavaScript中可以用document.write来输出内容,PHP使用echo语句来输出内容,支持输入HTML标签。

到此,一个简单的PHP_Demo就写好了,我们来测试一下吧。

在浏览器输入http://localhost/php/login.html进入页面,我们随便输入一些信息:

提交后,页面跳转到success.php,我们看到如下内容:

我们打开data.txt文件,看看数据是否被写入了。

的确按照我们规定的格式写入了数据,我来多登录几次试试:

测试成功!

希望大家跟着上面的代码敲一遍,你会发现挺有成就感的,至少我最初学习PHP完成这个Demo时,兴奋坏了我。

当然,这只是PHP最简单的一些实例,过段时间再写篇如何用PHP操作MySQL读写数据的文章,希望大家对技术保持一颗好奇心,这样才能真正成长!

最后附上项目源码:EasyPHP(还是希望大家能敲一下)

一起来花5分钟写一个PHP入门Demo的更多相关文章

  1. 花40分钟写一个-CBIR引擎-代码公开

          浏览网页的时候发现一篇不错的文章"用Python和OpenCV创建一个图片搜索引擎的完整指南"http://python.jobbole.com/80860/.作者在浏 ...

  2. CBrother脚本10分钟写一个拯救“小霸王服务器”的程序

    CBrother脚本语言10分钟写一个拯救“小霸王服务器”的程序 到了一家新公司,接手了一坨c++服务器代码,到处内存泄漏,这服务器没有数据库,挂了后重启一下就好了,公司就这么凑活着用了几年了,定时重 ...

  3. 花20分钟写的-大白话讲解如何给github上项目贡献代码

    原文地址:http://site.douban.com/196781/widget/notes/12161495/note/269163206/ 本文献给对git很迷茫的新手,注意是新手,但至少会点基 ...

  4. 10分钟写一个markdown编辑器

    marked.js Marked是一个Markdown解析引擎. vue.js Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vu ...

  5. 花几分钟搭建一个自已的GIT服务器

    安装软件: 1.下载GIT服务 For Windows  64 https://git-scm.com/download/win 选中所有功能默认安装便可 2.下载GOGS服务 GOGS具有GITHU ...

  6. 手写一个类加载器demo

    1.什么是类加载器? 2.加载方式 ClassLoader类加载器,主要的作用是将class文件加载到jvm虚拟机中.jvm启动的时候,并不是一次性加载所有的类,而是根据需要动态去加载类,主要分为隐式 ...

  7. 不用任何第三方,写一个RTMP直播推流器

    2016年是移动直播爆发年,不到半年的时间内无数移动直播App掀起了全民直播的热潮.然而个人觉得直播的门槛相对较高,从推流端到服务端器到播放端,无不需要专业的技术来支撑,仅仅推流端就有不少需要学习的知 ...

  8. 10分钟用scratch写一个大鱼吃小鱼的小游戏

    第一次给张江小朋友教Scratch课程之前,还在担心一些概念能不能向小朋友解释清楚,可上完课发现,我严重低估了小朋友的聪明程度,发现现在的孩子相比较自己8.9岁的时候,简直聪明太多倍了. 所以总结了半 ...

  9. 牛逼哄哄的PageHelper分页插件到底是怎么实现的?网友:给我10分钟,给你写一个~

    Hi,各位读者们 PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美. ...

随机推荐

  1. TortoiseSVN文件夹及文件状态图标不显示解决方法

    win8 64位系统,原本svn是好用的,安装了klive金山快盘后,svn图标都不显示了.最后通过修改注册表解决: win+R调出运行框,输入regedit,打开注册表编辑器. HKEY_LOCAL ...

  2. php文章内容分页并生成相应的htm静态页面代码

    代码如下: <?php $url='test.php?1=1'; $contents="fjka;fjsa;#page#批量生成分成文件并且加上分页代码"; $ptext = ...

  3. VS2008中调试dll

    1.运行dll实例时,会直接弹出一个小框: 选择可拉起这个dll的exe运行就可以调试了 2.以后每次都会直接运行了,要重新选择程序,弹出上面的框,需要在project-->debugging- ...

  4. ios NSThred多线程简单使用

    关于NSThred开启多线程的方法 - (void)performSelectorInBackground:(SEL)aSelector withObject:(id)arg [self perfor ...

  5. zlib快速编译脚本

    zlib允许使用IDE编译生成dll以及静态库,高版本写一个脚本就能轻松的一键编译生成静态/动态lib以及dll文件 以下是一句话编译批处理脚本 nmake -f win32\Makefile.msc ...

  6. mysql学习(2)-MySQL服务器优化

    调优思路: 1.数据库设计与规划--以后再修该很麻烦,估计数据量,使用什么存储引擎 2.数据的应用--怎样取数据,sql语句的优化 3.mysql服务优化--内存的使用,磁盘的使用 4.操作系统的优化 ...

  7. [学习笔记] 七步从AngularJS菜鸟到专家(6):服务 [转]

    这是"AngularJS – 七步从菜鸟到专家"系列的第六篇. 在第一篇,我们展示了如何开始搭建一个AngularaJS应用.在第五篇我们讨论了Angular内建的directives.在这一章,我们 ...

  8. (Python )模块、包

    本节开始学习模块的相关知识,主要包括模块的编译,模块的搜索路径.包等知识 1.模块 如果我们直接在解释器中编写python,当我们关掉解释器后,再进去.我们之前编写的代码都丢失了.因此,我们需要将我们 ...

  9. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    public class Three_03 { public static void main(String[] args) { for(int i=100;i<1000;i++){ int a ...

  10. Jade之Filters

    Filters jade允许将其他语言嵌套到jade语言之中. 支持的有:coffee-script,:babel,:uglify-js, :less,:markdown-it. jade: :mar ...