HTML代码
<form action="" method="post">
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="4"/>
<input type="submit"/>
</form>
php函数主要用到implode
<?php
if ($_POST["action"]="doing"){
$del_id=$_POST["ID_Dele"];
$ID_Dele= implode(",",$_POST['ID_Dele']);
echo "合并后:".$ID_Dele."<br />合并前:";
if($del_id!=""){
$del_num=count($del_id);
for($i=0;$i<$del_num;$i++){
echo $del_id[$i];
}
}
}else{
echo "请提交";
}
?>
SQL 语句
$SQL="delete from `doing` where id in ($ID_Dele)"; ......
整理自:http://bbs.phpchina.com/viewthread.php?tid=18006
文件a.txt,用PHP如何判断它的编码是GBK还是UTF-8呢?
1,重新认识一下此问题,当时版主回复的时候我就觉得mb函数里一定有这样的功能,但今日研究了mb库,并没有这样的功能。用mb_detect_encoding总是不准确。
echo mb_detect_encoding(file_get_contents('a.txt'));
2,我在PHP的在线文档中找了一个方法,可以解决你的问题,需要自己编写一个函数来实现。
具体代码如下:
function isUTF8($str)
{
if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", "UTF-8"), "UTF-8", "UTF-32"))
{
return true;
}
else
{
return false;
}
}
$content = file_get_contents("a.txt");
echo isUTF8($content);
3,经测试,在编码种类不多的情况下,2方法成功率还是挺高的。
function ChickC($str)
{
$array = array('ASCII','GBK','UTF-8');
foreach ($array as $value)
{
if ($str === mb_convert_encoding(mb_convert_encoding($str, "UTF-32", $value), $value, "UTF-32"))
return $value;
}
r ......
PHP的JSON类库我使用的是Services_JSON
,没什么特别的优点,也没什么明显的缺点,对付用足矣。
建立文件data.php
:
<?php
include(
"JSON.php"
);
$data
= array(
array(
'name'
=>
mb_convert_encoding
(
'老王'
,
'UTF-8'
,
'GBK'
),
'age'
=>
'28'
),
array(
'name'
=>
mb_convert_encoding
(
'小黄'
,
'UTF-8'
,
'GBK'
),
'age'
=>
'27'
)
);
$json
= new
Services_JSON
();
echo
$json
->
encode
(
$data
)
;
?>
Javascript解析JSON我使用的是Jquery
,直接使用Javascript的eval则有个地方要注意:
var myObject = eval('(' + myJSONtext + ')');
具体可查看下面的参考链接。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>demo</title>
<script type="text/javascript" src="jquery-latest.pack.js"></script>
<script>
$(func ......
PHP的JSON类库我使用的是Services_JSON
,没什么特别的优点,也没什么明显的缺点,对付用足矣。
建立文件data.php
:
<?php
include(
"JSON.php"
);
$data
= array(
array(
'name'
=>
mb_convert_encoding
(
'老王'
,
'UTF-8'
,
'GBK'
),
'age'
=>
'28'
),
array(
'name'
=>
mb_convert_encoding
(
'小黄'
,
'UTF-8'
,
'GBK'
),
'age'
=>
'27'
)
);
$json
= new
Services_JSON
();
echo
$json
->
encode
(
$data
)
;
?>
Javascript解析JSON我使用的是Jquery
,直接使用Javascript的eval则有个地方要注意:
var myObject = eval('(' + myJSONtext + ')');
具体可查看下面的参考链接。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>demo</title>
<script type="text/javascript" src="jquery-latest.pack.js"></script>
<script>
$(func ......
<?php
// An array of allowed users and their passwords
$users = array(
'harryf' => 'secret',
'tom' => 'mypwd'
);
// If there's no Authentication header, exit
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="PHP Secured"');
exit('This page requires authentication');
}
// If the user name doesn't exist, exit
if (!isset($users[$_SERVER['PHP_AUTH_USER']])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="PHP Secured"');
exit('Unauthorized!');
}
// Is the password doesn't match the username, exit
if ($users[$_SERVER['PHP_AUTH_USER']] != $_SERVER['PHP_AUTH_PW'])
{
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="PHP Secured"');
exit('Unauthorized!');
}
echo 'You\'re in!';
?> ......
PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种
1.不转意html entities
一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。
echo $_GET['usename'] ;
这个例子有可能输出:
<script>/*更改admin密码的脚本或设置cookie的脚本*/</script>
这是一个明显的安全隐患,除非你保证你的用户都正确的输入。
如何修复 :
我们需要将"< ",">","and" 等转换成正确的HTML表示(< , >', and "),函数htmlspecialchars 和 htmlentities()正是干这个活的。
正确的方法:
echo htmlspecialchars($_GET['username'], ENT_QUOTES);
2. 不转意SQL输入
我曾经在一篇文章中最简单的防止sql注入的方法(php+mysql中)
讨论过这个问题并给出了一个简单的方法 。有人对我说,他们已经在php.ini中将magic_quotes设置为On,所以不必担心这个问题,但是不是所有的输入都是从$_GET, $_POST或 $_COOKIE中的得到的!
如何 ......
魔术引用发生作用是在传递$_GET,$_POST,$_COOKIE时
1.
条件: magic_quotes_gpc=off
写入数据库的字符串未经过任何过滤处理。从数据库读出的字符串也未作任何处理。
数据: $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).
操作: 将字符串:”snow”’’sun” 写入数据库,
结果: 出现sql语句错误,mysql不能顺利完成sql语句,写入数据库失败。
数据库保存格式:无数据。
输出数据格式:无数据。
说明: 对于未经处理的单引号在写入数据库时会使sql语句发生错误。
2.
条件: magic_quotes_gpc=off
写入数据库的字符串经过函数addlashes()处理。从数据库读出的字符串未作任何处理。
数据: $data=”snow”’’sun” ; (snow和sun之间是四个连续的单引号).
操作: 将字符串:”snow”’’sun” 写入数据库,
结果: sql语句顺利执行,数据成功写入数据库
数据库保存格式:snow”’’sun (和输入一样)
输出数据格式:snow”’’sun (和输入一样)
说明: addslashes()函数将单引号转换为\&rsq ......