PHP编程——从入门到稍微入门

本文详细介绍了PHP的基础概念,包括变量、控制结构、数组操作、字符串处理、数据库交互等内容,并通过实例展示了如何创建表单、处理用户输入以及实现简单的注册和登录功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP是什么?

PHP能干什么?开发网站

输出一个属于自己的PHP程序。

<? php  ?>   标识(告诉你这是什么)

echo ‘hello world’ 代码

echo (指令)(类似一个动作),把东西输出出来

‘字符串里的东西没有代码意义’

;(分号就是说明这一段已经结束了和下一段没有关系了)
 

<?php

'hollo world'

?>;

<?php

$sex = '男 ' ;//变量

if ($sex == '男') {//如果

echo ‘帅哥来店里看看’;}

else{echo "妹妹来我们店里看看";}

?>

 

一个等号‘=’等于赋值:如,x=1叫赋值,两个等号‘==’叫判断

注意else{}的语法,是花括号

     对赋值进行判断,如果符合执行输出变量如果不是则执行else

$age = 14;(这个就是个盒子,age就是变量名,14就是变量值)。

当我们输出age的时候(echo $age;)(输出了14,假如改变这个值,例如,$age = 19,就会输出19)

综上所述,一个盒子只能放一个东西,意思是一个变量只能储存一个值

打开盒子>把东西放进>贴标签/打开盒子>把东西取出来

(=)等于就是代表赋值,意思是把东西放进盒子里的操作。

解决php中中文乱码问题方法

1、php文件本身的编码与网页的编码应匹配





a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),
静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,
所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。




b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),
静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,
所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,
如果使用session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,
选择总是删除,再保存就可以去掉BOM信息了。





2、php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。 

ps:$就是变量名的标识,有它才是告诉电脑这个是变量。

运算符号

加减乘除,取余,比较,大于等于,小于等于,不等于

<?php
$wang =1666;
$ma = 6293;
echo $ma+$wang;
?>

 

以上减同理

乘法:

<?php
$a1 =666;
$a = $a1*15;
echo $a
?>

 

取余:

echo 7%3

比较:

<?php
$ni = 16;
$wo = 19;
if($ni==$wo){echo'同岁';}
else{echo'不同岁';}
?>

 

比较大小相等

<?php
$ni = 16;
$wo = 19;
if($ni>=15){echo'大于';}
else{echo'小于';}
?>

 

小于同理

<?php
$ni = 16;
$wo = 19;
if($ni<=15){echo'大于';}
else{echo'小于';}
?>

 

不等于

<?php
$ni = 16;
$wo = 19;
if($ni!=15){echo'大于';}
else{echo'小于';}
?>

 

!感叹号的意思是不等于

 

控制结构

顺序结构(意思是从上往下,从左往右,按常识书写读看)

$a = 1

$a = 2

 

分支语句

<?php
$ni = '女';
if($ni == '男'){echo'你好,男孩';}
else{echo'你好,女孩';}
?>

 

循环语句

while() 不断地做某件事

<?php
header("Content-Type: text/html; charset=utf-8");
$water=1;
while($water<6)
{echo'我喝了'.$water.'杯 <br />';
$water=$water+1;}
echo'喝饱了'.$water.'杯水';
?>

'.'点就是连接符

while (条件)
{
    要执行的代码;
}

循环输出

1-100顺序输出

<?php
$i=1;
while($i<=999)
{echo $i.'<br />';
$i=$i+1;}
?>

1-100偶数输出

<?php
$i=1;
while($i<=100)
{if($i%2 == 0)
{echo $i."<br />";}
$i = $i+1;}
?>

1-100  7的倍数输出a,13的倍数输出b

<?php
$i = 1;
while($i<=100){
	if($i%7 == 0){
		echo"a<br/>";
	}
	else{if($i%13 == 0){
		echo "b<br />";
	}else{echo $i."<br />";}
	}
	$i = $i+1;
}
?>

 

PHP strstr() 函数(用于匹配字符串,过滤非法传参)

<?php
$a='cnm';
if(strstr($a,'cmn') == 'cnm'){
	echo 'no';
}
	else{
		echo 'yes';
		}
?>

PHP str_replace() 函数

把字符串 "Hello world!" 中的字符 "world" 替换为 "Shanghai":



<?php
echo str_replace("world","Shanghai","Hello world!");
?>
                 要替换的/替换成什么/在那个语句里字符串里替换

数组(相当于一个储物柜,一个格子一件东西)

定义数组=>取出东西

<?php
header("Content-Type: text/html; charset=utf-8");
$a = array(001=>'帽子',002=>'衣服',003=>'手机');
echo $a[002];
?>

当你不知道柜子里面是什么的时候可以用var_dump函数查看

<?php
header("Content-Type: text/html; charset=utf-8");
$a = array(001=>'帽子',002=>'衣服',003=>'手机');
var_dump($a);
?>

接受传参:

<?php
$_GET [预定义全局变量] 
预定义的意思是:指的是不需要你规定,系统已经规定好了
全局变量的意思是:在任何地方都可以调用
?>

用var_dump函数查看一下$_GET是什么东西

 

浏览器接受传参判断成绩/GET要使用大写

<?php
header("Content-Type: text/html; charset=utf-8");
if($_GET['fenshu']<60){
echo'同学你不及格了';	
}
else{
	echo'同学你及格了';
}
?>

 

 

表单在网页中主要负责数据采集功能。

一个表单有三个基本组成部分:

表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。

表单域包含了文本框、密码框、隐藏域多行文本框复选框单选框、下拉选择框和文件上传框等。

表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

 

Get请求与Post请求的特性

1、Get请求:

Get请求是将数据添加到URL中并传递到服务器,通常利用一个问号“?”代表URL地址的结尾与数据参数的开端。

后面的参数每一个数据参数以“名称=值”的形式出现,参数与参数之间利用一个连接符&来区分。

2、Post请求:

Post请求数据是放在HTTP主体中的,其组织方式不只一种,有"&"连接方式,也有分割符方式,可隐藏参数,传递大批数据,比较方便

 

表单标签<表单域+表单按钮>,先写表单标签>表单域>表达按钮

 

创建一个表单

<form action='2.php' method='post'>
<input type='text' />
</ form>

action=url用来指定处理提交表单的格式.它可以是一个URL地址(提交给程式)或一个电子邮件地址(指的是action提交到什么地方)

method=get或post指明提交表单的HTTP方法. (指的是method该用什么请求方式提交)

type="text"定义单行文本输入框

value属性定义文本框的初始值

name属性定义文本框的名称,要保证数据的准确采集,必须定义一个独一无二的名称

<form action='2.php' method='post'>
         将数据传输到2.php 使用post请求进行传参

<input type='text' name='fenshu' />
          定义一个文本框,给这个文本框一个名称

<input type = 'submit' value='提交'/>
          提交数据,给提交一个按键

</ form>



<?PHP
var_dump($_POST)
查看数组
?>


<?PHP
$fenshu=$_POST['fenshu'];
$_POST[] 是数组  可以接收通过post方式传参过来的数据
一般用这个比较多

if($fenshu>=60){
	echo'及格';
}
else{
	echo'不及格';
}
?>


<?PHP
$fenshu=$_REQUEST['fenshu'];
REQUEST是超级全局变量,可以接受get和post请求
一般用这个比较多

if($fenshu>=60){
	echo'及格';
}
else{
	echo'不及格';
}
?>


<form action='2.php' method='GET'>
<input type='text' name='fenshu' />
<input type = 'reset' value='提交'/>
reset复位按键,清空所有值,方便重新输入
</ form>

 

PHP和数据库的交互

<?php
$c=mysqli_connect('localhost','root','root');
定义变量                                 本地连接,账号,密码

mysqli_select_db($c,'jjj');
连接数据库

$sql = 'insert into a value(255,\'php\')';
mysqli_query($c,$sql);
执行任意sql语句
?>


不写第二条也行

<?php
$c=mysqli_connect('localhost','root','root','jjj');
定义变量                                 本地连接,账号,密码,连接数据库的库名

$sql = 'insert into a value(255,\'php\')';
\\用转义字符区分单引号
mysqli_query($c,$sql);
?>
<?php
$conn=mysqli_connect('localhost','root','root','jjj');
  定义变量                   连接本地,账号,密码,库名      
$sql = 'select*from a';
$boss= mysqli_query($conn,$sql);
执行SQL语句,把结果返回给boss

while($kiss=mysqli_fetch_array($boss)){
     kiss是数组,储存boss返回的结果

	echo $kiss['id'];
        输出kiss
	echo"<br />";
}
?>

 

创建一个分数登记

数据表创建
create table fenshu(nane varchar(255),fs int(10),jg int(3));

简单建立接受用户传入数据的PHP

<?php
$name = $_POST['name']; //接收用户传入参数
$fenshu = $_POST['fenshu'];//接收用户传入参数
if($fenshu<60){
	$i=0;      //用0代表不及格
	echo'no'
}
else{
	$i=1;      //用1代表及格
	echo'yes'
}
$conn=mysqli_connect('localhost','root','root','jjj');  //连接数据库,连接账号,连接密码,连接的库名
$sql = 'insert into fenshu value($nane,$fenshu,$i)';   //插入用户传入的数据
$boss= mysqli_query($conn,$sql);      //执行SQL语句
?>

 

 

完善HTML和PHP之间的交互

<?php
$name = $_POST['name'];   //定义变量以post的请求方式传入变量

$fenshu = (int)$_POST['fenshu']; //定义变量以post的请求方式传入变量,
                                                用户在前端输入的是字符串类型所以要强转/在传参方式前加上(类型)即可
if($fenshu<60){        //判断用户传入数据是否小于60
	$i=2;              //定义变量,2为假,也就是不及格,输出‘no’
	echo'no';
}
else{                    
	$i=1;              //定义变量,1为真,也就是及格,输出‘yes’
	echo'yes';
}
$conn=mysqli_connect('localhost','root','root','kali');    //连接本地,账号,密码,库名

$sql = "insert into fenshu values('$name','$fenshu','$i')";   //执行插入语句,将用户传入数据插入到表里
$boss= mysqli_query($conn,$sql);             //执行
?>




<form action='1.php' method='POST'>      //传入数据到1.PHP里面,用post请求提交
姓名<input type='text' name='name' /><br />     //定义文本框,给文本框一个变量名,换行
分数<input type='text' name='fenshu' /><br />   //定义文本框,给文本框一个变量名,换行
<input type = 'reset' value='提交'/>                   //定义文本框,复位,控制提交
</ form>

输出表格中及格

<?php
$conn=mysqli_connect('localhost','root','root','kali'); //连接数据库,账号,密码,库名

$sql = "select*from fenshu where jg=1";  //SQL语句设置条件where 字段=1(及格时)
$boss= mysqli_query($conn,$sql);          //执行SQL语句
while($a = mysqli_fetch_array($boss)){   //循环执行,把循环执行的结果返回到变量里
    echo $a['nane'];                               //输出姓名
	  echo $a['fs'].' ';                          //输出分数
	  if($a['jg'] == 1){                       //判断变量是否等于jg==1,将结果返回给$a(也就是及格)
	  echo 'yes<br />';                       //输出yes
	  }
	else{                                           
		echo'no <br />';                 //不等于输出no
	}
}
?>

实现注册和登录

先新建一张表名为admin

create table admin(usename varchar(255),password varchar(255));

 

 

写一个登录页面

HTML部分

    <h5>登录后台<h5>
    <form action='2.php' method='POST'>   #将数据传入到2.PHP里,使用post请求方式
    登陆用户<input type='text' name='username' /><br />  #定义文本框,定义名字
    登录密码<input type='text' name='password' /><br />  #定义文本框,定义名字
    <input type = 'submit' value='提交'/>    #提交按键
    </ form>
PHP部分
    <?php
    $username = $_POST['username'];     #定义变量,接受用户传入数据
    $password = $_POST['password'];     #定义变量,接受用户传入数据
    $conn=mysqli_connect('localhost','root','root','kali');    #连接本地,账号密码,库名
    $sql = "select*from admin where username='$username'and password='$password'";    查找表admin  设置条件用户输入要等于账号密码字段
    $boss= mysqli_query($conn,$sql);  #执行SQL语句
    $row=mysqli_fetch_array($boss);   #将执行结果返回到row里
    if($username==$row['username'] and $password==$row['password'])   #判断用户输入与查询结果是否一致
    {
        echo'登陆成功';   #一致输出登陆成功
    }
    else{
        echo'登录失败';   #不一致输出登陆失败
    }
    ?>

写一个登录页面

HTML部分

    <h1>注册页面<h1>
    <form action='1.php' method='POST'>    #将数据传入到1.PHP里,使用post请求方式
    注册用户<input type='text' name='username' /><br />  #定义文本框,定义名字
    注册密码<input type='password' name='password' /><br />#定义文本框,定义名字
    <input type = 'submit' value='提交'/>  #提交按键
    </ form>
PHP部分
    <?php
    @$username= $_POST['username'];  #定义变量,用户输入传入变量里
    @$password= $_POST['password'];  #定义变量,用户输入传入变量里
    $conn = mysqli_connect ('localhost','root','root','kali');  #连接
    $sql = "insert into admin value('$username','$password')";  #SQL语句将用户输入插入到字段里
    echo $sql; #输出执行回显
    $a = (mysqli_query($conn,$sql));  #定义变量,执行SQL语句
    if($a){
    echo '注册成功';    #判断变量是否执行成功
    }
    else{
        echo'注册失败';
    }
    ?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值