PHP で書かれたいくつかの小さなこと
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);
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
