WML - enviar dados ao servidor

Muitas vezes, você desejará que seus usuários enviem alguns dados ao seu servidor. Semelhante ao formulário HTML, o WML também fornece um mecanismo para enviar dados do usuário ao servidor da web.

Para enviar dados ao servidor em WML, você precisa de <go> ... </go> junto com as tags <postfield />. A tag <postfield /> deve ser incluída no par de tags <go> ... </go>.

Para enviar dados a um servidor, coletamos todas as variáveis ​​WML definidas e usamos os elementos <postfield> para enviá-los ao servidor. Os elementos <go> ... </go> são usados ​​para definir o método de postagem para POST ou GET e para especificar um script do lado do servidor para lidar com os dados carregados.

Nos capítulos anteriores, explicamos várias maneiras de obter informações dos usuários. Esses elementos de entrada definem variáveis ​​WML para os valores inseridos. Também sabemos como obter valores de variáveis ​​WML. Portanto, agora o exemplo a seguir mostra como enviar três campos nome, idade e sexo ao servidor.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card id="card1" title="WML Form">
<p>
   Name: <input name="name" size="12"/>
   Sex : <select name="sex">
      <option value="male">Male</option>
      <option value="female">Female</option>
      </select>
   Age :  <input name="age" size="12" format="*N"/>
   <anchor>
      <go method="get" href="process.php">
          <postfield name="name" value="$(name)"/>
          <postfield name="age" value="$(age)"/>
          <postfield name="sex" value="$(sex)"/>
      </go>
      Submit Data
    </anchor>
</p>
</card>

</wml>

Quando você baixa o código acima em seu dispositivo WAP, ele fornece a opção de inserir três campos nome, idade e sexo e um link para Enviar dados . Você entrará em três campos e, finalmente, selecionará o link Enviar dados para enviar os dados inseridos ao servidor.

O atributo method da tag <go> especifica qual método HTTP deve ser usado para enviar os dados do formulário.

Se for utilizado o método HTTP POST, os dados do formulário a serem enviados serão colocados no corpo da mensagem da solicitação. Se o método HTTP GET for usado, os dados do formulário a serem enviados serão anexados ao URL. Como um URL pode conter apenas um número limitado de caracteres, o método GET tem a desvantagem de haver um limite de tamanho para os dados a serem enviados. Se os dados do usuário contiverem caracteres não ASCII, você deve usar o método POST para evitar problemas de codificação.

Existe uma grande diferença entre HTML e WML. Em HTML, o atributo name das tags <input> e <select> é usado para especificar o nome do parâmetro a ser enviado, enquanto em WML o atributo name da tag <postfield> é usado para fazer a mesma coisa. No WML, o atributo name de <input> e <select> é usado para especificar o nome da variável para armazenar os dados do formulário.

O próximo capítulo irá ensiná-lo a lidar com dados carregados na extremidade do servidor.