ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルに書かれたいくつかの小さなこと

PHP_PHP チュートリアルに書かれたいくつかの小さなこと

WBOY
WBOYオリジナル
2016-07-21 15:59:35849ブラウズ

いくつかの小さな機能が使用できることがあります。


1. クライアントの IP アドレスを取得します。


Function Getip () {
if (! Empty ($ _server ["http_x_Forwarded_For"]) {//
$tip ( ",", $_SERVER["HTTP_X_FORWARDED_FOR"])
ip2long($cip)) を使用します
}


2.セッション制御関数


function session_begin(){ global $userid, $sid, $ip, $session, $db, $islogin;
$ip = Getip (); p/*短期的には、システムはデフォルトで Cookie をサポートする必要があります (! Isset ($ _ cookie ['sid']) false を返します。
else $ sid = $ _Cookie ['sid'];
/* または上記は、ユーザーがログインしていないことを意味し、ページはホームページ (ログイン ページ) にジャンプします。 SELECT * FROM ユーザー WHERE ニックネーム = '$userid'";
$result = $db->sql_query($query);
if ($row = $db->> ; SQL_FETCHROW ($ Result)) {
IF ( $ Row ['SID']! = $ SID) Return false;/*Cookie 送信 SID とデータベースの保存*/
if ($ row ['Lastloginip'] != $ip) return false; /* IP が一致しません * /
$session = $row;
// $session[''] = $row[''];
unset($row);

$islogin = true;
}

/* bool session_end (int $userid, string $ SID)*/nFunction session_end ($ userid, $sign) {
true を返す
}


3. 美しさの投票手順 & & lt;? URL =.// "); //1 秒で更新
?>
<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(); -3600; //Go を 1 時間削減します <BR>$sql = "delete from vote where time <$deltime" //期限切れのデータを削除します <br><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-&gt ;sql_affectedrows(); <br>if($count) <br>{ <br> echo "投票は成功しました! "; <br> $sql = "vote (`ip`,`user_id`,`time`) の値を挿入 ('$ip','$user_id','".time()."')";/ /vote 成功すると、レコードが挿入されます。<br> $db->sql_query($sql); <br><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('session.php'); ();
require('./Libs/Smarty.class.php');
$smarty = new Smarty;
$smarty->assign("islogin",$islogin);
$smarty->assign("title",$title);
$age=$_GET['age'];
$y=date('Y ');
$md=date('-m-d');
$begin=($y-$arr[1]).$md;
$end=($y-$arr[0]) $md;
$sql="p.user_id=u.user_id と u.user_id によるグループ「$begin」と「$end」の間の p.* を選択します"; =$db->sql_query($sql) または die(mysql_error());
$row = $db->sql_fetchrowset($link);
$smarty-> assign("pic",$row);
$smarty->display('index.tpl.htm');


5.注册程序


require 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']; 
$血液型 = $METHOD['血液型']; 
$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` (`ニックネーム`,`パスワード`,`名前`,`誕生日`,`占星術`,`血液型​​`,`身長`,`得意`,`仕事`,`教育` ,`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.验证码


/*
* Filename:authimg.php
*/

Header("Content-type:image/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()%70, rand()%30, $randcolor); 
}
ImagePNG($im); 
ImageDestroy($im); 
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/317307.html技術記事 1. クライアント IP アドレスを取得する functiongetip(){ if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){///プロキシを使用する $tip=split("," ,$ _SERVER["HTTP...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。