1. Checkbox 陣列接收
<input type="checkbox" name="ids[]" value="1">
<input type="checkbox" name="ids[]" value="2">
// PHP
$ids = $_POST['ids'] ?? [];
// 數值型 IN 查詢
$in = implode(',', array_map('intval', $ids));
// 字符串型 IN 查詢
$in = "'" . implode("','", array_map('mysql_real_escape_string', $ids)) . "'";
2. 表單提交判斷
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 處理提交
} else {
// 顯示默認值
}
3. 字符串長度(多字節安全)
mb_strlen($str, 'UTF-8'); // 而非 strlen()
4. URL 跳轉
<?php
header('Location: ' . $_SERVER['HTTP_REFERER'] ?? '/');
exit;
5. $GLOBALS 超全局陣列
<?php
$a = 1; $b = 2;
function sum() { $GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; }
sum(); echo $b; // 3
6. 表單取值統一
$val = $_POST['field'] ?? ($_GET['field'] ?? ''); // 兼容 GET/POST
7. 獲取客戶端 IP(穿透代理)
<?php
function getClientIp(): string {
foreach (['HTTP_CLIENT_IP','HTTP_X_FORWARDED_FOR','REMOTE_ADDR'] as $key) {
if (!empty($_SERVER[$key])) {
$ips = explode(',', $_SERVER[$key]);
return trim($ips[0]);
}
}
return 'unknown';
}
8. 當前時間格式化
<?php
echo date('Y-m-d H:i:s'); // 2024-01-15 14:30:00
echo date('Y年m月d日'); // 2024年01月15日
echo date('Y-n-j'); // 2024-1-15