PHP and HTML interact a lot: PHP can generate HTML, and HTML can pass information to PHP. Antes de ler essas faqs, é importante que você aprenda como recuperar variáveis de fontes externas. A página de manual sobre este tópico também inclui muitos exemplos.

de que codificação / descodificação preciso quando passo um valor através de um formulário/URL?

Existem várias fases para as quais a codificação é importante., Assumindo que você tem uma string $data, que contém a string que você deseja passar de uma forma não-codificada, estes são os estágios relevantes:

  • interpretação HTML. Para especificar uma string aleatória, você deve incluí-la em aspas duplas, e htmlspecialchars() todo o valor.

  • URL: um URL consiste em várias partes. Se você quer que seus dados sejam interpretados como um item, você deve codificá-lo com o urlencode().,

Exemplo #1 Um elemento oculto formulário HTML

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

Nota: é errado urlencode() $data, porque é que os navegadores responsabilidade urlencode() os dados. Todos os navegadores populares fazem isso corretamente. Note que isso vai acontecer independentemente do método (ou seja, obter ou POST). Você só vai notar isso no caso de obter pedido, no entanto, porque os pedidos de POST são geralmente escondidos.,

Nota: Os dados são mostrados no navegador, como se pretende, porque o navegador irá interpretar o HTML escapou símbolos. Ao enviar, seja via GET ou POST, os dados serão urlencoded pelo navegador para transferência, e diretamente urldecoded pelo PHP. Então, no final, você não precisa fazer nenhum urlencoding/urldecoding você mesmo, tudo é tratado automagicamente.,

Exemplo #3 Em uma URL

<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>

Nota: Na verdade, você está fingindo um HTML solicitação GET, portanto, é necessário manualmente urlencode() os dados.

Nota: você precisa de htmlspecialchars() todo o URL, porque o URL ocorre como valor de um atributo HTML. Neste caso, o navegador irá primeiro un-htmlspecialchars() o valor, e, em seguida, passar o URL on. PHP vai entender o URL corretamente, porque você urlencode () D os dados., Você vai notar que o &no URL é substituído por&amp;. Embora a maioria dos navegadores irá recuperar se você esquecer isso, isso nem sempre é possível. Assim, mesmo que sua URL não seja dinâmica, você precisa htmlspecialchars() a URL.

estou tentando usar um <input type=”image”> tag, mas o $foo.x e $foo.variáveis y não estão disponíveis. $ _GET também não existe. Onde estão eles?,

Quando submeter um formulário, é possível usar uma imagem em vez do botão submit padrão, com uma marca como:

<input type="image" src="https://www.php.net/manual/en/faq.html.phpimage.gif" name="foo" />

Quando o usuário clica em qualquer lugar na imagem, o formulário correspondente serão transmitidas para o servidor com duas variáveis adicionais: foo.x e foo.porque foo.x e foo.o y faria nomes de variáveis inválidos no PHP, sendo automaticamente convertidos para o foo_x e o foo_y. isto é, os períodos são substituídos por sublinhados., Então, você acessaria essas variáveis como qualquer outra descrita na seção de recuperação de variáveis de fontes externas. Por exemplo, $_GET.

Nota:

os espaços a pedido dos nomes das variáveis são convertidos em sublinhados.

Como posso criar arrays em um HTML <formulário>?,

Para obter a sua <formulário> resultado enviado como um array para seu script PHP-lhe o nome de <entrada> <selecione> ou <textarea> elementos como este:

<input name="MyArray" /><input name="MyArray" /><input name="MyArray" /><input name="MyArray" />

Observe os colchetes após o nome da variável, que é o que a torna uma matriz., Você pode agrupar os elementos em diferentes matrizes, atribuindo o mesmo nome de diferentes elementos:

<input name="MyArray" /><input name="MyArray" /><input name="MyOtherArray" /><input name="MyOtherArray" />

Isto produz duas matrizes, MyArray e MyOtherArray, que será enviado para o script PHP. Também é possível atribuir chaves específicas às suas matrizes:

<input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" /><input name="AnotherArray" />

a matriz de AnotherArray irá agora conter as chaves 0, 1, e-mail e telefone.

Nota:

Especificação As chaves da matriz são opcionais em HTML., Se você não especificar as chaves, o array é preenchido na ordem em que os elementos aparecem no formulário. O nosso primeiro exemplo conterá as teclas 0, 1, 2 e 3.

Ver também funções de matriz e variáveis de fontes externas.

Como posso obter todos os resultados de uma etiqueta HTML selecionada?

a escolha de várias marcas numa construção HTML permite aos utilizadores seleccionar vários itens de uma lista. Estes itens são então passados para o manipulador de ação para o formulário. O problema é que todos eles são passados com o mesmo nome do widget. Seja.,

<select name="var" multiple="yes">

Cada opção selecionada vai chegar o manipulador de ação como:

var=option1var=option2var=option3 

Cada opção vai substituir o conteúdo do anterior variável $var. A solução é usar o recurso” array from form element ” do PHP.

<select name="var" multiple="yes">

Isto diz ao PHP para tratar o $var como um array e cada atribuição de um valor ao var adiciona um item ao array. O primeiro item torna-se $var, o próximo $var, etc., A função count () pode ser usada para determinar quantas opções foram selecionadas, e a função sort() pode ser usada para ordenar a lista de opções se necessário.

Note que se você estiver usando JavaScript no nome do elemento pode causar problemas quando você tenta para se referir ao elemento pelo nome. Use o seu elemento de forma numérica ID em vez disso, ou coloque o nome da variável entre aspas e use isso como o índice para a matriz de elementos, por exemplo:

Como posso passar uma variável de Javascript para PHP?, uma vez que Javascript é (usualmente) uma tecnologia do lado do cliente, e PHP é (usualmente) uma tecnologia do lado do servidor, e uma vez que HTTP é um protocolo “sem estado”, as duas linguagens não podem compartilhar diretamente variáveis.

é, no entanto, possível passar variáveis entre as duas. Uma maneira de realizar isso é gerar código Javascript com PHP, e fazer com que o navegador se refresque, passando variáveis específicas de volta para o script PHP. O exemplo abaixo mostra exatamente como fazer isso — ele permite que o código PHP capture a altura e largura da tela, algo que normalmente só é possível no lado do cliente.,

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *