検索

開発を行うときは、すべてのエラー プロンプトをオンにしてください: 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依存性噴射コンテナ:クイックスタートPHP依存性噴射コンテナ:クイックスタートMay 13, 2025 am 12:11 AM

aphpDependencyInjectionContaineriSATOULTAINATINAGECLASSDEPTINCIES、強化測定性、テスト可能性、および維持可能性。

PHPの依存噴射対サービスロケーターPHPの依存噴射対サービスロケーターMay 13, 2025 am 12:10 AM

SELECT DEPENTENCINGINOFCENT(DI)大規模なアプリケーションの場合、ServicElocatorは小さなプロジェクトまたはプロトタイプに適しています。 1)DIは、コンストラクターインジェクションを通じてコードのテスト可能性とモジュール性を改善します。 2)ServiceLocatorは、センター登録を通じてサービスを取得します。これは便利ですが、コードカップリングの増加につながる可能性があります。

PHPパフォーマンス最適化戦略。PHPパフォーマンス最適化戦略。May 13, 2025 am 12:06 AM

phpapplicationscanbeoptimizedforspeedandEfficiencyby:1)enabingopcacheinphp.ini、2)PreparedStatementswithpordatabasequeriesを使用して、3)LoopswithArray_filterandarray_mapfordataprocessing、4)の構成ngincasaSearverseproxy、5)

PHPメールの検証:電子メールが正しく送信されるようにしますPHPメールの検証:電子メールが正しく送信されるようにしますMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

PHPアプリケーションをより速くする方法PHPアプリケーションをより速くする方法May 12, 2025 am 12:12 AM

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境