A coisa mais importante para aprender ASP é dominar os seis objetos integrados do ASP. Se você nunca foi exposto a ele antes, é inteligente o suficiente para ignorar esses conceitos e saber como usá-los. que a chave para aprender ASP no início é copiá-lo. O mais importante é dominar os seis objetos integrados do ASP. Na verdade, na aula anterior, já aprendemos sobre o objeto Response e o método Write, o método Redirect e a propriedade Expires mais comumente usados no objeto Response. Quando você vê os conceitos de objetos, métodos, propriedades, coleções e eventos (não conheço nenhum deles!), se você nunca foi exposto a eles antes, você é inteligente e não se importa com esses conceitos. Basta saber como usá-los. Meu ponto de vista é que é apenas o começo. Vamos continuar aprendendo o objeto Request por meio de exemplos. Para aprofundar nosso entendimento, execute esses programas para ver os resultados de saída.
1. Use Request.ServerVariables para obter variáveis de ambiente Esta parte é muito simples, mas o conteúdo obtido é muito importante. Por favor, veja o seguinte exemplo:
Copie o código do código da seguinte forma:
<%@Idioma=VBScript%>
<HTML><BODY>
<% 'wuf8.asp
Response.Write Caminho para executar o arquivo ASP: &_
Request.ServerVariables(Script_Name) & <Br>
Response.Write retorna o comprimento dos dados do conteúdo: &_
Request.ServerVariables(Content_Length) & <Br>
Response.Write retorna o endereço IP do cliente: &_
Request.ServerVariables(Remote_Addr) & <Br>
Resposta.Escreva o nome do navegador: &_
Solicitação.ServerVariables(HTTP_USER_AGENT) & <Br>
Response.Write retorna o caminho físico real para a página inicial: &_
Solicitação.ServerVariables(APPL_PHYSICAL_PATH) e <Br>
%>
<tabela colspan=8 cellpadding=5 borda=0>
<tr>
<td align=CENTER bgcolor=#800000 width=109> <font style=ARIAL NARROW color=#ffffff size=2>Nome da variável de ambiente</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Conteúdo</font></td>
</tr>
<tr>
<td bgcolor=f7efde align=CENTER> <font style=ARIAL NARROW size=2>
resultado1
</font></td>
<td bgcolor=f7efde align=CENTER> <font style=ARIAL NARROW size=2>
resultado2
</font></td></tr>
</tabela>
</BODY></HTML>
Agora, você deve descobrir como a rotina wuf2.asp da aula anterior é fácil!
Nota: A marcação HTML na última parte deste programa é puramente uma preparação para o exemplo a seguir, portanto não se surpreenda. Então, quais outras variáveis de ambiente existem? Você saberá executando o exemplo a seguir (este programa excluiu alguns códigos, é melhor baixar o programa fonte do meu site para facilitar o entendimento).
Copie o código do código da seguinte forma:
<%@Idioma=VBScript%>
<% 'wuf9.asp
Opção Explícita
Dim SV
%>
<HTML><BODY>
<tabela colspan=8 cellpadding=5 borda=0>
<tr>
<td align=CENTER bgcolor=#800000 width=109> <font style=ARIAL NARROW color=#ffffff size=2>Nome da variável de ambiente</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Resultados</font></td>
</tr>
<%
para cada Sv In Request.ServerVariables
Resposta.Write<tr>
Response.Write <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Resposta.Escrever Sv
Resposta.Write </font></td>
Response.Write <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Response.Write Request.ServerVariables(Sv)
Resposta.Write </font></td></tr>
próximo
%>
</tabela>
</BODY></HTML>
Um loop For...Each é usado aqui para listar todos os elementos em uma coleção. Se você não entende a segunda metade, compare wuf8.asp, dê uma olhada nos resultados da execução e entenda-os com atenção (qual é a sua atitude?).
2. Transmitir dados para o servidor através do formulário (isso também pode ser entendido como a forma como o servidor lê os dados enviados pelo cliente)
Se você trabalhou em uma página inicial, deve saber que muitas páginas iniciais geralmente usam formulários de formulário para permitir que os usuários insiram dados e depois enviem os dados por meio do botão enviar. Existem dois métodos principais no formulário From: POST e GET Após a ação, geralmente é especificado um arquivo .cgi, .pl ou .asp. O que aprenderemos hoje é como escrever esse arquivo .asp.
(1) Se você usar o método POST para transmitir dados, use Request.Form para ler os dados.
Primeiro edite o seguinte arquivo wuf10.htm para os usuários inserirem dados:
Copie o código do código da seguinte forma:
<html>
<corpo bgcolor=#FFFFFF>
<método de formulário=post action=wuf11.asp>
Nome: <input type=text name=seunome><br>
Gênero: <selecione nome=gênero>
<option>Masculino</option>
<option>Feminino</option>
</select> <br>
Mensagem: <textarea name=message>Olá!
Preste atenção ao processamento de texto multilinha</textarea> <br>
Hobbies (mantenha pressionada a tecla Ctrl para selecionar vários):
<selecione nome=hobby tamanho múltiplo=4>
<opção>Computador</option>
<option>Compras</option>
<option>Filmes</option>
<option>Leitura</option>
</select> <br>
<tipo de entrada=nome de envio=Valor de envio=Enviar>
<tipo de entrada=redefinir nome=Submit2 valor=Redefinir>
</form>
</body>
</html>
Em seguida, escreva um arquivo wuf11.asp que wuf10.htm precisa usar para coletar dados:
Copie o código do código da seguinte forma:
<%@Idioma=VBScript%>
<% 'wuf11.asp
Opção Explícita
Resposta.Expires=0
Dim StrName, StrGender, StrM, StrMsg
StrName = Trim(Request.Form(seunome)) 'A função Trim é usada para remover espaços iniciais e finais
StrGender = Trim(Request.Form(gênero))
StrM = Trim(Request.Form(mensagem))
StrMsg = Substituir(StrM,vbcrlf,<Br> & vbcrlf)
'vbcrlf é equivalente à combinação de retorno de carro e avanço de linha. Quanto à função Substituir, sua função é substituir vbcrlf na string StrM por <Br> & vbcrlf (pense no uso deste vbcrlf? Você entenderá olhando o código-fonte HTML do arquivo de saída). consulte a ajuda do VBScript para obter detalhes.
%>
<HTML><BODY>
Nome: <%=StrName%><Br><Br>
Gênero: <%= StrGender%><Br><Br>
Mensagem: <Br><Br>
<%= StrM%><Br><Br>
<%= StrMsg%><Br><Br>
Na verdade, o valor do botão enviar também é passado: <Br>
<%= Request.Form(Enviar)%><Br><Br>
<% 'Primeiro entenda o que foi dito acima e depois veja como ler múltiplas opções se você estiver interessado
Response.Write Número de hobbies selecionados no total: & Request.Form(hobby).Count & <Br>
Escureça eu
Para I = 1 para Request.Form(hobby).Count
Response.Write Request.Form(hobby)(I) & <Br>
Próximo
%>
</BODY></HTML>
Neste exemplo, para facilitar a compreensão, usamos dois programas. Na verdade, você também pode usar apenas um programa. Se estiver interessado, consulte a seguinte rotina wuf12.asp, que o ajudará a aprofundar sua compreensão das variáveis de ambiente.
Copie o código do código da seguinte forma:
<%@Idioma=VBScript%>
<% 'wuf12.asp
Opção Explícita
Resposta.Expires=0
Dim StrName, StrGender, StrM, StrMsg
Se Request.ServerVariables(Content_Length) <> 0 Então
'Após enviar os dados, o comprimento não será 0, então execute a seguinte instrução para exibir o resultado
'A parte a seguir foi copiada de wuf11.asp
StrName = Trim(Request.Form(seunome))
StrGender = Trim(Request.Form(gênero))
StrM = Trim(Request.Form(mensagem))
StrMsg = Substituir(StrM,vbcrlf,<Br> & vbcrlf)
%>
<HTML><BODY>
Nome: <%=StrName%><Br><Br>
Gênero: <%= StrGender%><Br><Br>
Mensagem: <Br><Br>
<%= StrM%><Br><Br>
<%= StrMsg%><Br><Br>
<%
Response.Write Número de hobbies selecionados no total: & Request.Form(hobby).Count & <Br>
Escureça eu
Para I = 1 para Request.Form(hobby).Count
Response.Write Request.Form(hobby)(I) & <Br>
Próximo
%>
</BODY></HTML>
<%
Outro
'Quando a página é carregada pela primeira vez, nenhum dado é enviado, então a parte anterior não é executada, mas começa a partir daqui.
'É por isso que existem dois pares de <HTML></HTML>
'Basta copiar wuf10.htm abaixo.
'<form method=post action=wuf11.asp> foi substituído por variáveis de ambiente, mas é exatamente o mesmo
Response.Write para ver o resultado: & Request.ServerVariables(Script_name) & <Br>
%>
<HTML><BODY>
<form method=post action=<%= Request.ServerVariables(Script_name)%>>
Nome: <input type=text name=seunome><br>
Gênero: <selecione nome=gênero>
<option>Masculino</option>
<option>Feminino</option>
</select> <br>
Mensagem: <textarea name=message>Olá!
Preste atenção ao processamento de texto multilinha</textarea> <br>
Hobbies (mantenha pressionada a tecla Ctrl para selecionar vários):
<selecione nome=hobby tamanho múltiplo=4>
<opção>Computador</option>
<option>Compras</option>
<option>Filmes</option>
<option>Leitura</option>
</select> <br>
<tipo de entrada=nome de envio=Valor de envio=Enviar>
<tipo de entrada=redefinir nome=Submit2 valor=Redefinir>
</form>
</BODY></HTML>
<%Finalizar se%>
(2) Se você usar o método GET para transmitir dados, use Request.Querystring para ler os dados.
Primeiro edite o seguinte arquivo wuf13.htm para os usuários inserirem dados:
<html>
<corpo bgcolor=#FFFFFF>
<método de formulário = obter ação = wuf14.asp>
Nome em inglês: <input type=text name=Ename> <br>
Nome chinês: <input type=text name=Cname><br>
Gênero: <selecione nome=gênero>
<option>Masculino</option>
<option>Feminino</option>
</select> <br>
<tipo de entrada=nome de envio=Valor de envio=Enviar>
<tipo de entrada=redefinir nome=Submit2 valor=Redefinir>
</form>
</body>
</html>
Em seguida, escreva um arquivo wuf14.asp que wuf13.htm precisa usar para coletar dados:
<%@Idioma=VBScript%>
<% 'wuf14.asp
Opção Explícita
Resposta.Expires=0
Dim StrCname, StrEname, StrGender
StrEname = Trim(Request.QueryString(Ename)) 'A função Trim é usada para remover espaços iniciais e finais
StrCname = Trim(Request.QueryString(Cname))
StrGender = Trim(Request.QueryString(gênero))
%>
<HTML><BODY>
Nome em inglês: <%= StrEname%><Br><Br>
Nome chinês: <%= StrCname%><Br><Br>
Gênero: <%= StrGender%><Br><Br>
Dê uma olhada na string enviada: <Br>
<%= Solicitação.ServerVariables(Query_String)%>
</BODY></HTML>
Para entender melhor este programa, é melhor tentar primeiro o efeito da rotina wuf13.htm no navegador e observar os resultados de saída. Você descobrirá que a longa string na barra de endereço parece familiar, assim como quando. pesquisando no Yahoo visto praticamente o mesmo. Neste momento, você tenta inserir http://localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女 diretamente na barra de endereço e obtém o mesmo resultado. Então você pode ver desta forma, o resultado do wuf13.htm é obter um link com parâmetros como este. Request.QueryString lê cada dado dos parâmetros adicionais do endereço http://.
Na verdade, quando o botão enviar é pressionado, a string de consulta (dados de entrada) será anexada ao endereço URL na forma de parâmetros (cada parâmetro é separado por &) para atingir o objetivo de transferência de dados. Ao mesmo tempo, observe que não há chinês na string de consulta exibida no navegador, mas sim caracteres distorcidos irreconhecíveis contendo sinais de porcentagem. Finalmente, como antes, esses dois programas também podem ser mesclados em um programa (rotina wuf15.asp, você precisa baixá-lo do meu site).
Algumas notas :
1. Se você usar o método POST para enviar dados, Request.ServerVariables(Content_Length)>0.
Se você usar o método GET para enviar dados, Request.ServerVariables(Query_String) <>.
2. Depois de compreender o princípio, você pode misturar Request.Form e Request.QueryString no mesmo arquivo ASP.
3. Se houver vários botões em um formulário, como determinar qual botão o usuário pressionou? Se você prestar atenção, descobrirá que há uma frase na rotina wuf11.asp informando que o valor do botão enviar também é transmitido, e um valor semelhante pode ser encontrado na string de consulta gerada em wuf13.htm. Observação: apenas o valor do botão pressionado é transmitido, e os valores dos outros botões são a base para o julgamento (o site InfoWeb do "China Planning News" tem um artigo semelhante).