ÄܽÏÈÝÒ׵ضÔÓû§Í¨¹ý HTML ±íµ¥Ìá½»µÄÐÅÏ¢½øÐвÙ×÷µÄÄÜÁ¦Ò»Ö±ÊÇ PHP µÄÓÅÊÆÖ®Ò»¡£ÊÂʵÉÏ£¬PHP °æ±¾ 4.1 Ìí¼ÓÁ˼¸¸ö·ÃÎʸÃÐÅÏ¢µÄз½·¨²¢ÓÐЧµØ³ýÈ¥ÁËÒÔǰ°æ±¾ÖÐ×î³£ÓõÄÒ»¸ö·½·¨¡£±¾ÎÄÑо¿ÁËʹÓà HTML ±íµ¥ÉÏÌá½»µÄÐÅÏ¢µÄ²»Í¬·½·¨£¬²¢Í¬Ê±Ê¹ÓÃÁË PHP ½ÏÔçµÄ°æ±¾ºÍ½Ïеİ汾¡£±¾ÎÄÊ×ÏÈ´ÓÑо¿µ¥¸öÖµ¿ªÊ¼£¬È»ºó¹¹½¨¿ÉÒÔÒ»°ãÐԵطÃÎÊÈκοÉÓÃµÄ±íµ¥ÖµµÄÒ³Ãæ¡£
×¢£º±¾Îļٶ¨Äú¶ÔÔËÐÐ PHP °æ±¾ 3.0 »ò¸ü¸ß°æ±¾µÄ Web ·þÎñÆ÷¾ßÓзÃÎÊȨ¡£ÄúÐèÒª¶Ô PHP ±¾ÉíÒÔ¼°´´½¨ HTML ±íµ¥Óлù±¾Á˽⡣
HTML ±íµ¥
ÔÚÔĶÁ±¾ÎĵĹý³ÌÖУ¬Äú½«¿´µ½²»Í¬ÀàÐ굀 HTML ±íµ¥ÔªËØÈçºÎÌṩ PHP Äܹ»·ÃÎʵÄÐÅÏ¢¡£Õë¶Ô±¾Ê¾Àý£¬ÎÒʹÓÃÁËÒ»¸ö¼òµ¥µÄÐÅÏ¢±íµ¥£¬ËüÓÉÁ½¸öÎı¾Óò¡¢Á½¸ö¸´Ñ¡¿òºÍÒ»¸öÔÊÐí¶àÏîµÄÑ¡Ôñ¿ò×é³É£º
Çåµ¥ 1. HTML ±íµ¥
Mission Information
ÔÚûÓÐÖ¸¶¨·½·¨µÄÇé¿öÏ£¬¸Ã±íµ¥Ê¹ÓÃȱʡ·½·¨ GET£¬ä¯ÀÀÆ÷ÓÃËü½«±íµ¥Öµ¸½¼Óµ½ URL£¬ÈçÏÂËùʾ£º
http://www.vanguardreport.com/formaction.php?
ship=Midnight+Runner&tripdate=12-15-2433&exploration=yes&crew=snertal&crew=gosny
ͼ 1 ÏÔʾ±íµ¥±¾Éí¡£
ͼ 1. HTML ±íµ¥
Àϰ취£º·ÃÎÊÈ«¾Ö±äÁ¿
Çåµ¥ 2 ÖÐÏÔʾµÄ´úÂ뽫±íµ¥Öµ×÷Ϊȫ¾Ö±äÁ¿´¦Àí£º
Çåµ¥ 2. ×÷Ϊȫ¾Ö±äÁ¿µÄ±íµ¥Öµ
echo "Ship = ".$ship;
echo "
";
echo "Tripdate = ".$tripdate;
echo "
";
echo "Exploration = ".$exploration;
echo "
";
echo "Contact = ".$contact;
?>
Éú³ÉµÄ Web Ò³ÃæÏÔʾÌá½»µÄÖµ£º
Ship = Midnight Runner
Tripdate = 12-15-2433
Exploration = yes
Contact =
£¨ÕýÈçÄúÉԺ󽫿´µ½µÄÄÇÑù£¬Contact ûÓÐÖµ£¬ÒòΪûÓÐÑ¡ÖÐÄǸö¿ò£©¡£
Çåµ¥ 2 Öеıíʾ·¨µ±È»ÊÇ·½±ãµÄ£¬µ«Ëü½öÔÚ PHP αָÁî register_globals ±»ÉèÖÃΪ on ʱ²Å¿ÉÓá£ÔÚ°æ±¾ 4.2 ÒÔǰ£¬ÕâÊÇȱʡÉèÖã¬Ðí¶à PHP ¿ª·¢ÈËÔ±ÉõÖÁûÓÐÒâʶµ½ÓÐÕâÑùµÄÎÊÌ⡣Ȼ¶ø£¬´Ó°æ±¾ 4.2 ¿ªÊ¼£¬register_globals µÄȱʡÉèÖÃÊÇ off£¬ÔÚ´ËÇé¿öÏ£¬¸Ã±íʾ·¨²»ÄÜÕý³£¹¤×÷£¬ÒòΪ²»ÔÙÓÃÊʵ±µÄÖµ´´½¨²¢³õʼ»¯±äÁ¿¡£
È»¶ø£¬Äú¿ÉÒÔÓÃÆäËüµÄ·½·¨³õʼ»¯ÕâЩ±äÁ¿¡£µÚÒ»¸ö·½·¨ÊǸü¸Ä register_globals µÄÖµ¡£Ðí¶àʹÓù²Ïí·þÎñÆ÷µÄ¿ª·¢ÈËÔ±ÎÞȨΪÕû¸ö·þÎñÆ÷¸ü¸Ä¸ÃÖµ£¬µ«¿ÉÒÔÕë¶Ôij¸öÌØ¶¨Õ¾µã¸Ä±äÐÐΪ¡£ÈçÄúÓÐ .htaccess ÎļþµÄ·ÃÎÊȨ£¬Äú¿ÉÒÔͨ¹ýÌí¼ÓÒÔÏÂαָÁîÆôÓà register_globals£º
php_flag register_globals on
¼øÓÚ¶Ô¸ÃÌØÐÔÊÇ·ñ¿ÉÓõIJ»È·¶¨ÐÔ£¬½¨Ò鿪·¢ÈËÔ±×îºÃ²»ÒªÊ¹ÓûòÒÀ¿¿ÕâÖÖ»ñÈ¡±äÁ¿µÄ·½·¨¡£ÄÇôÄúÓÐʲôѡÔñÄØ£¿
Èç¹ûÄúµÄϵͳÔËÐеÄÊǰ汾 4.1 »ò¸ü¸ß°æ±¾£¬ÔòÄúµÄÁíÒ»¸öÑ¡ÔñÊÇʹÓà import_request_variables() ÓÐÑ¡ÔñµØ×¢²áÈ«¾Ö±äÁ¿¼¯ºÏ¡£Äú¿ÉÒÔʹÓøú¯Êýµ¼Èë get¡¢post ºÍ cookie Öµ£¬¶øÇÒÈç¹ûÄúÔ¸ÒâµÄ»°£¬»¹¿ÉÒÔ¸øÃ¿ÏîÌí¼Óǰ׺¡£ÀýÈ磺
import_request_variables(gp, "formval_");
echo "Ship = ".$formval_ship;
echo "
";
echo "Tripdate = ".$formval_tripdate;
echo "
";
echo "Exploration = ".$formval_exploration;
echo "
";
echo "Contact = ".$formval_contact;
?>
ÕâÀµ¼ÈëÁË get ºÍ post Öµ ¡ª ʹÓà c À´µ¼Èë cookie Öµ ¡ª ¶øÇÒÓÉÓÚ p ¸úÔÚ g Ö®ºó£¬ËùÒÔ post Öµ½«¸²¸ÇͬÃûµÄ get Öµ¡£
µ«Èç¹ûÄúÏóÐí¶à¿ª·¢ÈËÔ±Ò»ÑùûÓÐÔËÐа汾 4.1 »ò¸ü¸ß°æ±¾£¬ÄÇÔõô°ìÄØ£¿
·ÃÎÊ±íµ¥Öµ¼¯ºÏ
¶ÔÓÚÄÇЩÔËÐнÏÔç°æ±¾»ò²»Ô¸Ê¹ÓÃÈ«¾Ö±äÁ¿µÄÈËÀ´Ëµ£¬¿ÉÒÔÑ¡ÔñʹÓà $HTTP_GET_VARS ºÍ $HTTP_POST_VARS Êý×é¡£¾¡¹Ü²¢²»ÔÞ³ÉʹÓÃÕâЩ¼¯ºÏ£¬µ«ËüÃÇÈÔÈ»¿ÉÓ㬶øÇÒÈÔ±»¹ã·ºÊ¹Óᣵ±ÕæµÄ²»ÔÙʹÓÃËüÃÇʱ£¬½«Óð汾 4.1 ÖÐÌí¼ÓµÄ $_GET ºÍ $_POST Êý×éÌæ´úËüÃÇ¡£
ÕâÁ½ÀàÊý×éµÄÀàÐͶ¼ÊÇÉ¢ÁÐ±í£¨hash table£©¡£É¢ÁбíÊÇͨ¹ý×Ö·û´®Öµ¶ø²»ÊÇÕûÊýÀ´½¨Á¢Ë÷ÒýµÄÊý×顣ʹÓÃ±íµ¥Ê±£¬¿ÉÒÔͨ¹ýÖµµÄÃû³ÆÀ´·ÃÎÊÖµ£¬Èç Çåµ¥ 3 Ëùʾ£º
Çåµ¥ 3. ͨ¹ýÉ¢Áбí·ÃÎÊ±íµ¥Öµ
$ship_value = $HTTP_GET_VARS['ship'];
echo $ship_value;
echo "
";
$tripdate_value = $HTTP_GET_VARS['tripdate'];
echo $tripdate_value;
echo "
";
$exploration_value= $HTTP_GET_VARS['exploration'];
echo $exploration_value;
echo "
";
$contact_value = $HTTP_GET_VARS['contact'];
echo $contact_value;
?>
ʹÓø÷½·¨£¬Äú¿ÉÒÔͨ¹ýÃû³ÆÀ´¼ìË÷ÿ¸ö×ֶεÄÖµ¡£
µ¥Ãû£¬¶àÖµ
µ½ÏÖÔÚΪֹ£¬Ã¿¸öÃû³Æ½ö¶ÔÓ¦Ò»¸öÖµ¡£Èç¹ûÓжà¸öÖµ»áÔõÑù£¿ÀýÈ磬crew species Áбí¿òÔÊÐíÓÃÃû³Æ crew Ìá½»¶à¸öÖµ¡£
ÀíÏëÇé¿öÏ£¬ÄúÏ£Íû½«ÕâЩֵ×÷ΪÊý×éʹÓã¬ÕâÑù¾Í¿ÉÒÔÏÔʽµØ¼ìË÷ËüÃÇ¡£ÒªÊµÏÖÕâÒ»µã£¬Äú±ØÐë¶Ô HTML Ò³ÃæÉԼӸ͝¡£Òª×÷ΪÊý×éÌá½»µÄ×Ö¶ÎÓ¦¸ÃÓ÷½À¨ºÅÃüÃû£¬Èç crew[] ÖУº
Çåµ¥ 4. ÐÞ¸Ä HTML Ò³Ãæ
...
...
Ò»µ©Äú×÷³ö¸ü¸Ä£¬¼ìË÷±íµ¥ÖµÊµ¼ÊÉϲúÉúÊý×飺
Çåµ¥ 5. ½«±äÁ¿×÷ΪÊý×é·ÃÎÊ
...
$crew_values = $HTTP_GET_VARS['crew'];
echo "0) ".$crew_values[0];
echo "
";
echo "1) ".$crew_values[1];
echo "
";
echo "2) ".$crew_values[2];
...
ÏÖÔÚ£¬Ìá½»Ò³Ãæºó»áÏÔʾ¶à¸öÖµ£º
0) snertal
1) gosny
2)
Ê×ÏÈҪעÒâÕâÊÇÒ»¸öϱê´Ó 0 ¿ªÊ¼µÄÊý×é¡£µÚÒ»¸öÓöµ½µÄÖµÔÚλÖà 0 ÖУ¬½ÓÏÂÀ´µÄÖµÔÚλÖà 1£¬ÒÔ´ËÀàÍÆ¡£ÔÚ±¾ÀýÖУ¬ÎÒÖ»Ìá½»ÁËÁ½¸öÖµ£¬ËùÒÔµÚÈýÏîΪ¿Õ¡£
ͨ³££¬Äú²»ÖªµÀ½«Ìá½»¶àÉÙÏÒò´ËÄú¿ÉÒÔÀûÓÃËüÊÇÊý×éÕâÒ»ÊÂʵʹÓà sizeof() º¯ÊýÀ´È·¶¨Ìá½»Á˶àÉÙÖµ£¬¶ø²»±ØÖ±½Óµ÷ÓÃÿһÏ
Çåµ¥ 6. È·¶¨Êý×éµÄ´óС
...
for ($i = 0; $i < sizeof($crew_values); $i++) {
echo $crew_values[$i];
echo "
";
}
...
È»¶ø£¬ÓÐʱÎÊÌâ²»ÊÇֵ̫¶à£¬¶øÊǸù±¾Ã»ÓÐÖµ¡£
ÁîÈ˾ªÆæµÄÏûʧµÄ¸´Ñ¡¿ò
¸´Ñ¡¿òÖ»ÓÐʵ¼Ê±»Ñ¡ÖÐʱ²Å±»Ìá½»£¬ÈÏʶµ½ÕâÒ»µãºÜÖØÒª¡£·ñÔò£¬ËüµÄÏûʧ½«¸æËßÄúËùÐèÖªµÀµÄʵÇ飺Óû§Ã»Óе¥»÷¸´Ñ¡¿ò¡£Ê¹Óø´Ñ¡¿òʱ£¬Äú¿ÉÒÔʹÓà isset() º¯ÊýÏÔʽµØ¼ì²éÊÇ·ñÉèÖÃÁËÖµ£º
Çåµ¥ 7. ¼ì²éÊÇ·ñÌá½»Á˸´Ñ¡¿ò
...
$contact_value = $HTTP_GET_VARS['contact'];
echo $contact_value;
if (isset($contact_value)) {
//The checkbox was clicked
} else {
//The checkbox wasn't clicked
}
...
»ñÈ¡ËùÓÐ±íµ¥Öµ
¸´Ñ¡¿ò×Ö¶ÎÖ»ÊÇÄú¶ÔÔ¤ÆÚ±íµ¥ÖµÃû³Æ¿ÉÄܲ»ÍêÈ«ÓаÑÎÕµÄÇéÐεÄʾÀýÖ®Ò»¡£Í¨³££¬Äú»á·¢ÏÖÓÐÒ»¸öÒÔͨÓ÷½·¨·ÃÎÊËùÓÐ±íµ¥ÖµµÄÀý³ÌÊǺÜÓÐÓõġ£
ÐÒÔ˵ÄÊÇ£¬ÒòΪ $HTTP_GET_VARS ¼°ÆäͬÀàÖ»ÊÇÉ¢ÁÐ±í£¬Äú¿ÉÒÔÓÃÊý×éµÄÒ»Ð©ÌØÐÔÀ´²Ù×÷ËüÃÇ¡£ÀýÈ磬Äú¿ÉÒÔʹÓà array_keys() º¯ÊýÀ´»ñÈ¡ËùÓÐDZÔÚÖµÃû³ÆµÄÁÐ±í£º
Çåµ¥ 8. »ñÈ¡±íµ¥ÖµÃû³ÆµÄÁбí
...
$form_fields = array_keys($HTTP_GET_VARS);
for ($i = 0; $i < sizeof($form_fields); $i++) {
$thisField = $form_fields[$i];
$thisValue = $HTTP_GET_VARS[$thisField];
echo $thisField ." = ". $thisValue;
echo "
";
}
...
ÔÚ±¾ÀýÖУ¬Äúʵ¼ÊÉϽáºÏÁ˼¸ÖÖ¼¼Êõ¡£Ê×ÏÈ£¬¼ìË÷±íµ¥×Ö¶ÎÃû³ÆµÄÊý×é²¢½«ÆäÃüÃûΪ $form_fields¡£$form_fields Êý×éÖ»ÊÇÒ»¸öµäÐ͵ÄÊý×飬Òò´ËÄú¿ÉÒÔʹÓà sizeof() º¯ÊýÀ´È·¶¨Ç±ÔÚ¼üµÄÊýÄ¿£¬²¢¶ÔÿһÏî½øÐÐÑ»·±éÀú¡£¶ÔÓÚÿһÏ¼ìË÷×ֶεÄÃû³ÆÈ»ºóʹÓøÃÃû³Æ»ñȡʵ¼ÊÖµ¡£Éú³ÉµÄ Web Ò³Ãæ¿´ÆðÀ´ÈçÏ£º
ship = Midnight Runner
tripdate = 12-15-2433
exploration = yes
crew = Array
ÕâÀïÓÐÁ½¸öÖØÒªÊÂÏî¡£µÚÒ»£¬contact ×ֶθù±¾Ã»Óзµ»ØÖµ£¬ÕâÕýÈçÔ¤ÆÚµÄÄÇÑù¡£µÚ¶þ£¬crew Öµ£¨Ë³±ã˵һÏ£¬Äú»òÐíÖªµÀ£ºËüµÄÃû³ÆÊÇ crew ¶ø²»ÊÇ crew[]£©ÊÇÒ»¸öÊý×é¶ø²»ÊÇÖµ¡£ÎªÁËʵ¼Ê¼ìË÷ËùÓÐÖµ£¬ÐèҪʹÓà is_array() º¯Êý¼ì²âËùÓÐÊý×é²¢ÏàÓ¦µØ´¦ÀíËüÃÇ£º
Çåµ¥ 9. ´¦ÀíÊý×é
...
for ($i = 0; $i < sizeof($form_fields); $i++) {
$thisField = $form_fields[$i];
$thisValue = $HTTP_GET_VARS[$thisField];
if (is_array($thisValue)){
for ($j = 0; $j < sizeof($thisValue); $j++) {
echo $thisField ." = ". $thisValue[$j];
echo "
";
}
} else {
echo $thisField ." = ". $thisValue;
}
echo "
";
}
...
½á¹ûÊÇËùÓÐÒÑʵ¼ÊÌá½»µÄÊý¾Ý£º
ship = Midnight Runner
tripdate = 12-15-2433
exploration = yes
crew = snertal
crew = gosny
×îºóÒ»¸ö˵Ã÷£ºµã
¼ÈÈ»ÄúÓÐÁËÄÜÊÊÓ¦ÄúÌá½»ÈÎºÎ±íµ¥ÖµµÄ±íµ¥²Ù×÷Ò³Ãæ£¬Äú¾ÍÐèÒª³éÒ»µãʱ¼ä¿¼ÂÇÒ»¸ö³£³£Èà PHP ³ÌÐòÔ±¸Ðµ½ÒâÍâµÄÇéÐΡ£
ÓÐЩÇé¿öÏ£¬Éè¼ÆÈËÔ±»áÑ¡ÔñʹÓÃÒ»¸öͼÐΰ´Å¥¶ø²»ÊÇÌá½»°´Å¥£¬Í¼Ðΰ´Å¥Èçͼ 2Ëùʾ£¬´úÂëÈçÇåµ¥ 10Ëùʾ¡£
Çåµ¥ 10. Ìí¼ÓͼÐΰ´Å¥
...
...
ͼ 2. ±íµ¥ÉϵÄͼÐΰ´Å¥
Çë×¢Ò⣬¾¡¹ÜÉÏͼÖÐÖ»ÓÐÒ»¸öͼÏñ£¬È´ÓÐÁ½¸öͼÐΰ´Å¥£¨»òÆÚÍûµÄ½á¹û£©¡£×÷Ϊ¿ª·¢ÈËÔ±£¬Äú¿ÉÒÔͨ¹ý¼ì²éºÍֵһͬ·µ»ØµÄ x ºÍ y ×ø±êÖªµÀÓû§µ¥»÷Á˺δ¦¡£ÊÂʵÉÏ£¬°´ÔÑùÌá½»¸Ã±íµ¥¿ÉÄܻᴴ½¨ÒÔÈçÏÂËùʾ½áβµÄ URL ºÍ²éѯ×Ö·û´®£º
...snertal&crew%5B%5D=gosny&formbutton.x=37&formbutton.y=14
Çë×¢Ò⸽¼Óµ½°´Å¥Ãû³ÆµÄ .x ºÍ .y¡£È»¶ø£¬Èç¹ûÄú´òËãÌá½»¸ÃÒ³ÃæÈ»ºó²é¿´½á¹û£¬Äú»á¿´µ½£º
ship = Midnight Runner
tripdate = 12-15-2433
exploration = yes
crew = snertal
crew = gosny
formbutton_x = 37
formbutton_y = 14
Çë×¢Ò⣬µãºÅ£¨.£©Òѱ»×ª»»³ÉÏ»®Ïߣ¨_£©¡£ÕâËÆºõÓÐµãÆæ¹Ö£¬µ«ËüÊDZØÒªµÄ£¬ÒòΪ PHP ÖеıäÁ¿Ãû²»ÄÜÓеãºÅ£¬Òò´Ë $formbutton.x »áÊÇÒ»¸ö·Ç·¨±äÁ¿Ãû¡£ÊÂʵÉÏ£¬±íµ¥Ãû³ÆÖеÄÈκεãºÅ ¡ª ²»½ö½öÕë¶ÔͼÏñ°´Å¥ ¡ª ¶¼±»×ª»»³ÉÏ»®Ïß¡£
½áÊøÓï
ÔÚ±¾ÎÄÖУ¬Äú¿´µ½Á˶ÔÓû§Í¨¹ý HTML »ò XHTML ±íµ¥Ìá½»µÄÐÅÏ¢½øÐзÃÎʵļ¸ÖÖ·½·¨¡£ÈçºÎ´¦Àí¸ÃÐÅϢȡ¾öÓÚÄúʹÓÃµÄ PHP °æ±¾ºÍÄúÊÇ·ñÄܽ«±íµ¥±äÁ¿×÷Ϊȫ¾Ö±äÁ¿½øÐзÃÎÊ¡£ÎÞÂÛºÎÖÖÇé¿ö£¬±íµ¥Öµ¿É×÷ΪÊý×éʹÓ㬲¢ÇÒÄú¿ÉÒÔÓÃÊý×éµÄÌØÐÔÀ´Ñ»·±éÀúËùÓпÉÓõÄÖµ¡£

