検索

開発を行うときは、すべてのエラー プロンプトをオンにしてください: error_reporting = E_ALL | E_STRICT
エラー プロンプトをブロックすることは、耳を隠してベルを盗むことと同じです。
標準化された方法でコードを作成すると、エラーが半分に減ります。

1: 変数を取得できないのはなぜですか?

ある Web ページから別の Web ページにデータ名を POST するのに、$name を出力すると値を取得できないのはなぜですか?

PHP4.2 以降のバージョンの場合register_global のデフォルトは off です
別のページから送信された変数を取得したい場合:

方法 1: PHP.ini で register_global を見つけて on に設定します。
方法 2: この extract($_POST) を先頭に置きます。受信側 Web ページ; extract($_GET);(extract($_SESSION) の前に Session_Start() が必要であることに注意してください)。
//extract ( array $var_array [, int $extract_type [, string $prefix ]] )

//この関数は、配列から現​​在のシンボル テーブルに変数をインポートするために使用されます。連想配列 var_array を引数として受け入れ、キー //name を変数名として、値を変数の値として使用します。キーと値のペアごとに、 //extract_type パラメーターと prefix パラメーターの影響を受ける変数が現在のシンボル テーブルに作成されます。
//import_request_variables ( string $types [, string $prefix ] ) はスーパーグローバルであり、$_ $* に抜け穴があります

方法 3: 変数を 1 つずつ読み取る $a=$_GET["a"];$b= $_POST["b"] など。この方法は面倒ですが、安全です。

2: プログラムをデバッグする

実行時に特定の変数の値を知っておく必要があります。これが私がやったことです。debug.php ファイルを作成します。その内容は次のとおりです:

PHP コード: ------------------------ -------------------------------------------------- -- --

コードをコピー

Ob_Start();
Session_Start();
Echo "

";<br> Echo "このページで取得される _GET 変数は次のとおりです:";<br> Print_R($_GET);<br> Echo " このページで取得される _POST 変数は次のとおりです: ";<br> Print_R($_POST);<br> Echo "このページで取得される _COOKIE 変数は次のとおりです: ";<br> Print_R($_COOKIE);<br> Echo "このページで取得される _SESSION 変数ページは :";<br> Print_R($_SESSION);<br> Echo "
";



---------------------- -------------------------------------------------- -- ----

次に、php.ini で include_path = "c:/php" を設定し、このフォルダーに debug.php を置きます。
今後はこのファイルをすべての Web ページに含めて、結果の変数を表示できます。名前と値。

3: session の使用方法

セッションに関連するすべてのものは、その前に関数 session_start() を呼び出す必要があります。

セッションの値の支払いは、次のように非常に簡単です:


PHP コード: ---- --- --------------------------------------------------- --- --------------------------

php4.2以降は、セッション料金を直接支払うことができます:

PHPコード:- ----- -------------------------------------- ----- ------------------------

[php]
Session_Start();
$_SESSION["name"]= "値";
[/php]

-------------------------------------- ---------- ----------------------------------

このようにセッションをキャンセルします:

PHP コード:---- -------------------------------------- ---------- ------------------------

[php]
session_start();
session_unset() ;
session_destroy();
[/php]

------------------------------------- ------------- ----------------------------------


php4.2 以降では、特定のセッション変数をキャンセルする際にバグがあります。



注:

1: Session_Start() を呼び出す前に出力を行うことはできません。たとえば、以下は間違っています。 ===================== ====================
1行
2行 [php]
3 行 Session_Start();//最初の行の前にすでに出力がありました
4 行....
5 行[/php]
================ ======================== ====


ヒント 1:

「...ヘッダーはすでに送信されました...」が表示されるたびに、これは、Session_Start()の前にブラウザに情報が出力されていることを意味します。
出力を削除すれば正常になります。 (このエラーはCOOKIEでも発生し、エラーの原因は同じです)

ヒント2:

Session_Start() がループ ステートメント内に配置されており、情報が以前にブラウザーに出力された場所を特定するのが難しい場合は、次の方法を使用できます。
1 line [php] Ob_Start();
....これがあなたのプログラムです...



2: エラーは何ですか?

警告: session_start(): open(/tmpsess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) が失敗しました:....
セッション ファイルの保存パスを指定します。

解決策:
(1) C ドライブに tmp フォルダーを作成します
( 2) php.ini を開き、session.save_path を見つけて、それを session.save_path= "c: /tmp"



4: 変数を別の Web ページに送信すると、変数の前半とスペースで始まる部分だけが取得されるのはなぜですか? すべてが失われています


PHP コード:----- -------------------------------------- ---------- ----------------------------

[php]
$Var="hello php ";//$Var に変更します=" hello php"; 結果を取得してみます。$post= "receive.php?Name=".$Var;
header("location:$post");
[/php]

----------------- -------------------------------------------------- -------------

receive.php 内容:

PHP コード:---------- ---- ------------------------------------------------ ---- --

[php]
Echo "
";<br>Echo $_GET["Name"];<br>Echo "
";
[/php]

--- ---- ------------------------------------------------ ---- ------------------------


正しい方法は次のとおりです:

PHP コード:---------- ----- -------------------------------------- ----- ---------------

[php]
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header ("location:$post");
[/php]

-------------------------------- -- ------------------------------------------------ -


受信ページで Urldecode() を使用する必要はありません。変数は自動的にエンコードされます。


5: "[/php]" で終わらずに指定された長さの中国語文字をインターセプトする方法、および余分な部分は "..." で終わります


一般に、インターセプトされる変数は Mysql からのものです。まず、フィールドの長さが十分な長さであることを確認します (通常は char(200))。これには 100 文字の中国語文字を保持できます。 、句読点を含む

PHP コード: --- -------------------------------------- ------------ ------------------------

[php]
$str="このキャラクターとても長いです、^_^";
$ Short_Str=showShort($str,4);//最初の 4 つの中国語文字をインターセプトすると、結果は次のようになります: この文字...
Echo "$Short_Str";
Function csubstr( $str,$start,$len)
{
$ strlen=strlen($str);
$clen=0;
for($i=0;$i{
if ($clen>=$start+$len)
break ;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr. =substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}

return $tmpstr;
}
関数 showShort ($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str$tempstr)
$ tempstr .= "..." //終わりについては、ここを変更するだけです。

return $tempstr;
}

------ -------------------------------------------------------- ----



6: SQL ステートメントを標準化します


キーワードの誤用によるエラーが発生しないように、テーブルやフィールドの前に「`」を追加します。
もちろん、使用することはお勧めしませんキーワード。

例:
$Sql="INSERT INTO `xltxlm` (`author`, `title`, `id`, `content`, `date`) VALUES ('xltxlm', 'use`', 1, 'criterion your SQL string ' , '2003-07-11 00:00:00')"

"`"入力方法は? TAB キーです。


7: Html/PHP 形式の文字列を防ぐ方法解釈されませんが、そのまま表示


PHPコード:------------------------------------- ---------- --------------------------------------

[php]
$str="

";
Echo "解釈されました: ".$str."
処理されました:";
Echo htmlentities(nl2br($str)) ;
[/php]

nl2br() 関数は、文字列内の各改行 (n) の前に HTML 改行文字 (
) を挿入します。
htmlentities(string,quotestyle,character-set)


quotestyle はオプションです。一重引用符と二重引用符をエンコードする方法を指定します。

ENT_COMPAT - デフォルト。二重引用符のみがエンコードされます。
ENT_QUOTES - 二重引用符と一重引用符をエンコードします。
ENT_NOQUOTES - 引用符をエンコードしません。

character-set

ISO-8859-1 - デフォルト。西ヨーロッパ。
ISO-8859-15 - 西ヨーロッパ (ユーロ記号とフランス語とフィンランド語の文字を追加)。
UTF-8 - ASCII 互換のマルチバイト 8 ビット Unicode
cp866 - DOS 固有のキリル文字セット
cp1251 - Windows 固有のキリル文字セット
cp1252 - Windows 固有の西ヨーロッパ文字セット
KOI8-R - ロシア語
GB2312 - 簡体字中国語、国の標準文字セット
BIG5 - 繁体字中国語
------------------------------------------------- ----- --------------------------------------



8:関数内での取得方法 関数外の変数値


PHPコード:-------------------------------- ------------------------ -------------------------------------------- ---

[php]
$a= "PHP";
foo();
Function foo()
{
global $a;//ここを削除して結果を確認してください
Echo "$a";
}
[/php]

---- ------------------------------------- ------------- ------------------------



9: 何をどうやって知ることができますかシステムがデフォルトでサポートする関数


PHP コード:---- ---------------------------------- ---------------- ------------------------

[php]
$arr = get_dependent_functions();
Function php() {
}
echo "
";<br>Echo "システムでサポートされているすべての関数とカスタム関数 phpn が表示されます";<br>print_r($arr);<br>echo "
";
[/php]
-------- -- ------------------------------------------------ -- ----------


10: 2 つの日付の差を比較する方法


PHP コード:----------- - ------------------------------------------------- - --------------------

[php]
$Date_1="2003-7-15";//次のようにすることもできます:$Date_1="2003- 6-25 23:29:14";
$Date_2="1982-10-1";
$Date_List_1=explode("-",$Date_1);
$Date_List_2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[1],$ Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
エコー "$Days 日間苦労しました^_^";
[/php ]

(strtotime($Date_1) - strtotime($Date_2))/3600/24
------------------------------------- --- ----------------------------------------------- -


11: PHP をアップグレードした後、元のプログラムが全画面表示になったのはなぜですか 注意: 未定義の変数:


これは、変数が未定義であることが原因で発生する警告です。
php.ini を開いて一番下の error_reporting を見つけ、error_reporting に変更します。 = E_ALL & ~E_NOTICE

解析エラー error
error_reporting(0) をオフにすることはできません。
エラー プロンプトをオフにしたい場合は、php.ini を開いて、display_errors を見つけ、display_errors = Off に設定してください。プロンプトは表示されません

それでは、error_reportingとは何でしょうか?



12: ファイルの先頭と最後にファイルを追加したいのですが、1つずつ追加するのは非常に面倒です

1: phpを開きます。 ini ファイル
Set include_path= "c:"

2: 2 つのファイル
auto_prepend_file.php と auto_append_file.php を作成し、C ドライブに保存すると、各 php ファイルの先頭と末尾に自動的に添付されます

。 3: ini にあります:
PHP ドキュメントの前後にファイルを自動的に追加します。
auto_prepend_file = auto_prepend_file.php; 末尾に添付します

あなたの php ファイルは

PHP コードと同等になります:------------------------------------- ---------- --------------------------------

[php]
「」を含めるauto_prepend_file.php" ;

... ....//プログラムは次のとおりです


Include "auto_append_file.php";
[/php]

------------- ---------------------------------------------------- -------- --------




13: PHP を使用してファイルをアップロードする方法



PHP コード:------------ ----------- -------------------------------------- ----------- -------
[php]

アップロードファイルフォーム


ファイルを選択してください:






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

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPおよびPython:コードの例と比較PHPおよびPython:コードの例と比較Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

アクション中のPHP:実際の例とアプリケーションアクション中のPHP:実際の例とアプリケーションApr 14, 2025 am 12:19 AM

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP:インタラクティブなWebコンテンツを簡単に作成しますPHP:インタラクティブなWebコンテンツを簡単に作成しますApr 14, 2025 am 12:15 AM

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPython:2つの一般的なプログラミング言語を比較しますPHPとPython:2つの一般的なプログラミング言語を比較しますApr 14, 2025 am 12:13 AM

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの永続的な関連性:それはまだ生きていますか?PHPの永続的な関連性:それはまだ生きていますか?Apr 14, 2025 am 12:12 AM

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。