php教程 php手册 结合PHP使用HTML表单(2)

结合PHP使用HTML表单(2)

Jun 21, 2016 am 09:15 AM
echo lt quot

清单 2 中的表示法当然是方便的,但它仅在 PHP 伪指令 register_globals 被设置为 on 时才可用。在版本 4.2 以前,这是缺省设置,许多 PHP 开发人员甚至没有意识到有这样的问题。然而,从版本 4.2 开始,register_globals 的缺省设置是 off,在此情况下,该表示法不能正常工作,因为不再用适当的值创建并初始化变量。

然而,您可以用其它的方法初始化这些变量。第一个方法是更改 register_globals 的值。许多使用共享服务器的开发人员无权为整个服务器更改该值,但可以针对某个特定站点改变行为。如您有 .htaccess 文件的访问权,您可以通过添加以下伪指令启用 register_globals:


 

php_flag register_globals on




鉴于对该特性是否可用的不确定性,建议开发人员最好不要使用或依靠这种获取变量的方法。那么您有什么选择呢?

如果您的系统运行的是版本 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
echo $crew_values[$i];

echo "
";

}

...




然而,有时问题不是值太多,而是根本没有



본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

기술 세계를 탐험할 수 있도록 Go 언어 오픈 소스 프로젝트 5개를 선택했습니다. 기술 세계를 탐험할 수 있도록 Go 언어 오픈 소스 프로젝트 5개를 선택했습니다. Jan 30, 2024 am 09:08 AM

오늘날 급속한 기술 발전의 시대에 프로그래밍 언어는 비가 내린 뒤 버섯처럼 솟아오르고 있습니다. 많은 주목을 받고 있는 언어 중 하나가 바로 Go 언어인데, 단순성, 효율성, 동시성 안전성 등 다양한 기능으로 많은 개발자들에게 사랑을 받고 있습니다. Go 언어는 뛰어난 오픈 소스 프로젝트가 많이 포함된 강력한 생태계로 유명합니다. 이 기사에서는 선택된 Go 언어 오픈 소스 프로젝트 5개를 소개하고 독자가 Go 언어 오픈 소스 프로젝트의 세계를 탐색하도록 안내합니다. KubernetesKubernetes는 자동화를 위한 오픈 소스 컨테이너 오케스트레이션 엔진입니다.

Go 언어 개발 필수 사항: 인기 있는 프레임워크 권장 사항 5가지 Go 언어 개발 필수 사항: 인기 있는 프레임워크 권장 사항 5가지 Mar 24, 2024 pm 01:15 PM

"Go 언어 개발 필수 사항: 5가지 인기 프레임워크 권장 사항" 빠르고 효율적인 프로그래밍 언어인 Go 언어는 점점 더 많은 개발자들이 선호하고 있습니다. 개발 효율성을 높이고 코드 구조를 최적화하기 위해 많은 개발자는 프레임워크를 사용하여 애플리케이션을 빠르게 구축하는 방법을 선택합니다. Go 언어의 세계에는 선택할 수 있는 훌륭한 프레임워크가 많이 있습니다. 이 기사에서는 인기 있는 Go 언어 프레임워크 5개를 소개하고 독자가 이러한 프레임워크를 더 잘 이해하고 사용할 수 있도록 구체적인 코드 예제를 제공합니다. 1.GinGin은 빠른 속도를 갖춘 경량 웹 프레임워크입니다.

Golang의 웹 프레임워크인 Echo 프레임워크를 사용하여 분산 작업 스케줄링 구현 Golang의 웹 프레임워크인 Echo 프레임워크를 사용하여 분산 작업 스케줄링 구현 Jun 24, 2023 am 11:49 AM

인터넷의 발달과 정보기술의 발달로 빅데이터 시대가 도래하면서 데이터 분석, 머신러닝 등의 분야도 널리 활용되고 있다. 이러한 분야에서 작업 스케줄링은 피할 수 없는 문제입니다. 효율적인 작업 스케줄링을 달성하는 방법은 효율성을 향상시키는 데 중요합니다. 이 글에서는 Golang의 웹 프레임워크인 Echo 프레임워크를 사용하여 분산 작업 스케줄링을 구현하는 방법을 소개합니다. 1. Echo 프레임워크 소개 Echo는 확장성이 뛰어나고 가벼운 고성능 GoWeb 프레임워크입니다. HTTP를 기반으로 합니다.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Laravel 개발: Laravel Echo 및 Pusher를 사용하여 WebSocket 통신을 구현하는 방법은 무엇입니까? Laravel 개발: Laravel Echo 및 Pusher를 사용하여 WebSocket 통신을 구현하는 방법은 무엇입니까? Jun 13, 2023 pm 05:01 PM

Laravel은 확장성이 뛰어나고 효율적인 인기 있는 PHP 프레임워크로 개발자가 고품질 웹 애플리케이션을 신속하게 구축할 수 있는 많은 강력한 도구와 라이브러리를 제공합니다. 그중 LaravelEcho와 Pusher는 WebSocket 통신을 쉽게 구현할 수 있는 두 가지 매우 중요한 도구입니다. 이 기사에서는 Laravel 애플리케이션에서 이 두 도구를 사용하는 방법을 자세히 설명합니다. WebSocket이란 무엇입니까? 웹소켓

PHP에서 echo 키워드의 역할과 사용법에 대한 자세한 설명 PHP에서 echo 키워드의 역할과 사용법에 대한 자세한 설명 Jun 28, 2023 pm 08:12 PM

PHP에서 echo 키워드의 역할과 사용법에 대한 자세한 설명 PHP는 널리 사용되는 서버측 스크립트 언어로 웹 개발에 널리 사용됩니다. echo 키워드는 PHP에서 내용을 출력하는 데 사용되는 메서드입니다. 이번 글에서는 echo 키워드의 기능과 사용법을 자세히 소개하겠습니다. 기능: echo 키워드의 주요 기능은 콘텐츠를 브라우저에 출력하는 것입니다. 웹 개발에서는 데이터를 프런트엔드 페이지에 동적으로 표시해야 합니다. 이때 echo 키워드를 사용하여 데이터를 페이지에 출력할 수 있습니다. 이자형

Go 언어 프레임워크 살펴보기: 놓칠 수 없는 5가지 선택! Go 언어 프레임워크 살펴보기: 놓칠 수 없는 5가지 선택! Feb 19, 2024 pm 02:29 PM

빠르고 효율적인 프로그래밍 언어인 Go 언어는 항상 프로그래머들이 선호해 왔습니다. Go 언어 생태계에서 프레임워크는 개발자가 애플리케이션을 더 빠르게 구축하는 데 중요한 역할을 합니다. 이 글에서는 다섯 가지 Go 언어 프레임워크를 소개하여 해당 프레임워크의 특징과 사용법을 이해할 수 있도록 하겠습니다. 1. Gin 프레임워크 Gin 프레임워크는 빠르고 고성능 특성을 갖춘 경량 웹 프레임워크입니다. Gin 프레임워크를 사용하여 RESTful API 및 웹 애플리케이션을 빠르게 구축하세요. 다음은 간단한 예제 코드입니다:

시장에서 가장 인기 있는 golang 프레임워크는 무엇입니까? 시장에서 가장 인기 있는 golang 프레임워크는 무엇입니까? Jun 01, 2024 pm 08:05 PM

현재 가장 인기 있는 Go 프레임워크는 다음과 같습니다. Gin: 가볍고 고성능 웹 프레임워크이며 간단하고 사용하기 쉽습니다. Echo: 고성능 라우팅 및 미들웨어를 제공하는 빠르고 사용자 정의가 가능한 웹 프레임워크입니다. GorillaMux: 고급 라우팅 구성 옵션을 제공하는 빠르고 유연한 멀티플렉서입니다. Fiber: 높은 동시 요청을 처리하는 성능 최적화된 고성능 웹 프레임워크입니다. Martini: 풍부한 기능 세트를 제공하는 객체 지향 디자인을 갖춘 모듈식 웹 프레임워크입니다.

See all articles