a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > PHP > 正文

來自PHP之外的變量

2020-03-22 20:32:58
字體:
來源:轉載
供稿:網友
  • HTML 表單(GET 和 POST)
    當一個表單體交給 PHP 腳本時,表單中的信息會自動在腳本中可用,有很多方法訪問此信息:

    例 一個簡單的 HTML 表單

    <form action="foo.php" method="POST">Name: <input type="text" name="username"><br />Email: <input type="text" name="email"><br /><input type="submit" name="submit" html' target='_blank'>value="Submit me!" /></form>

    根據(jù)特定的設置和個人的喜好,有很多種方法訪問 HTML 表單中的數(shù)據(jù):

    例 從一個簡單的 POST HTML 表單訪問數(shù)據(jù)


    <?php// 自 PHP 4.1.0 起可用echo $_POST['username'];echo $_REQUEST['username'];import_request_variables('p', 'p_');echo $p_username;// 自 PHP 3 起可用。自 PHP 5.0.0 起,這些較長的預定義變量// 可用 register_long_arrays 指令關閉。echo $HTTP_POST_VARS['username'];// 如果 PHP 指令 register_globals = on 時可用。不過自// PHP 4.2.0 起默認值為 register_globals = off。// 不提倡使用/依賴此種方法。echo $username;?>

    使用 GET 表單也類似,只不過要用適當?shù)?GET 預定義變量。

    GET 也適用于 QUERY_STRING(URL 中在“?”之后的信息)。

    例如,http://www.example.com/test.php?id=3 包含有可用 $_GET['id'] 訪問的 GET 數(shù)據(jù)。

    注意: 超全局變量和 $_POST 以及 $_GET 一樣,自 PHP 4.1.0 起可用。

    如上所示,在 PHP 4.2.0 之前 register_globals 的默認值是 on。在 PHP 3 中其值總是 on。

    注意: magic_quotes_gpc 配置指令影響到 Get,Post 和 Cookie 的值。如果打開,值 (It’s “PHP!”) 會自動轉換成 (It/’s /”PHP!/”)。數(shù)據(jù)庫的插入就需要轉義。

    PHP 也可以將相關的變量編成組,或者用此特性從多選輸入框中取得值。例如,將一個表單 POST 給自己并在提交時顯示數(shù)據(jù):

    例 12-11. 更復雜的表單變量


    <?phpif (isset($_POST['action']) && $_POST['action'] == 'submitted') {echo '<pre>';print_r($_POST);echo '<a href="'. $_SERVER['PHP_SELF'] .'">Please try again</a>';echo '</pre>';} else {?><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">Name: <input type="text" name="personal[name]"><br />Email: <input type="text" name="personal[email]"><br />Beer: <br><select multiple name="beer[]"><option value="warthog">Warthog</option><option value="guinness">Guinness</option><option value="stuttgarter">Stuttgarter Schwabenbr</option></select><br /><input type="hidden" name="action" value="submitted" /><input type="submit" name="submit" value="submit me!" /></form><?php}?>

    IMAGE SUBMIT 變量名
    當提交表單時,可以用一幅圖像代替標準的提交按鈕,用類似這樣的標記:

    <input type="image" src="image.gif" name="sub" />

    當用戶點擊到圖像中的某處時,相應的表單會被傳送到服務器,并加上兩個變量 sub_x 和 sub_y。它們包含了用戶點擊圖像的坐標。有經驗的用戶可能會注意到被瀏覽器發(fā)送的實際變量名包含的是一個點而不是下劃線(即 sub.x 和 sub.y),但 PHP 自動將點轉換成了下劃線。

    HTTP Cookies 是一種在遠端瀏覽器端存儲數(shù)據(jù)并能追蹤或識別再次訪問的用戶的機制??梢杂?setcookie函數(shù) 設定 cookies。Cookies 是 HTTP 信息頭中的一部分,因此 SetCookie 函數(shù)必須在向瀏覽器發(fā)送任何輸出之前調用。對于 header 函數(shù)也有同樣的限制。Cookie 數(shù)據(jù)會在相應的 cookie 數(shù)據(jù)數(shù)組中可用,例如 $_COOKIE,$HTTP_COOKIE_VARS 和 $_REQUEST。

    如果要將多個值賦給一個 cookie 變量,必須將其賦成數(shù)組。例如:


    <?phpsetcookie("MyCookie[foo]", 'Testing 1', time()+3600);setcookie("MyCookie[bar]", 'Testing 2', time()+3600);?>

    這將會建立兩個單獨的 cookie,盡管 MyCookie 在腳本中是一個單一的數(shù)組。

    如果想在僅僅一個 cookie 中設定多個值,考慮先在值上使用 serialize函數(shù) 或 explode函數(shù)。

    注意:在瀏覽器中一個 cookie 會替換掉上一個同名的 cookie,除非路徑或者域不同。因此對于購物車程序可以保留一個計數(shù)器并一起傳遞:

    例 12-12. 一個 setcookie() 的示例


    <?phpif (isset($_COOKIE['count'])) {$count = $_COOKIE['count'] + 1;} else {$count = 1;}setcookie('count', $count, time()+3600);setcookie("Cart[$count]", $item, time()+3600);?>

    變量名中的點
    通常,PHP 不會改變傳遞給腳本中的變量名。然而應該注意到點(句號)不是 PHP 變量名中的合法字符。

    至于原因,看看: <?php $varname.ext; /* 非法變量名 */ ?>

    這時,解析器看到是一個名為 $varname 的變量,后面跟著一個字符串連接運算符,后面跟著一個裸字符串(即沒有加引號的字符串,且不匹配任何已知的健名或保留字)’ext’。很明顯這不是想要的結果。

    出于此原因,要注意 PHP 將會自動將變量名中的點替換成下劃線。

    確定變量類型
    因為 PHP 會判斷變量類型并在需要時進行轉換(通常情況下),因此在某一時刻給定的變量是何種類型并不明顯。PHP 包括幾個函數(shù)可以判斷變量的類型,例如:gettype函數(shù),is_array函數(shù),is_float函數(shù),is_int函數(shù),is_object函數(shù) 和 is_string函數(shù)。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 久久tv在线观看 | 另类五月天| 一区二区三区四区免费观看 | www.久久精品视频 | 国产精品国产三级国产aⅴ中文 | xoxo国产三区精品欧美 | 91一区二区在线观看 | 成人精品一区二区三区电影黑人 | 在线观看污片 | 成人欧美一区二区三区在线观看 | 久久免费精品视频 | 国产精品视频一二 | 久久国产成人 | 99福利视频 | 久久久久亚洲 | 日韩欧美中文字幕在线观看 | 国产精品视频免费 | 国产高清精 | 96久久久久久 | 九九热精品免费 | 精品久久久久久久久久久久久久 | 午夜小视频在线观看 | 欧美一区二区三区免费电影 | 亚洲国产精品成人综合色在线婷婷 | 国产精品一级在线观看 | 久久激情五月丁香伊人 | 亚洲欧洲一区二区三区 | 久久r精品 | 精品国产乱码久久久久久1区2区 | 永久91嫩草亚洲精品人人 | 午夜高清视频 | 欧美精品免费在线观看 | 高清视频一区二区三区 | 国产96在线观看 | 亚洲一区二区三区四区五区午夜 | 成人av电影网址 | av免费观看网站 | 亚洲网站在线观看 | 奇米精品一区二区三区在线观看 | 亚洲精品aaa | 国产一区网站 |