ホームページ  >  記事  >  php教程  >  PHP で書かれたいくつかの小さなこと

PHP で書かれたいくつかの小さなこと

WBOY
WBOYオリジナル
2016-06-13 12:35:32805ブラウズ




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; 🎜>} Else Return false;/*このユーザーIDなし*/
$ 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,$g​​ray); 

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); 
?>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。