PHP 和 Mysql 学习笔记(四)
1. 如何禁用 select 下拉列表中的某一项
<option selected>——请选择——</option>
<optgroup label="分类一">
<option>——子类一</option>
<option>——子类二</option>
</optgroup>
<optgroup label="分类二">
<option>——子类一</option>
<option>——子类二</option>
</optgroup>
</select>
2. EMS SQL Manager中文显示乱码
打开EMS SQL Manager点击那个数据库出现了许多属性
选择database registration info中有一个client charset
选择gb2312简体中文
3. Mysql 乱码
MySQL数据库字符集为utf8
并且网页通过UTF-8编码发送
这时存入数据库的仍然是乱码
需要做以下设置:
@mysql_connect($dbhost,$dbuser,$dbpassword);
加上下面这行
$this->query("SET NAMES 'utf8'");
在每次发送sql查询前设定字符集为utf-8
4. 正则表达式
Email匹配
if(!preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$email))
{
echo "邮件格式不正确";
}
5. PHP5中时间相差八小时的解决办法
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s');
?>
6. PHP防止SQL注入攻击的简单方法
1.修改PHP的配置文件 php.ini ,将display_errors的值设为Off,这样保证PHP脚本在出错之后不会在页面中显示错误信息。
2.在Mysql函数前加错误抑制符 @ ,避免输出mysql错误。
3.对所有用户输入的数据进行转义并进行类型检查。
7. 返回GD函数版本号
if (function_exists('gd_info')) {
$GDArray = gd_info();
$gd_version_number = $GDArray['GD Version'] ? $GDArray['GD Version'] : 0;
unset($GDArray);
} else {
$gd_version_number = 0;
}
return $gd_version_number;
}
8. 获得用户的真实IP地址
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
/* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
foreach ($arr AS $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
if (isset($_SERVER['REMOTE_ADDR']))
{
$realip = $_SERVER['REMOTE_ADDR'];
}
else
{
$realip = '0.0.0.0';
}
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
preg_match("/[\d\.]{7,15}/", $realip, $onlineip);
$realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';
return $realip;
}
9. 连接多个ID,以便创建像这样的查询: "IN('a','b')";
$ids = $comma = '';
if (is_array($array) && count($array)){
foreach($array as $id) {
$ids .= "$comma'".intval($id)."'";
$comma = ', ';
}
}
return $ids;
}
相关日志
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments
还没有评论。
发表评论