php总结

1 php是弱类型语言 整形过长时会带来一系列问题

2 命令行模式要注意加载的php配置文件路径

3 字符的输出要注意utf-8还是gb2312 否则会乱码

4 异步脚本思想 封装思想 可控制思想 可追溯思想、

5 cookie与session用法 熟悉使用 写一个登入的将所有用法都用一遍

[{"periodCode":"100220140428","sku":"KYP520123402","number":"171","attributes":"\u8868\u76d8:\u94f6","quantity":3,"isGetBigShelf":"N","pickoutQuantity":3,"checkQuantity":3}

,{"periodCode":"102720140831","sku":"KYP520123427","number":"170","attributes":"\u8868\u76d8:\u94f6","quantity":7,"isGetBigShelf":"N","pickoutQuantity":7,"checkQuantity":7}]

 

第二篇:Php中遇到问题总结

Php中遇到问题总结

1. [09-Jul-2012 06:58:06] PHP Warning: date() [<a href='function.date'>function.date</a>]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in

C:\myenvironment\apache\htdocs\mycart\application\controllers\IndexController.php on line 9

解决办法:

在php4的版本没有时间区域的设置 php5的版本开始引入

如果没有配置过的话 默认是零时区的时间 但是不会报错 可能在php6中这个更严格了 成了必选项那么你就按照相关的提示在php.ini中设置一下 或者在文件头使用 set_default_time_zone('PRC')设置一下 PRC表示中国的意思 这样你说的第一个问题就解决啦

date_default_timezone_set('UTC')在php的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。

当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。 为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测该设置的状态决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉该设置。 magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的\'\"\\加上反斜线。可以用get_magic_quotes_gpc()检测系统设置。当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0 如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给需要显示的特殊字符前加上了反斜线。这些字符是单引号(\')、双引号(\")、反斜线(\\)与 NUL(NULL 字符)。一般用法如下;

if(!get_magic_quotes_gpc())

{

addslashes($prot);

}

因此可以看出这个get_magic_quotes_gpc()函数的作用就是得到环境变量magic_quotes_gpc的值。

既然在PHP6中删除了magic_quotes_gpc这个选项,那么在PHP6中这个函数…… 呵呵......

这是因为PHP

Php中遇到问题总结

所取的时间是格林威治标准时间,所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右,我们可以按照下面的方法解决。

解决办法:

1、在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即 < ?php

date_default_timezone_set("PRC");

?>

就可以了。

2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:

date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。

Php中遇到问题总结

Php中遇到问题总结

2.

Php中遇到问题总结

PHP+JQuery 通过Jason异步获取数据实现AJAX

之前弄 VPNForce 网站的时候,就使用了 ASP.NET + JQuery + Json 做异步数据传输。最近做一个小PHP项目,又碰到了类似的需求。其中有一个很简单的应用,就是当用户选择了Country,例如在下拉列表中选择了Hong Kong这个城市,那么在电话号码区号栏中,就会自动地出现0852的号码,但页面不希望刷新,有朋友在Javascript里面写了一大串 IF country='Hong Kong',ELSE IF……头晕脑胀。

现在网上已经有很多现成的城市数据库表,里面包含了电话区号,邮政编码等等,直接下下来用就好了,那么我们只需要在程序里做一些小小的处理。

直接入正题:

首先是PHP的主页面:

<select name="country" id="country" onchange="PostCountryJson();">

在 select 控件里,当触发 onchange 事件的时候,我们执行 PostCountryJson() 这个JavaScript

Function

其次是 JavaScript 代码,和之前写的 ASP.NET 调用的一样的:

function PostCountryJson() {

var mid = $("#country").val();

var queryString = {"mid":mid}

var url = "getCountrycode.php";

$.getJSON(url, queryString,function (json) {

$("#tel_country_code").get(0).value = json.countryCode;

});

}

也是通过 Json 数据集获取数据。在这里执行的不再是 .aspx ,而是.php了。

最后当然就是 getCountrycode.php 代码了:

<?php

include_once '../configure/conn.php'; // 建立与mysql database 的链接

$country = $_GET['mid']; // 获得从PostCountryJson()传来的mid参数,就是城市名称啦

// 执行搜索,搜索country表里该程式的资料

$selectStr = "SELECT * FROM country WHERE country_name = '".$country."'";

$result = mysql_query($selectStr,$conn);

if ($result) {

$countryCode = mysql_fetch_array($result);

}

$countryCodeStr = $countryCode['country_code']; // 将 country_code 字段的数据存放到变量

$jsonArr = array('countryCode'=>$countryCodeStr); // 按照Jason的格式写成一个数组

$jsonStr = json_encode($jsonArr); // 编码Jason数据,没想到比.net还要简单呀

echo ($jsonStr); // 输出Jason数据

?>

相关推荐