![]()
|
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7">
PHPã®å¤–部ã‹ã‚‰æ¥ã‚‹å¤‰æ•°HTML フォーム(GET 㨠POST)フォーム㌠PHP ã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æŠ•ç¨¿ã•ã‚ŒãŸæ™‚ã€ãƒ•ォームã‹ã‚‰æ¸¡ã•れãŸå…¨ã¦ ã®å¤‰æ•°ã¯ PHP ã«ã‚ˆã‚Šè‡ªå‹•çš„ã«ã‚¹ã‚¯ãƒªãƒ—トã‹ã‚‰ä½¿ç”¨å¯èƒ½ã¨ãªã‚Šã¾ã™ã€‚ ã“ã®æƒ…å ±ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ‰‹æ®µã¯è¤‡æ•°ã‚りã¾ã™ã€‚例を以下ã«ç¤ºã—ã¾ã™ã€‚
特定ã®è¨å®šã‚„個別ã®è¨å®šã«ä¾å˜ã—ã€HTMLフォームã‹ã‚‰ã®ãƒ‡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ ã™ã‚‹æ‰‹æ®µã¯å¤šãã‚りã¾ã™ã€‚ã„ãã¤ã‹ã®ä¾‹ã‚’以下ã«ç¤ºã—ã¾ã™ã€‚
GETフォームを使用ã—ãŸå ´åˆã‚‚åŒã˜ã§ã™ãŒã€ã‹ã‚りã«é©å½“ãªå®šç¾©æ¸ˆã¿ã® GET変数を使用ã™ã‚‹ã¨ã“ã‚ãŒç•°ãªã‚Šã¾ã™ã€‚ GETã¯ã€QUERY_STRING (URLã®'?'ã®å¾Œã®æƒ…å ±)ã«ã‚‚代入ã•れã¾ã™ã€‚ 例ãˆã°ã€ http://www.example.com/test.php?id=3ã«ã¯ã€ $_GET['id']ã«ã‚ˆã‚Šã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ãªGETデータ ãŒå«ã¾ã‚Œã¾ã™ã€‚ $_REQUEST ãŠã‚ˆã³ import_request_variables()ã‚‚å‚照下ã•ã„。
å‰è¨˜ã®ã‚ˆã†ã«PHP 4.2.0よりå‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ register_globals ã®ãƒ‡ãƒ•ォルト値ã¯onã§ã—ãŸã€‚ PHP 3ã§ã¯ã€å¸¸ã«onã¨ãªã£ã¦ã„ã¾ã™ã€‚ PHPコミュニティã¯ã€ã“ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒ†ã‚£ãƒ–ã«ä¾å˜ã—ãªã„ã“ã¨ã‚’推奨ã—〠ã“ã®ã‚ªãƒ—ションãŒoffã§ã®ã‚³ãƒ¼ãƒ‰ã®å‹•作を仮定 ã™ã‚‹ã“ã¨ã‚’推奨ã—ã¦ã„ã¾ã™ã€‚
PHPã§ã¯ãƒ•ォーム変数ã®ã‚³ãƒ³ãƒ†ã‚スト内ã§é…列ãŒä½¿ç”¨å¯èƒ½ã§ã™(FAQã®é–¢é€£ç®‡æ‰€ã‚‚å‚ç…§ã—ã¦ãã ã•ã„)。 例ãˆã°ã€é–¢é€£ã™ã‚‹å¤‰æ•°ã‚’グループ化ã—ãŸã‚Šã€select inputã§è¤‡æ•°ã®å€¤ã‚’ å–å¾—ã™ã‚‹ã¨ã„ã£ãŸã“ã¨ãŒå¯èƒ½ã§ã™ã€‚フォームをåŒã˜ã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æŠ•ç¨¿ã—〠投稿ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’表示ã™ã‚‹ä¾‹ã‚’示ã—ã¾ã™ã€‚
PHP 3ã§ã¯ã€é…列変数ã¯1次元é…列ã«é™å®šã•れã¦ã„ã¾ã—ãŸã€‚PHP 4ã§ã¯ã“㮠よã†ãªåˆ¶ç´„ã¯ã‚りã¾ã›ã‚“。 IMAGE SUBMIT 変数åフォームを投稿ã™ã‚‹éš›ã€æ¬¡ã®ã‚¿ã‚°ã®ã‚ˆã†ã«æ¨™æº–ã®æŠ•ç¨¿ãƒœã‚¿ãƒ³ã®ä»£ã‚り㫠画åƒã‚’使用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ç”»åƒã®ã©ã“ã‹ãŒã‚¯ãƒªãƒƒã‚¯ã•れãŸå ´åˆã€äºŒã¤ã®å¤‰æ•° sub_x ãŠã‚ˆã³ sub_y ãŒä»˜ã‘åŠ ãˆã‚‰ã‚Œã¦ã“ã®ãƒ•ォームã¯ã‚µãƒ¼ãƒãƒ¼ã«è»¢é€ã•れã¾ã™ã€‚ã“れらã®å¤‰ æ•°ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã“ã®ç”»åƒã‚’クリックã—ãŸåº§æ¨™ã‚’示ã—ã¦ã„ã¾ã™ã€‚経験㮠ã‚る人ã¯ã€ãƒ–ラウザã«ã‚ˆã‚Šé€ã‚‰ã‚ŒãŸå¤‰æ•°ã®åå‰ã«ãŠã„ã¦ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ ãŒãƒ”リオドã«ãªã£ã¦ã—ã¾ã£ã¦ã„ã‚‹ã“ã¨ã‚’心é…ã™ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。 ã—ã‹ã—ã€PHP ã¯ãƒ”リオドをアンダースコアã«è‡ªå‹•çš„ã«å¤‰æ›ã—ã¾ã™ã€‚ HTTP CookiePHP ã¯ã€Netscapeã®è¦ç´„ ã«å®š 義ã•れãŸHTTP Cookieを完全ã«ã‚µãƒãƒ¼ãƒˆã—ã¾ã™ã€‚Cookieã¯ã€ãƒªãƒ¢ãƒ¼ãƒˆ ブラウザã«ãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã—ã€å†è¨ªã™ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’追跡ã—ã€ç‰¹å®šã™ã‚‹æ©Ÿæ§‹ ã§ã™ã€‚setcookie() 関数ã«ã‚ˆã‚ŠCookieをセット㙠るã“ã¨ãŒã§ãã¾ã™ã€‚Cookieã¯ã€HTTP ヘッダã®ä¸€éƒ¨ãªã®ã§ã€SetCookie 関数をブラウザã«ä½•ã‹ã‚’出力ã™ã‚‹å‰ã«ã‚³ãƒ¼ãƒ«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ ã“ã®åˆ¶ç´„ã¯ã€header() 関数ã®ã‚‚ã®ã¨åŒã˜ã§ã™ã€‚ Cookieã®ãƒ‡ãƒ¼ã‚¿ã¯ã€$_COOKIE, $HTTP_COOKIE_VARSã®ã‚ˆã†ãªé©å½“ãªCookieデータ é…列ã§å‚ç…§å¯èƒ½ã§ã™ã€‚ã¾ãŸã€ $_REQUESTã§ã‚‚ å‚ç…§å¯èƒ½ã§ã™ã€‚詳細ãŠã‚ˆã³ä¾‹ã«ã¤ã„ã¦ã¯ã€ setcookie()ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãƒšãƒ¼ã‚¸ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„。 å˜ä¸€ã®Cookieã«è¤‡æ•°ã®å€¤ã‚’代入ã—ãŸã„å ´åˆã¯ã€é…列ã¨ã—㦠代入ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚以下ã«ä¾‹ã‚’示ã—ã¾ã™ã€‚
上記スクリプトã«ãŠã„ã¦ã¯ã€2ã¤ã®ç•°ãªã‚‹Cookieを生æˆã•れã¾ã™ãŒã€ ã“ã®å ´åˆã€ã‚¹ã‚¯ãƒªãƒ—トã§ã¯MyCookieã¨ã„ã†å˜ä¸€ã®é…列ã«ãªã‚Šã¾ã™ã€‚ 一ã¤ã®Cookieã«è¤‡æ•°ã®å€¤ã‚’è¨å®šã—ãŸã„å ´åˆã€æœ€åˆã®å€¤ã« serialize()ã¾ãŸã¯ explode()を用ã„ã‚‹ã“ã¨ã‚’考ãˆã¦ãã ã•ã„。 Cookieã¯ã€ãƒ‘スã¾ãŸã¯ãƒ‰ãƒ¡ã‚¤ãƒ³ãŒç•°ãªã‚‰ãªã„é™ã‚Šã€ 以å‰ã®ã‚¯ãƒƒã‚ーをブラウザ上ã®åŒã˜åå‰ã®å¤‰æ•°ã«ç½®ãæ›ãˆã‚‹ã“ã¨ã« 注æ„ã—ã¦ãã ã•ã„。 ã•ã¦ã€è²·ã„物ã‹ã”(Shopping Cart) プãƒã‚°ãƒ©ãƒ ã®å ´åˆã€ã‚«ã‚¦ãƒ³ã‚¿ã‚’ä¿æŒã—〠å—ã‘æ¸¡ã—ãŸã„ã¨æ€ã†ã‹ã‚‚ã—れã¾ã›ã‚“。 ã“れã¯ã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
外部変数åã®ãƒ‰ãƒƒãƒˆé€šå¸¸ã€PHP ã¯ã‚¹ã‚¯ãƒªãƒ—ãƒˆã«æ¸¡ã•れãŸå¤‰æ•°ã®åå‰ã‚’変更ã—ã¾ã›ã‚“。ã—ã‹ã—〠ドット(ピリオドã€çµ‚æ¢ç¬¦)ã¯PHPã®å¤‰æ•°åã§æœ‰åŠ¹ãªæ–‡å—ã§ã¯ãªã„ã¨ã„ã†ã“ ã¨ã«æ³¨æ„ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚次ã®ä¾‹ã‚’見ã¦ã¿ã¾ã—ょã†ã€‚
é‡è¦ãªã“ã¨ã‚’記述ã—ã¦ãŠãã¨ã€ã“ã®ãŸã‚ã€å¤–部変数ã«å«ã¾ã‚Œã‚‹ãƒ‰ãƒƒãƒˆã‚’ PHP ã¯è‡ªå‹•çš„ã«ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ã«å¤‰æ›ã—ã¾ã™ã€‚ 変数ã®åž‹ã®å®šç¾©PHPã¯ã€å¤‰æ•°ã®åž‹ã‚’定義ã—ã€å¿…è¦ã«å¿œã˜ã¦å¤‰æ›ã—ã¾ã™ã€‚ã“ã®ãŸã‚ã€ã‚る変 æ•°ã®åž‹ãŒã‚る時点ã§å¸¸ã«æ˜Žã‚‰ã‹ã§ã‚ã‚‹ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。PHPã¯ã€å¤‰æ•° ã®åž‹ã‚’調ã¹ã‚‹è¤‡æ•°ã®é–¢æ•°ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ãれらã¯ã€ gettype(), is_array(), is_float(), is_int(), is_object(), is_string() ã§ã™ã€‚ åž‹ã®ç« ã‚‚å‚照下ã•ã„。
|