PHP入门学习笔记

一、PHP介绍

PHP主要用于做网站web开发,我们首先来了解一下网站是如何工作的。

客户端→HTTP协议→TCP/IP→服务器(此处了解HTTP与TCP/IP协议也很重要),网站的常见开发应用工具有Dw(用于编写html、div等客户端运行的静态工具,写页面代码)、eclipse(用于写PHP,也可以用于写java,写后台程序)。

软件:一系列按照特定顺序组织的计算机数据与指令的集合。

C/S软件(客户/服务器):下载后需要升级维护才能使用的软件。

B/S软件(浏览器/服务器):浏览器打开,程序员自己升级维护,常见的网站和在线服务系统都属于这一类。网站属于软件。

PHP:超文本预处理器,通用的开源脚本语言,是一种总称,包括HTML、JS、PHP、Mysql、apache等技术。PHP的 优势在于免费、开源。

Html、div css 用于做网页客户端前端,java常用于制作网页特效;PHP、mysql、apache用于做服务器端。

其他:smarly(提高工作效率)、ThinkPHP(基于MVC框架)、linux、Html5

 

二、PHP环境安装

按照学习编程语言的惯例,我们从写一个hello word 开始:

在这里需要安装wamp程序环境包,它提供我们写PHP、java与Mysql的运行环境,在安装wamp时,遇到“程序无法运行0xc000007b”的错误提示时,要检查自己是否已经安装好了Visual C++语言环境。

这里推荐一个可以检查并修复系统 dl l与 C++环境的程序:DirectX_Repair-V3_5

修复系统环境后,卸载并且重新安装wamp,此时wamp正常安装运行,图标显示为绿色。

若仍然显示为黄色图标,可以去cmd里用"netstat -ano"查看80端口是否被其他程序占用

//ins键可以切换输入状态“改写”与“插入”

安装wamp后,通过写www里的php文档,就可以在我们的http://localhost/里看到php运行出来的结果了。

在index.php中写代码如下运行显示出“hello word"

<?php
echo "hello word"; ?>

//也可以自己写一个text.php文件放到www目录里,然后访问 localhost/test.php 就可以了

//apache:Web服务器软件

 

三、PHP的循环

(1)for循环

<?php
echo"<br/>----------for---------<br/>"; //echo表示打印输出,<br/>与<img/>一样都是空标签,中间无内容
 for($n=1;$n<=6;$n++){  //表示变量前全部要加"$"符号
echo $n."<br/>";
}
echo"<br/>----------for_2---------<br/>";
echo"<table border='1' align='center'>"; //borde(边框)定义表格线条粗细为1,align(排列)对齐方式为“中间对齐”
echo"<tr>"; //表格第一行距离边框一个空格——》若改为4个<tr>
  for($m=1;$m<=4;$m++){
   echo"<td>".$m."<td>";
}
echo"</tr>";//表格最后一行距离边框一个空格——》若改为8个<tr>则打印效果如下
echo"</table>";  //其中</table>为表格标签

打印结果为:(原结果)      (更改<tr>数量后的结果) 

         

echo"<br/>----------for_3 9*9---------<br/>";
for($i=1;$i<=9;$i++){
 for($j=1;$j<=$i;$j++){
   echo $i."*".$j."=".$i*$j."  ";//nbsp表示空格占位
}
 echo "<br/>";//<br/>表示换行
}

//试验过程中出现过一个错误是:Notice: Use of undefined constant i - assumed 'i'

//这是因为没有在 $j<=i 中的 i 前面加上$导致的,所以在PHP中,一定要注意变量前缀的书写

(2)while循环

起始条件

while(终止条件){

循环体;步长值;

}

echo"<br/>----------while---------<br/>";
$k=1;
while($k<=4){
 echo $k."<br/>";
 $k++; //不写步长,则while循环会变成死循环
}

(3)do while循环

起始条件

do{

循环体;步长值;

}while();

echo"<br/>----------do while()---------<br/>";
$s=1;
do{
 echo $s."<br/>";
 $s++;
}while($s<=5);

(4)break continue语句循环

echo"<br/>----------continue bresk---------<br/>";
for($a=1;$a<=5;$a++){
  if($a==3){
   continue;//当a==3时,直接结束当前循环体执行,跳到下一个循环
   //break; 使用break,则当a==3时,终止整个循环
   }
  echo $a."<br/>";
}

四、安装PHP文件编写的工具 Zend studio

新建PHP project→添加WWW对应目录→新建PHP file

//按键ctrl+F10再右键选择show line num可以显示我们编写代码的行数123....

五、写PHP

.php可以包含html、div、css、php、mysql内容

1、PHP的定界符

(1)标准定界符

<?php

?>

 

(2)短标记

 

<?

?>

 

(3)其他

 

//asp
<%
%>

//script
<script language="php">
<script>

2、注释符写在php的定界符内

3、PHP变量赋值:

$ 变量名=值; //字母或者下划线开头

//驼峰命名:变量的第二个单词后首字母大写

PHP系统变量

(1)数据传递变量

$_GET(传递数据量小,不安全)、$_POST(数据量大,安全)、$_REQUST(效率低)、$_FILES(上传文件)

(2)会话变量

 $_SESSION(服务器端保存数据)、 $_COOKIE (客户端保存数据)、$_SEVER(系统环境信息)

4、变量类型

常见变量类型、复合类型(array、object)、特殊类型(resourse、null)

//输出中文字符时如果出现乱码,加 header("content-type:text/html;charset=ytf-8"); 即可

//单双引号区别:双引号中的代码会执行;单引号中的代码不会执行,会直接按照普通字符输出

//转义符号可以在普通字符与控制字符间切换,普通转控制用:\n  \r(回车) \t(水平制表) \f(换页)

//控制符转为普通字符:加\ (适用于 " ' < 等)

//PHP中布尔类型的 false 打印值为空(不为0)

//声明变量时( $a; ),其初始值为null,相当于unset($a) —— 释放变量

var_dump() 函数:结果返回变量的数据类型

 

//今天登陆mysql的时候出现了Access denied for user 'root'@'localhost' (using password: YES 错误,鼓捣了半天一直没弄好,后来突然重启了一下又好了.....先mark一个修改方法以备后患:

http://blog.csdn.net/lf478660175/article/details/50035467

 

5、数组

$arr = array("001" => "aaa","002"=>"二");//表示arr[001]=“一”

$arr2=array();
$arr2["name"]="lihua";//单独赋值

echo $arr["001"];

print_r($arr["001"]);
print_r($arr);

echo每次只能输出一个数组字符,可以用它来遍历数组输出全部字符;print_r可以一次输出全部数组。

这里因为“002”对应的是中文字符,所以输出时会乱码,在文件头添加:header("Content-type: text/html; charset=GBK");

就好,“GBK”是文件的编码方式,可以在zend->project->properties中查看与修改

 

六、实践

PHP中要换行需要使用:<br>

enctype 属性规定在将表单数据发送到服务器之前如何对其进行编码。

<input type="text" name="submit"  value="确认"/>  其中,name中的名字是随便定义的,代表页面中有submit和submit1两个提交按钮,也可以定义为submit2、submit3; value="确认"是这个表格中的内容。

<input type="text" name="title" /></p>

 

</p>为格式控制,p是段落标签,对应于创建一个段落;</tr>对应创建表格中的一行;</from>对应与创建一个表单;<br>对应于创建一个换行。

 

<textarea> 标签用于定义多行的文本输入控件,使用例句:

<textarea name="" id="" cols="30" rows="10"></textarea></p>

其中,cols--多行输入域的列数,rows--多行输入域的行数,id-设置或返回某个 textarea 的 id,name--设置或返回 textarea 的名称。

【详情参考网址】HTML DOM Textarea 对象

//在写文本框时提示错误 unknown tag ,这是由于写错标签造成的警告,经查找发现是自己把 textarea 写错为 textare

 

七、留言本代码

1、inPut.html

<!DOCTYPE html>
<html>
<head>
<meta charset="GBK">
<title>Insert title here</title>
</head>
<body>

  <form action="inPut.php" method="post" enctype="multipart/from-data">

    <!-- 方法一
    <input type="text" name="name"/><br/>
    <input type="text" name="submit" value="上传"/>
     -->
    <p>文章标题:<input type="text" name="title" /></p>
    <p>文章内容:<textarea name="content" id="" cols="30" rows="10" >一</textarea></p>
    <p><input type="submit" value="确认"/></p>
    
   </form>

</body>
</html>

2、inPut.php

<?php 
header("Content-type: text/html; charset=GBK");

//print_r($_POST);
//fh是资源类型的变量
/*$fh=fopen("./message.txt","a");//用a作标记,以便下次打开文件时,继续往后写

fwrite($fh,"Aaaaa->text");
fclose($fh);

echo "ok";*/

$str=$_POST["title"].",".$_POST["content"]."\n";

$fh=fopen("./message.txt","a");
fwrite($fh,$str);
fclose($fh);

echo "ok";

?>

3、message.txt(服务器记录文本)

4、message.php

<?php
header("Content-type: text/html; charset=GBK");

$fh=fopen('./message.txt','r');

$i=1;
while( ($mes=fgetcsv($fh)) !=false){
	
	echo "<li><a href='readme.php?tid= ",$i," '>",$mes[0],"</li>";//<li>可以加*标记	
	//!!!注意这里的单双引号
	echo "<br>";
	$i++;
	}
	//print_r($mes);
	

?>

5、readme.php

<?php
header("Content-type: text/html; charset=GBK");

$tid = $_GET["tid"];
echo "显示第",$tid,"行的信息<br>";

$fh=fopen('./message.txt','r');
//print_r(fgetcsv($fh));//读数据

$n=1;
//$mes= fgetcsv($fh);
while( ($mes=fgetcsv($fh)) !=false){ //?考虑在前后定义$mes的输出结果
	if($n==$tid){
	//print_r($mes);
	echo '<h1>',$mes[0],'</h1>';
	echo '<p>',$mes[1],'</p>';
	}
	$n++;//写n++后再用if判定,达到筛选打印出的行数的目的
}

?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值