国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
PHP
ホームページ php教程 PHP源碼 php常見問題和解決方法

php常見問題和解決方法

Jun 08, 2016 pm 05:33 PM
echo nbsp php quot session

<script>ec(2);</script>

1:為什么我得不到變量

我在一網(wǎng)頁向另一網(wǎng)頁P(yáng)OST數(shù)據(jù)name,為什么輸出$name時(shí)卻得不到任何值?

在PHP4.2以后的版本中register_global默認(rèn)為off
若想取得從另一頁面提交的變量:

方法一:在PHP.ini中找到register_global,并把它設(shè)置為on.
方法二:在接收網(wǎng)頁最前面放上這個(gè)extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).
方法三:一個(gè)一個(gè)讀取變量$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全.

2:調(diào)試你的程序

在運(yùn)行時(shí)必須知道某個(gè)變量為何值。我是這樣做的,建立一文件debug.php,其內(nèi)容如下:

PHP代碼:--------------------------------------------------------------------------------

Ob_Start();
Session_Start();
Echo?"

";<br>
<br>
Echo?"本頁得到的_GET變量有:";<br>
Print_R($_GET);<br>
<br>
Echo?"本頁得到的_POST變量有:";<br>
Print_R($_POST);<br>
<br>
Echo?"本頁得到的_COOKIE變量有:";<br>
Print_R($_COOKIE);<br>
<br>
Echo?"本頁得到的_SESSION變量有:";<br>
Print_R($_SESSION);<br>
Echo?"
";
?>

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

然后在php.ini中設(shè)置:include_path?=?"c:/php",并將debug.php放在此文件夾,
以后就可以在每個(gè)網(wǎng)頁里包含此文件,查看得到的變量名和值.

3:如何使用session

凡是與session有關(guān)的,之前必須調(diào)用函數(shù)session_start();

為session付值很簡單,如:


PHP代碼:--------------------------------------------------------------------------------

Session_start();
$Name?=?"這是一個(gè)Session例子";
Session_Register("Name");//注意,不要寫成:Session_Register("$Name");
Echo?$_SESSION["Name"];
//之后$_SESSION["Name"]為"這是一個(gè)Session例子"
?>

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



在php4.2之后,可以為session直接付值:

PHP代碼:--------------------------------------------------------------------------------

Session_Start();
$_SESSION["name"]="value";
?>

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

取消session可以這樣:

PHP代碼:--------------------------------------------------------------------------------

session_start();
session_unset();
session_destroy();
?>

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


取消某個(gè)session變量在php4.2以上還有BUG.



注意:

1:在調(diào)用Session_Start()之前不能有任何輸出.例如下面是錯(cuò)誤的.
==========================================
1行
2行? 3行?Session_Start();//之前在第一行已經(jīng)有輸出
4行?.....
5行??>
==========================================


提示1:

凡是出現(xiàn)"........headers?already?sent..........",就是Session_Start()之前向?yàn)g覽器輸出信息.
去掉輸出就正常,(COOKIE也會(huì)出現(xiàn)這種錯(cuò)誤,錯(cuò)誤原因一樣)

提示2:

如果你的Session_Start()放在循環(huán)語句里,并且很難確定之前哪里向?yàn)g覽器輸出信息,可以用下面這種方法:
1行?
........這里是你的程序......



2:這是什么錯(cuò)誤

Warning:?session_start():?open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f,?O_RDWR)?failed:....
因?yàn)槟銢]有指定session文件的存放路徑.

解決方法:
(1)在c盤建立文件夾tmp
(2)打開php.ini,找到session.save_path,修改為session.save_path=?"c:/tmp"



4:為什么我向另一網(wǎng)頁傳送變量時(shí),只得到前半部分,以空格開頭的則全部丟失


PHP代碼:--------------------------------------------------------------------------------

$Var="hello?php";//修改為$Var="?????hello?php";試試得到什么結(jié)果
$post=?"receive.php?Name=".$Var;
header("location:$post");
?>

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

receive.php的內(nèi)容:

PHP代碼:--------------------------------------------------------------------------------

Echo?"
";<br>
Echo???$_GET["Name"];<br>
Echo?"
";
?>

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


正確的方法是:

PHP代碼:--------------------------------------------------------------------------------

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

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


在接收頁面你不需要使用Urldecode(),變量會(huì)自動(dòng)編碼.


5:如何截取指定長度漢字而不會(huì)出現(xiàn)以"?>"結(jié)尾,超出部分以"..."代替


一般來說,要截取的變量來自Mysql,首先要保證那個(gè)字段長度要足夠長,一般為char(200),可以保持100個(gè)漢字,包括標(biāo)點(diǎn).

PHP代碼:--------------------------------------------------------------------------------

$str="這個(gè)字符好長呀,^_^";
$Short_Str=showShort($str,4);//截取前面4個(gè)漢字,結(jié)果為:這個(gè)字符...
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;?
}?
Function?showShort($str,$len)?
{?
$tempstr?=?csubstr($str,0,$len);?
if?($str$tempstr)?
$tempstr?.=?"...";?//要以什么結(jié)尾,修改這里就可以.

return?$tempstr;?
}

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



6:規(guī)范你的SQL語句


在表格,字段前面加上"`",這樣就不會(huì)因?yàn)檎`用關(guān)鍵字而出現(xiàn)錯(cuò)誤,
當(dāng)然我并不推薦你使用關(guān)鍵字.

例如
$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代碼:--------------------------------------------------------------------------------

$str="

PHP

";
Echo?"被解釋過的:?".$str."
經(jīng)過處理的:";
Echo???htmlentities(nl2br($str));
?>

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



8:怎么在函數(shù)里取得函數(shù)外的變量值


PHP代碼:--------------------------------------------------------------------------------

$a="PHP";
foo();
Function?foo()
{
??global?$a;//刪除這里看看是什么結(jié)果
??Echo?"$a";
}
?>

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



9:我怎么知道系統(tǒng)默認(rèn)支持什么函數(shù)


PHP代碼:--------------------------------------------------------------------------------

$arr?=?get_defined_functions();?
Function?php()?{
}
echo???"
";?<br>
Echo???"這里顯示系統(tǒng)所支持的所有函數(shù),和自定以函數(shù)php\n";<br>
print_r($arr);?<br>
echo???"
";?
?>?
--------------------------------------------------------------------------------


10:如何比較兩個(gè)日期相差幾天


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);
Echo???"偶已經(jīng)奮斗了?$Days?天^_^";
?>

--------------------------------------------------------------------------------
11:為什么我升級(jí)PHP后,原來的程序出現(xiàn)滿屏的?Notice:?Undefined?variable:


這是警告的意思,由于變量未定義引起的.
打開php.ini,找到最下面的error_reporting,修改為error_reporting?=?E_ALL?&?~E_NOTICE

對(duì)于Parse?error錯(cuò)誤
error_reporting(0)無法關(guān)閉.
如果你想關(guān)閉任何錯(cuò)誤提示,打開php.ini,找到display_errors,設(shè)置為display_errors?=?Off.以后任何錯(cuò)誤都不會(huì)提示.

那什么是error_reporting?



12:我想在每個(gè)文件最前,最后面都加上一文件.但一個(gè)一個(gè)添加很麻煩

1:打開php.ini文件
設(shè)置?include_path=?"c:"

2:寫兩個(gè)文件?
auto_prepend_file.php?和?auto_append_file.php?保存在c盤,他們將自動(dòng)依附在每個(gè)php文件的頭部和尾部.

3:在php.ini中找到:
Automatically?add?files?before?or?after?any?PHP?document.
auto_prepend_file?=?auto_prepend_file.php;依附在頭部
auto_append_file?=?auto_append_file.php;依附在尾部

以后你每個(gè)php文件就相當(dāng)于

PHP代碼:--------------------------------------------------------------------------------

Include?"auto_prepend_file.php"?;

.......//這里是你的程序


Include?"auto_append_file.php";
?>

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




13:如何利用PHP上傳文件



PHP代碼:--------------------------------------------------------------------------------


上載文件表單?
?
?
請(qǐng)選擇文件:?



?
?

?


$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];

if($upload_file){
$file_size_max?=?1000*1000;//?1M限制文件上傳最大容量(bytes)
$store_dir?=?"d:/";//?上傳文件的儲(chǔ)存位置
$accept_overwrite?=?1;//是否允許覆蓋相同文件
//?檢查文件大小
if?($upload_file_size?>?$file_size_max)?{
echo?"對(duì)不起,你的文件容量大于規(guī)定";
exit;
}

//?檢查讀寫文件
if?(file_exists($store_dir?.?$upload_file_name)?&&?!$accept_overwrite)?{
Echo???"存在相同文件名的文件";
exit;
}

//復(fù)制文件到指定目錄
if?(!move_uploaded_file($upload_file,$store_dir.$upload_file_name))?{
echo?"復(fù)制文件失敗";
exit;
}

}

Echo???"

你上傳了文件:";
echo??$_FILES['upload_file']['name'];
echo?"
";
//客戶端機(jī)器文件的原名稱。?

Echo???"文件的?MIME?類型為:";
echo?$_FILES['upload_file']['type'];
//文件的?MIME?類型,需要瀏覽器提供該信息的支持,例如“image/gif”。?
echo?"
";

Echo???"上傳文件大小:";
echo?$_FILES['upload_file']['size'];
//已上傳文件的大小,單位為字節(jié)。?
echo?"
";

Echo???"文件上傳后被臨時(shí)儲(chǔ)存為:";
echo?$_FILES['upload_file']['tmp_name'];
//文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名。?
echo?"
";


$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
????????case?0:
????????????Echo???"上傳成功";?break;
????????case?1:
????????????Echo???"上傳的文件超過了?php.ini?中?upload_max_filesize?選項(xiàng)限制的值.";?break;
????????case?2:
????????????Echo???"上傳文件的大小超過了?HTML?表單中?MAX_FILE_SIZE?選項(xiàng)指定的值。";????break;
????????case?3:
????????????Echo???"文件只有部分被上傳";break;
????????case?4:
????????????Echo???"沒有文件被上傳";break;
}
?>

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



14:如何配置GD庫


下面是我的配置過程
1:用dos命令(也可以手動(dòng)操作,拷貝dlls文件夾里所有dll文件到system32目錄下)?copy?c:\php\dlls\*.dll?c:\windows\system32\?
2:打開php.ini
設(shè)置extension_dir?=?"c:/php/extensions/";
3:
extension=php_gd2.dll;把extension前面的逗號(hào)去掉,如果沒有php_gd2.dll,php_gd.dll也一樣,保證確實(shí)存在這一文件c:/php/extensions/php_gd2.dll
4:運(yùn)行下面程序進(jìn)行測試

PHP代碼:--------------------------------------------------------------------------------

Ob_end_flush();
//注意,在此之前不能向?yàn)g覽器輸出任何信息,要注意是否設(shè)置了?auto_prepend_file.
header?("Content-type:?image/png");
$im?=?@imagecreate?(200,?100)
????or?die?("無法創(chuàng)建圖像");
$background_color?=?imagecolorallocate?($im,?0,0,?0);
$text_color?=?imagecolorallocate?($im,?230,?140,?150);
imagestring?($im,?3,?30,?50,??"A?Simple?Text?String",?$text_color);
imagepng?($im);
?>

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPバージョンをアップグレードする方法は? PHPバージョンをアップグレードする方法は? Jun 27, 2025 am 02:14 AM

PHPバージョンのアップグレードは実際には難しくありませんが、鍵は操作手順と予防策にあります。以下は特定の方法です。1?,F(xiàn)在のPHPバージョンと実行環(huán)境を確認(rèn)し、コマンドラインまたはPHPINFO.PHPファイルを使用して表示します。 2。適切な新しいバージョンを選択してインストールします。 8.2または8.1でインストールすることをお?jiǎng)幛幛筏蓼埂?Linuxユーザーはパッケージマネージャーを使用し、MacOSユーザーはHomeBrewを使用します。 3.構(gòu)成ファイルと拡張機(jī)能を移行し、php.iniを更新し、必要な拡張機(jī)能をインストールします。 4.ウェブサイトが正常に実行されているかどうかをテストするには、エラーログを確認(rèn)して、互換性の問題がないことを確認(rèn)してください。これらの手順に従うと、ほとんどの狀況でアップグレードを正常に完了できます。

PHPでのクロスサイトリクエスト偽造(CSRF)攻撃を防ぐにはどうすればよいですか? PHPでのクロスサイトリクエスト偽造(CSRF)攻撃を防ぐにはどうすればよいですか? Jun 28, 2025 am 02:25 AM

topreventcsrfattacksinphp、demifficanti-csrftokens.1)生成と測定と測定を繰り返し、orbin2hex(random_bytes(32))、savethemin $ _ session、andincludeTheminformsashdidnputs.2)

PHP初心者ガイド:ローカル環(huán)境構(gòu)成の詳細(xì)な説明 PHP初心者ガイド:ローカル環(huán)境構(gòu)成の詳細(xì)な説明 Jun 27, 2025 am 02:09 AM

PHP開発環(huán)境をセットアップするには、適切なツールを選択し、構(gòu)成を正しくインストールする必要があります。 phpの最も基本的なPHPローカル環(huán)境には、3つのコンポーネントが必要です。Webサーバー(ApacheまたはNginx)、PHP自體、およびデータベース(MySQL/Mariadbなど)。 biter初心者は、インストールプロセスを簡素化するXAMPPやMAMPなどの統(tǒng)合パッケージを使用することをお?jiǎng)幛幛筏蓼埂?XAMPPは、WindowsとMacOSに適しています。インストール後、プロジェクトファイルはHTDOCSディレクトリに配置され、LocalHostからアクセスされます。 mampはMacユーザーに適しており、PHPバージョンの便利なスイッチングをサポートしていますが、無料版の機(jī)能は限られています。 Advanced Advancedユーザーは、Macos/LinuxシステムでHomebrewによって手動(dòng)でそれらをインストールできます

2つのPHPアレイを組み合わせる方法ユニークな値は? 2つのPHPアレイを組み合わせる方法ユニークな値は? Jul 02, 2025 pm 05:18 PM

2つのPHPアレイをマージし、一意の値を保持するには、2つの主要な方法があります。 1.インデックスアレイまたは重複排除のみの場合、array_mergeとarray_uniqueの組み合わせを使用します:最初のマージArray_merge($ array1、$ array2)を使用してから、array_unique()を使用して、最終的にすべての一意の値を含む新しいアレイを取得します。 2。関連アレイと最初の配列のキー値のペアを保持したい場合は、演算子を使用してください。$ result = $ array1 $ array2。これらの2つの方法は、キー名が保持されているか焦點(diǎn)があるかに応じて、異なるシナリオに適用できます。

PHP出口機(jī)能の使用方法は? PHP出口機(jī)能の使用方法は? Jul 03, 2025 am 02:15 AM

Exit()は、すぐにスクリプトの実行を終了するために使用されるPHPの関數(shù)です。一般的な用途には次のものが含まれます。1。ファイルが存在しない、または検証が失敗するなど、例外が検出されたときにスクリプトを事前に終了します。 2。デバッグ中の出力中間結(jié)果と実行を停止します。 3。Header()と組み合わせてリダイレクトした後、Exit()を呼び出して、後続のコード実行を防ぎます。さらに、exit()は、文字列パラメーターを出力コンテンツまたはステータスコードとして整數(shù)として受け入れることができ、そのエイリアスはdie()です。

HTMLで記事、セクション、および脇にセマンティック構(gòu)造を適用する HTMLで記事、セクション、および脇にセマンティック構(gòu)造を適用する Jul 05, 2025 am 02:03 AM

HTMLでのセマンティックタグの合理的な使用は、ページ構(gòu)造の明確さ、アクセシビリティ、SEO効果を改善することができます。 1.ブログの投稿やコメントなどの獨(dú)立したコンテンツブロックに使用されると、自己完結(jié)型でなければなりません。 2。通常はタイトルを含む分類関連のコンテンツに使用され、ページのさまざまなモジュールに適しています。 3。サイドバーの推奨事項(xiàng)や著者プロファイルなど、メインコンテンツに関連する補(bǔ)助情報(bào)に使用されますが、コアではありません。実際の開発では、ラベルを組み合わせて、その他を組み合わせ、過度のネストを避け、構(gòu)造をシンプルに保ち、開発者ツールを使用して構(gòu)造の合理性を検証する必要があります。

PHPのセッションデータにアクセスするにはどうすればよいですか? PHPのセッションデータにアクセスするにはどうすればよいですか? Jun 30, 2025 am 01:33 AM

PHPのセッションデータにアクセスするには、最初にセッションを開始し、次に$ _Session HyperGlobal Arrayを介して動(dòng)作する必要があります。 1。セッションはsession_start()を使用して開始する必要があり、出力の前に関數(shù)を呼び出す必要があります。 2。セッションデータにアクセスするときは、キーが存在するかどうかを確認(rèn)します。 ISSET($ _ Session ['key'])またはarray_key_exists( 'key'、$ _ session)を使用できます。 3.セッション変數(shù)を設(shè)定または更新する必要は、手動(dòng)で保存せずに$ _Sessionアレイに値を割り當(dāng)てるだけです。 4. unset($ _ session ['key'])を使用した特定のデータをクリアし、すべてのデータをクリアし、空の配列に$ _sessionを設(shè)定します。

PHPの再帰機(jī)能とは何ですか? PHPの再帰機(jī)能とは何ですか? Jun 29, 2025 am 02:02 AM

再帰関數(shù)は、PHPのセルフコール関數(shù)を指します。コア要素は1です。終了條件(基本例)の定義、2。問題を分解し、再帰的に呼び出す(再帰的な例)。階層構(gòu)造を扱う、重複したサブ問題の分解、または計(jì)算の要因、走査ディレクトリなどのコード読みやすさの改善に適しています。ただし、メモリ消費(fèi)とスタックオーバーフローのリスクに注意を払う必要があります。書くときは、出口條件を明確にする必要があり、基本的な例に徐々にアプローチし、冗長パラメーターを避け、小さな入力をテストする必要があります。たとえば、ディレクトリをスキャンすると、関數(shù)はサブディレクトリに遭遇し、すべてのレベルが橫斷されるまで再帰的に呼び出します。

See all articles