1. クライアント IP アドレスを取得する
function getip(){
if (! empty($_SERVER [ "HTTP_X_FORWARDED_FOR"])){ // プロキシを使用します
$tip = split(",", $_SERVER["HTTP_X_FORWARDED_FOR"]);
$cip = $tip[0]; > else
$cip = $_SERVER["REMOTE_ADDR"];[
return dechex(ip2long($cip));
}
2.session control 関数
function session_begin(){
グローバル $userid, $sid, $ip, $session, $db, $islogin;
$ip = getip(); * 短期的には、システムはデフォルトで Cookie をサポートする必要があります。 */
if (!isset($_COOKIE['userid'])) return false;
else $userid = $_COOKIE['userid' ];
if (!isset($_COOKIE['sid'])) return false;
else $sid = $_COOKIE['sid']; /* 上記で false を返すと、ユーザーはログインすると、ホームページ (ログイン ページ) にジャンプします。 */
$query = "SELECT * FROM user WHERE Nickname = '$userid'"; ;sql_query($query ; 保存された非キス*/
if ($ row ['latloginip']! = $IP) Return false; 🎜>}
$ session = $ row;
// $ session [''] = $ row [''];
$islogin = true; 🎜>}
/* bool session_end(int $userid, string $sid) */
function sesssion_end($userid, $sid){
return true;
3. 美人コンテストの投票手順
header("Refresh:0;url=./"); 2 番目の
?>
<script>alert('<?php <BR>require_once('mysql.php' ); <br>require_once('functions.php'); <br>$db = 新しい sql_db('localhost','root','','selectmm'); <BR>$user_id = $_GET['user_id ']; <BR>$ip = getip(); time()-3600; // 1 時間を減算します <BR>$sql = "delete from vote where time <br>$db->sql_query($sql); ><br>$sql = "select ip from vote where ip='$ip' and user_id='$user_id'"; // 1 時間以内に送信されたかどうかを確認します <BR>$linkid=$db-> sql_query($sql) または die(mysql_error()); <br>$count=$db->sql_affectedrows(); <br>if($count) <br>{ <br>echo "すでに投票しています。"; <br>} <br>else <br>{ <br>$sql = "ユーザー設定の更新 vote_count=vote_count 1 WHERE user_id='$user_id'"; <br>$db->sql_query($sql) ; <br>$count=$db->sql_affectedrows(); <br>if($count) <br>{ <br> echo "投票は成功しました。 "; <br> $sql = "投票 (`ip`,`user_id`,`time`) 値に挿入 ('$ip','$user_id','".time()."')" ;/ /投票が成功した場合はレコードを挿入します。<br> $db-><br>} <br>else <br>{ <br> echo "投票は失敗しました!"; <br>} <br><br>} <br>?>'); <br>//history.back(); <br></script>
4.smarty的搜索程序
require_once('mysql.php');
$db = new sql_db('localhost','root','' ,'selectmm');
require_once('functions.php');
session_begin();
require('./Libs/Smarty.class .php');
$smarty = new Smarty;
$title = "首页";
$smarty-> assign("title",$title);
$age=$_GET['age'];
$arr=explode(',',$age);
$y=date('Y ');
$md=date('-m-d');
$begin=($y-$arr[1]).$md;
$end=($y-$ arr[0]).$md;
$sql="select p.* from pic_info p,user u p.user_id=u.user_id および u.birthday from '$begin' と '$end' u.user_id";
$link=$db->sql_query($sql) or die(mysql_error());
$row = $db->sql_fetchrowset($link);
$ db->sql_freeresult();
$smarty->assign("pic",$row);
$smarty->display('index.tpl.htm');
? ;
5.注册程序
require('mysql.php');
$str=new sql_db('localhost','root','','selectmm');
$METHOD = $_POST;
if (isset($METHOD['ニックネーム']) && $METHOD['ニックネーム'] != '') $ニックネーム = $METHOD['ニックネーム'];
else { echo "<script>alert("用户昵称は空とは言えません。")</script>"; echo "<script>location="register.php"</script>"; }
if (isset($METHOD['password']) && strlen($METHOD['password'])>=6) $password = $METHOD['password'];
else { echo "<script>alert("密码至少6位")</script>"; echo ""; }
$password2 = $METHOD['password2'];
if ($password != $password2)
{ echo "<script>alert("两次输入密码不一致")</script>"; echo "<script>location="register.php"</script>"; }
if (isset($METHOD['name']) && $METHOD['name'] != '') $name = $METHOD['name'];
else { echo "<script>alert("用户名不可空。")</script>"; echo "<script>location="register.php"</script>"; }
$birthday=$METHOD['年'].$METHOD['月'].$METHOD['日'];
$身長 = $METHOD['身長'];
$astrology = $METHOD['astrology'];
$bloodtype = $METHOD['bloodtype'];
$goodat = $METHOD['goodat'];
$work = $METHOD['work'];
$educate = $METHOD['educate'];
$homeplace = $METHOD['homeplace'];
$address = $METHOD['address'];
$tel = $METHOD['tel'];
$qq = $METHOD['qq'];
if (isset($METHOD['email']) && $METHOD['email'] != '') $email = $METHOD['email'];
else { echo "<script>alert("電子メール不可")</script>"; echo "<script>location="register.php"</script>"; }
if (!eregi("^[0-9a-z.-_] @[0-9a-z.] .[a-z]$",$email)) { echo "<script>alert( "電子邮件格式不法")</script>"; echo "<script>location="register.php"</script>"; }
$dian =$METHOD['dian'];
if (isset($METHOD['myself']) && $METHOD['myself'] != '') $myself = $METHOD['myself'];
else { echo "<script>alert("用....不可空")</script>"; echo "<script>location="register.php"</script>"; }
if(isset($METHOD['enounce'])&& $METHOD['enounce']!='')$enounce = $METHOD['enounce'];
else { echo "<script>alert(".... 空になることはできません")</script>"; echo "<script>location="register.php"</script>"; }
$query = "SELECT * FROM user WHERE nickname ='$nickname' or email='$email'";
$result = $str->sql_query($query)or die(mysql_error()); ;
if ($row = $str->sql_fetchrow($result))
{ echo "<script>alert("对不起,该用户已经注册")</script>"; echo "<script>location="register.php"</script>"; }
$password = md5($password);
$query = "INSERT INTO `user` (`ニックネーム`,`パスワード`,`名前`,`誕生日`,`占星術`,`血液型`,`身長`,`得意`,`仕事`,` educate`,`homeplace`,`address`,`tel`,`email`,`qq`,`dian`,`myself`,`enounce`) VALUES('$nickname','$password','$name) ','$誕生日','$占星術','$血液型','$身長','$良い人','$仕事','$教育','$自宅','$住所','$電話','$email','$qq','$dian','$myself','$enounce')";
if($str->sql_query($query))
$str->sql_close();
echo "<script>alert("恭喜你,注册成功")</script>";
echo "<script>location="login.php"</script>";
?>
6.提交パラメータ JS 制御
echo "删除该用户 ";
7.在给同事做一文本处処理,两个文档一个有7万条记录,开始用嵌套循環环,php死了,後面用数组解决了问题
if(($fp=fopen("1.txt","a "))===false)
{
die("打开文件失败") ;
}
$data1=file("old.txt") or die("打开文件失败");
$data2=file("sports.txt") or die("打开文件失败");
foreach($data1 as $data)
{
$x = split("[./]",$data);
$name = $x[count($x)-2];
$a[$name]['md5']=$data;
}
foreach($data2 as $data)
{
$x = split("[,./]",$data);
$name = $x[count($x)-2];
if(isset($a[$name]))
$a[$name]['name']=$x[0];
}
foreach($a as $value)
{
$str=$value['md5'].','.$value['name'];
fwrite($fp,$str);
echo $value['md5'].','.$value['name']."
";
fwrite($fp,$str);
}
?>
8.验证码
/*
* ファイル名:authimg.php
*/
Header("コンテンツの種類:画像/PNG");
session_start();
$auth_num = "";
/*カラーパネルの画像に基づいて画像を作成します*/
$im = imagecreate(63, 20);
/*初始化一个随机种子*/
srand((double)microtime() * 1000000);
$auth_num_k = md5(rand(0, 9999));
$auth_num = substr($auth_num_k, 17, 5);
/*赋值会话变量*/
$_SESSION['authnum'] = $auth_num;
$black = ImageColorAllocate($im, 0, 0, 0);
$white = ImageColorAllocate($im, 255, 255, 255);
$gray = ImageColorAllocate($im, 200, 200, 200);
ImageFill($im, 63, 20, $black);
imagestring($im, 5, 10, 3, $auth_num,$gray);
for($i = 0;$i < 200;$i ){
$randcolor = ImageColorallocate($im, rand(0,255), rand(0,255), rand(0,255));
imagesetpixel($im, rand()p, rand()0, $randcolor);
}
ImagePNG($im);
ImageDestroy($im);
?>