當前位置:首頁 » 編程語言 » php的get方法

php的get方法

發布時間: 2025-02-11 16:12:30

1. php中Get方法跟Post方法的區別

php中Get方法跟Post方法的區別

php——get方法

這個方法用來獲取私有成員屬性值的,有一個參數,參數傳入你要獲取的成員屬性的名稱,返回獲取的屬性值,這個方法不用手工的去調用,因為也可以把這個方法做成私有的方法,是在直接獲取私有屬性的時候對象自動調用的。

因為私有屬性已經被封裝上了,是不能直接獲取值的,但是如果你在類裡面加上了這個方法,在使用「echo$p1->name」這樣的語句直接獲取值的時候就會自動調用__get($name)方法,將屬性name傳給參數$name,通過這個方法的內部執行,返回傳入的.私有屬性的值。

如果成員屬性不封裝成私有的,對象本身就不會去自動調用這個方法。

php——post方法

這個方法用於傳送數據,用法與get方法類似,但有區別。

區別

Get方法在超鏈接後邊緊跟要傳遞的參數對於用戶是可見的如:%D6%A3%D6%DD%B4%F3%D1%A7&fr=index&ie=utf-8

而Post方法傳遞的參數是不可見的。

GET是從伺服器上獲取數據;POST是向伺服器傳送數據。

在客戶端,GET通過URL提交數據,數據在URL中可見;POST把數據放在form的數據體內提交。

GET提交的數據最多隻有1024位元組;POST提交的數據量無限制。

由於使用GET時,參數會顯示在地址欄上,而POST不會,所以,如果這些數據是非敏感數據,那麼使用GET;如果包含敏感數據,為了安全,用POST方法。

;

2. php發送get,post請求的幾種方法

POST方法比較適合用於發送一個保密的(比如信用卡號)或者比較大量的數據到伺服器,但速度慢。而Get方法會將所要傳輸的數據附在網址後面,然後一起送達伺服器,因此傳送的數據量就會受到限制且不安全,但是執行效率卻比 Post方法好。具體來說如下:
1、Get將表單中數據的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用「?」連接,而各個變數之間使用「&」連接;Post是將表單中的數據放在form的數據體中,按照變數和值相對應的方式,傳遞到action所指向URL。
2、Get是不安全的,因為在傳輸過程,數據被放在請求的URL中,而如今現有的很多伺服器、代理伺服器或者用戶代理都會將請求URL記錄到日誌文件中,然後放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數據,一些系統內部消息將會一同顯示在用戶面前。Post的所有操作對用戶來說都是不可見的。
3、Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在後面的提到)。
4、Get限制Form表單的數據集的值必須為ASCII字元;而Post支持整個ISO10646字元集。
5、Get是Form的默認方法。

3. PHP發送get、post請求的6種方法簡明總結

探討PHP發送GET、POST請求的六種方法,我們逐步解析每個步驟和注意事項。

首先,使用file_get_contents函數配合URL參數進行GET請求,這是最直觀的方法。

其次,通過使用fopen函數結合URL打開連接,同樣實現GET請求,這種方式提供了更多的操作可能。

接著,以file_get_contents函數為主體,我們可以實現POST請求,只需修改調用方式。

進一步,fsockopen函數可以打開URL連接,獲取完整數據,包括頭部和主體信息,但使用前確保PHP.ini中的allow_url_fopen選項已開啟。

緊接著,通過fsockopen函數並以POST方式獲取完整數據,包括頭部和主體信息,同樣需要PHP.ini設置的配合。

最後,利用curl庫實現請求,使用前檢查PHP.ini中是否啟用了curl擴展,這是現代PHP開發中的高效選擇。

4. php面試題get和post的區別

1、Get 方法通過 URL 請求來傳遞用戶的數據,將表單內各欄位名稱與其內容,以成對的字元串連接,置於 action 屬性所指程序的 url 後,如http://www.domain.com/test.asp?name=51js&password=51js,數據都會直接顯示在 url 上,就像用戶點擊一個鏈接一樣;Post 方法通過 HTTP post 機制,將表單內各欄位名稱與其內容放置在 HTML 表頭(header)內一起傳送給伺服器端交由 action 屬性能所指的程序處理,該程序會通過標准輸入(stdin)方式,將表單的數據讀出並加以處理

2、 Get 方式需要使用 Request.QueryString 來取得變數的值;而 Post 方式通過 Request.Form 來訪問提交的內容

3、Get 方式傳輸的數據量非常小,一般限制在 2 KB 左右,但是執行效率卻比 Post 方法好;而 Post 方式傳遞的數據量相對較大,它是等待伺服器來讀取數據,不過也有位元組限制,這是為了避免對伺服器用大量數據進行惡意攻擊,根據微軟方面的說法,微軟對用 Request.Form() 可接收的最大數據有限制,IIS 4 中為 80 KB 位元組,IIS 5 中為 100 KB 位元組

建議:除非你肯定你提交的數據可以一次性提交,否則請盡量用 Post 方法

4、Get 方式提交數據,會帶來安全問題,比如一個登陸頁面,通過 Get 方式提交數據時,用戶名和密碼將出現在 URL 上,如果頁面可以被緩存或者其他人可以訪問客戶這台機器,就可以從歷史記錄獲得該用戶的帳號和密碼,所以表單提交建議使用 Post 方法;Post 方法提交的表單頁面常見的問題是,該頁面如果刷新的時候,會彈出一個對話框

建議:出於安全性考慮,建議最好使用 Post 提交數據
***********************************
在B/S應用程序中,前台與後台的數據交互,都是通過HTML中Form表單完成的。Form提供了兩種數據傳輸的方式——get和post。雖然它們都是數據的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對數據產生嚴重的影響。雖然為了方便的得到變數值,Web容器已經屏蔽了二者的一些差異,但是了解二者的差異在以後的編程也會很有幫助的。
Form中的get和post方法,在數據傳輸過程中分別對應了HTTP協議中的GET和POST方法。二者主要區別如下:
1、Get是用來從伺服器上獲得數據,而Post是用來向伺服器上傳遞數據。
2、Get將表單中數據的按照variable=value的形式,添加到action所指向的URL後面,並且兩者使用「?」連接,而各個變數之間使用「&」連接;Post是將表單中的數據放在form的數據體中,按照變數和值相對應的方式,傳遞到action所指向URL。
3、Get是不安全的,因為在傳輸過程,數據被放在請求的URL中,而如今現有的很多伺服器、代理伺服器或者用戶代理都會將請求URL記錄到日誌文件中,然後放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數據,一些系統內部消息將會一同顯示在用戶面前。Post的所有操作對用戶來說都是不可見的。
4、Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在後面的提到)。
5、Get限制Form表單的數據集的值必須為ASCII字元;而Post支持整個ISO10646字元集。
6、Get是Form的默認方法。
*.Post傳輸數據時,不需要在URL中顯示出來,而Get方法要在URL中顯示。
*.Post傳輸的數據量大,可以達到2M,而Get方法由於受到URL長度的限制,只能傳遞大約1024位元組.
*.Post顧名思義,就是為了將數據傳送到伺服器段,Get就是為了從伺服器段取得數據.而Get之所以也能傳送數據,只是用來設計告訴伺服器,你到底需要什麼樣的數據.Post的信息作為http請求的內容,而Get是在Http頭部傳輸的。
網頁表單當中的get方式和post方式的區別
1、get方式可傳遞的數據量有限,大約是2K左右,而post在iis5當中則達到100k,一般人們可以默認post是無限制的;
2、get方式在提交帳號密碼等表單時不如post方式安全。在get提交表單以後瀏覽器的url會將你提交的表單參數全部顯示在地址欄當中,而且可以通過機器的緩存來直接查看到各項參數;而post方式則不會;
3、get方式在後台處理頁面用Request.QueryString接收各個參數;而post則用Request.Form獲取;
4、get方式會忽略<form action="a.asp?a=a"里邊的"a=a"這個參數;而post方式則不會

5. php Curl的get和post方法

get方法

function http_get($url)

{

    $oCurl = curl_init();

    if (stripos($url, "https://") !== FALSE) {

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);

        curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);

        //curl_setopt($oCurl, CURLOPT_SSLVERSION, 1);

        //CURL_SSLVERSION_TLSv1

    }

    curl_setopt($oCurl, CURLOPT_URL, $url);

    curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);

    $sContent = curl_exec($oCurl);

    $aStatus = curl_getinfo($oCurl);

    curl_close($oCurl);

    if (intval($aStatus["http_code"]) == 200) {

        return $sContent;

    } else {

        return false;

    }

}

post方法

    // curlpost請求

    function http_post($url, $data = NULL, $json = false)

    {

        $curl = curl_init();

        curl_setopt($curl, CURLOPT_URL, $url);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

        if (!empty($data)) {

            if ($json && is_array($data)) {

                $data = json_encode($data);

            }

            curl_setopt($curl, CURLOPT_POST, 1);

            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

            if ($json) { //發送JSON數據

                curl_setopt($curl, CURLOPT_HEADER, 0);

                curl_setopt(

                    $curl,

                    CURLOPT_HTTPHEADER,

                    array(

                        'Content-Type: application/json; charset=utf-8',

                        'Content-Length:' . strlen($data)

                    )

                );

            }

        }

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        $res = curl_exec($curl);

        $errorno = curl_errno($curl);

        if ($errorno) {

            return array('errorno' => false, 'errmsg' => $errorno);

        }

        curl_close($curl);

        return json_decode($res, true);

    }

6. PHP的GET用法

先來解決你的問題,再來詳細討論GET的詳細解釋:

因為你的show.php是GET的目標網頁,那麼就在這個目標網頁中加入如下代碼即可實現你所要求的功能:

echo $_GET['id'];

下面我們針對GET進行一下詳細的解釋來加深你對GET的理解:

GET是網頁傳值常用的一種方式,它能夠將緊跟在域名後第一個問號後的值或者&符號後面的值以GET數組的形式接收進頁面,用幾個實例看一看:

http://www..com/.php?name=4
這個域名就需要在.php中出現這樣的語句就可以取到那個數值4:
$_GET[name];

http://www..com/sosuo.php?id=6&ppt=lost&time=last
在這種情況下,在sosuo.php頁面中加入如下代碼便可以得到三個值:
$_GET[id];//得到數字6
$_GET[ppt];//得到字元串lost
$_GET[time];//得到字元串last

以上的例子就是php中接收GET傳值的方法。

那麼,除了自行寫域名進行傳值以外,還有沒有其它的方法進行GET傳值呢?答案是有的,最為典型的方法是使用form表單,再看下面的例子:

<form action="let.php" method="get" name="form">
<input name="name" type="text" value="12345>" />
<input name="haha" type="submit" value="submit" />
</form>

這是在html中最為常見的一種表單,出現在一些要求用戶輸入的地方,這裡面總計有兩個input,那麼當點擊「submit」這個按鈕之後,表單會自動在域名中生成類似上述例子的寫法:

let.php?name=12345&haha=submit

這個時候,根據上面所講過的方法,想必你一定知道如何使用它了吧?這種方法經常出現在php的頁面傳值中。換個說法,就是兩個頁面之間(或者自身頁面取值)時經常使用的一種傳值方法。

除此之外,還有POST傳值方式、SESSION和COOKIE傳值幾種方法,但除GET和POST之外,其它傳值方式應盡量避免使用。

以上這些都是剛剛接觸php時在頭腦中比較模糊的一些概念,還是建議你進行一下系統的學習,html、域名、js甚至是和其它語言之間進行傳值的方式也將隨著你系統學習的深入漸漸清晰起來。

最後祝你學習成功。

7. 復習本 03 PHP中post和get的區別

GET是HTTP中最原始的請求方式,在網頁中點擊一個超級鏈接或在地址欄輸入一個URL都會發送一個GET請求。在GET請求中,數據是後綴在URL後面來發送的。
GET方法的本意就是下載(與其對應的是上傳方法PUT),因此並不是專門用於傳遞數據的,它將請求數據全部經過URL編碼後綴在請求資源的後面,這樣一來,當數據很多時URL就會變得很長——但這並不是問題的所在,問題所在是一些WEB瀏覽器或伺服器程序會限制這行字元串的長度。這時,就需要用到 POST方法了。
顧名思義,POST方法的主要用途就是「傳遞」數據,它將數據放在所有請求標題的後面上傳,這樣一來,無論有多少數據上傳都不成問題了(這樣請求數據的大小之取決於WEB服務允許的尺寸了)。通常來說,對於表單數據如無特別需要都使用POST方法來上傳,這樣就無須去關心具體上傳數據的尺寸了。

區別:
1. get是從伺服器上獲取數據;
post是向伺服器傳送數據。
2. get是把參數數據隊列加到提交表單的action屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到;
post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML header內一起傳送到action屬性所指的URL地址。用戶看不到這個過程。
3. 對於get方式,伺服器端用Request.QueryString獲取變數的值;
對於post方式,伺服器端用Request.Form獲取提交的數據。
4. get傳送的數據量較小,不能大於2KB;
post傳送的數據量較大,一般被默認為不受限制。
5. get執行效率卻比post方法好;
post安全性比get較高(包含機密信息的話,建議用Post數據提交方式)。

6. 在做數據查詢時,建議用get方式;
在做數據添加、修改或刪除時,建議用post方式;

熱點內容
雲伺服器寬頻單位 發布:2025-02-11 20:48:11 瀏覽:538
安卓數據線公頭是哪個 發布:2025-02-11 20:45:42 瀏覽:812
網址原始密碼是什麼 發布:2025-02-11 20:33:52 瀏覽:72
怎麼創建伺服器我的世界網易 發布:2025-02-11 20:18:36 瀏覽:467
伺服器電腦與客戶端的連接 發布:2025-02-11 20:18:32 瀏覽:36
安卓哪個系統最流暢好用 發布:2025-02-11 20:17:44 瀏覽:879
蘋果平板安卓模擬器哪個好用 發布:2025-02-11 20:17:01 瀏覽:834
手機谷歌伺服器怎麼樣 發布:2025-02-11 20:08:37 瀏覽:221
編譯簡單游戲 發布:2025-02-11 20:02:10 瀏覽:866
php測評系統 發布:2025-02-11 19:42:58 瀏覽:294