php小结 新手入门

2 篇文章 0 订阅
2 篇文章 0 订阅

经过接近20天的学习,对php有了初步的了解。在此对php进行一些对php一些小小的总结:

1: PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。学习该语言的前提是对html有一定的了解。

Html部分

(1)       连接  <ahref="http://www.w3school.com.cn">This is a link</a>

(2)      图像  <imgsrc="w3school.jpg" width="104" height="142" />

(3)      FORM标签enctype属性  表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,

(4)      上传文件的表单

<form action="index.php" enctype="multipart/form-data"method="post"

    name="upform">上传文件: <input name="upfile" type="file"> <input

    type="submit" name="submit"value="上传"><br>

</form>

2 php部分

了解了这些就可以为php提供基本的表单了:但是如果想要用php编写网站,还要对php基础语法进行一些了解,当然网上的教程数不胜数,在此我推荐一个网站吧http://www.w3school.com.cn/php/

语法比较全面 基础 对于新手来说还可以看懂,对于高手来说但让会差php手册,但对像我这样的新手来说还是好好 看下教程,再慢慢看php手册把;

谈不上心得,说一下我在自己变成的时候碰到的一些问题,所获得的一些经验吧

(1)变量

刚开始看php的时候给我最大的震惊就是 php里面的变量不需要事先声明就可以直接用,命名规则我没有细看,也许我没有碰到类似的错误,只需要把我们以前的变量前面加一个$符号就可以做php的变量了,类型转换好像也是自动的由低级转换成高级吧,强制类型转换,我目前没用到,其实我还不会。

(2)与其他语言相似部分

       每种语言都会有自己的语法规则这是众所周知的 但是 循序结构  选择结构 ifelse  switch  循环while  for  do while  foreach  近乎相通 在此就不多做介绍了;

(3)sessioncookie

这个该怎么说那,在java里面应该也有 但是鄙人没有好好学习,不知道在java里面该怎么用的 在这里说一下他们两个的用法 cookie

在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半

自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie

与Session来跟踪和判断。

区别

Session信息是存放在server端,但session id是存放在client cookie的,当然php

的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪

 

Cookie是完全保持在客户端的如:IEfirefox 当客户端禁止cookie时将不能再使用

具体使用:

由于cookie不是及时生效的,所以我的记住密码的功能没有实现 但是我记住了一句话就是刷新一下就cookie 就能生效了 具体使用以后再讲吧

让我感觉有成就感的就是session了  这个功能我实现了  并且感觉session非常有必有使用,因为有些网页,我们需要有权限才可以进入的 不能还没有登录就对后面的网页增删改查把

如果感觉有必要用到session  就先得调用session_start();     这个函数

Session的具体操作是这样的

$_SESSION[name]=value;  //配置Seeeion

 

echo $_SESSION[name];    //使用session

 

isset($_SESSION[name]);   // 判断

 

unset($_SESSION[name]);   //删除

 

session_destroy();             //消耗所有session

 

在我不会用的时候这些东西我是看不懂得  甚至我不知道什么时候该用到session  在这里我说明一下

就拿简单的登录为例,登录成功跳转的index页面 所以访问 index页面的时候我们需要先进行一个判断 判断是有已经登录 如果没有登录的话就没有权限进行访问该页,或跳转到登录页面 或者退出

下面举例说明

Login.php

session_start ();   //把session打开

if ($_POST ["username"] && $_POST ["password"]) {  //判断有没有传值过来

          

           $_SESSION ["id"] = $_POST ["username"];   //给session赋值

           $_SESSION ["psw"] = $_POST ["password"];

      

       }

Index.php

<?php

 

session_start ();

 

if ($_SESSION ['id'] == "") { //如果session的值为空的话,则证明没有登录

    echo "请先登录";

    header ( 'Location:biaodan.php');//跳转到登录页面

 

} else {

    echo $_SESSION ['id'];

    echo "welcom";

 

}

?>    

    

(4)php与mysql

       Mysql的简介我就不说了,众所周知,几乎所有语言都会用到连接数据库,对数据库进行一系列的操作,php也不例外,但是我感觉php连接数据库是我见到的最简单的 因为不需要加载任何驱动 只是几个函数而已;

<1>连接到一个mysql数据库

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
 
// some code
 
?>

<2>关闭连接  //切记 如果不关的话 貌似会浪费资源  我就经常忘记

mysql_close($con);

<3>接下来就是对数据库的增删改查

查询:下面代码是我登陆界面用到的代码,希望能给大家带来点帮助

$con = mysql_connect ( "localhost", "root", "123" );

                     if (! $con) {

                         die ( 'could notconnect' . mysql_error () );

                    

                     }

                     mysql_select_db ( "zuoye", $con );

                     $strSql = "select * from user where username='$_POST[username]' and password='$_POST[password]'";

                     $result = mysql_query ( $strSql ) or die(mysql_error());

                    

                     if (! $result) {

                        

                         echo "登陆失败";

                         //exit ();

                     }

                    

                     $num = mysql_num_rows ( $result );

                     if ($num > 0) {

                         header ( 'Location:index.php' );

                    

                     } else {

                        

                         echo "用户名密码错误";

                         echo "用户名密码错误";

                    

                     }

这里用到了一个函数是mysql_query();mysql_query()仅对 SELECT,SHOW,EXPLAIN或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。 具体的参看手册 这个是别人告诉我的 我貌似也没有看懂  但是我已经实现了查询表中数据 贴出代码一看

$con = mysql_connect ( "localhost", "root", "123" );

           if (! $con) {

              die ( 'could notconnect' . mysql_error () );

          

           }

           mysql_select_db ( "zuoye", $con );

           $st="selectpic_url from user where username='" . $_SESSION ['id'] . "'";

           $tu=mysql_query($st);

           $r=mysql_fetch_array($tu);

           echo "" . $r['pic_url'] . "'";

具体原理大家探讨

Update  insert delete 大家应该都明白的差不多了  

<3>文件上传

$_FILES['myFile']['name']   客户端文件的原名称。

$_FILES['myFile']['type']   文件的 MIME 类型,例如"image/gif"。

$_FILES['myFile']['size']   已上传文件的大小,单位为字节。

$_FILES['myFile']['tmp_name']   储存的临时文件名,一般是系统默认。

$_FILES['myFile']['error']   该文件上传相关的错误代码

这是我写的图片上传的例子,大家一起来探讨

if (isset ( $_POST ["submit"] )) {

    if (is_uploaded_file ( $_FILES ["upfile"] ["tmp_name"] )) {

      

       $upfile = $_FILES ["upfile"];

      

       $name = $upfile ["name"];

       $type = $upfile ["type"];

       $size = $upfile ["size"];

       $tmp_name = $upfile ["tmp_name"];

       $error = $upfile ["error"];

      

       switch ($type) {

           case 'image/pjpeg' :

              $ok = 1;

              break;

           case 'image/jpeg' :

              $ok = 1;

              break;

           case 'image/gif' :

              $ok = 1;

              break;

           case 'image/png' :

              $ok = 1;

              break;

       }

      

       if ($ok && $error == '0') {

           move_uploaded_file ( $tmp_name, 'up/' . $name );

           // 将文件名保存到数据库

           // 数据库链接部分,自行修正完整

           $con = mysql_connect ( "localhost", "root", "123" );

           if (! $con) {

              die ( 'could notconnect' . mysql_error () );

          

           }

           mysql_select_db ( "zuoye", $con );

           //更新数据库字段img 查询条件 用户id

           $SQL = "UPDATE  user SET `pic_url`='{$name}' where username='" . $_SESSION ['id'] . "'";

          

           mysql_query ( $SQL );

          

           if (mysql_affected_rows () > 0) {

              echo "<img src='" . 'up/' . $name . "'   width='104' height='50'/>";

             

              echo "上传头像数据更新成功";

              echo "$name.<br/>";

              echo "$type.<br/>";

              echo "$size.<br/>";

              echo "$tmp_name.<br/>";

           } else {

              echo '数据更新失败';

           }

在本目录下建一个up文件夹  上传的图片会移动到那里   数据库里存的是文件名

move_uploaded_file ( $tmp_name,'up/' . $name );

这个函数就是移动文件的

<4>验证吗

       验证码是为了防止 被一些恶意程序 恶意注册  现在几乎所有的网站都可以见到验证码了

如果要php生成图片需要启用一个GD库

;extension=php_gd2.dll

打开php.ini文件 找到上面这段代码 把前面的分号去掉就启用了GD 库

由于环境不一样    急用的方式也各有不同  网上都有的   百度谷歌一下就知道了

用到的函数

1、 imagecreatetruecolor   新建一个真彩色图像

imagecreatetruecolor ( int x_size, int y_size) // x就是宽 ,y就是高

2、imagecolorallocate  为一幅图像分配颜色(调色板)

imagecolorallocate ( resource image, int red, int green, int blue )

3、imagestring  绘图函数

imagestring ( resource image, font, int x,int y, 内容 , 颜色 )

由于是制作验证码 所以用到了随即函数

1 、rand 随机函数

rand ( [int min, int max] )

2、dechex 十进制转换为十六进制

dechex ( 十进制数 )

我做的验证码的例子

<?php

//echo "abc2";

//exit();

session_start();

 

 

for ($i=0;$i<4;$i++)

{

    $s.=dechex(rand(1, 15));

   

}

$_SESSION[pic]=$s;

$im=imagecreatetruecolor(100,30);

$bg=imagecolorallocate($im,rand(0, 255), rand(0, 255), rand(0, 255));

$te=imagecolorallocate($im,rand(0, 255), rand(0, 255), rand(0, 255));

imagestring($im, rand(1,6),rand(3, 70), rand(0, 16), "$s", $te);

 

ob_clean();

header("Content-type: image/jpeg");

 

imagejpeg($im);

?>

总结 都说php简单 比起其他语言来说他真的挺简单的 但是如果想写出一个好的网页还有有思想 勤动手才可以成为一个php程序员

 

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值