php echo e,PHP: PHP e HTML - Manual

PHP e HTML

PHP e HTML possuem muita interação: PHP pode gerar HTML, e o HTML

pode passar informações para o PHP. Antes de ler esses faqs, é importante

que você aprenda como recuperar variáveis de fontes externas. A página do manual

neste tópico inclui muitos exemplos.

Que codificação/decodificação é preciso quando eu passo um valor através de um formulário/URL?

Existem muitos estágios para o qual a codificação é importante. Assumindo que

você tenha uma string $data, o qual contém

a string que você quer passar de um jeito não codificado, esses são os

estágios relevantes:Interpretação HTML. A fim de especificar uma string aleatória, você

precisa incluá-la entre aspas, e converter todo o valor dos caracteres especiais para a realidade HTML usando

URL: Uma URL consite de diversas partes. Se você quer que seus dados sejam

interpretados como um item, você precisa codificá-los com

Exemplo #1 Um elemento oculto de formulário HTML

<?phpecho "\n";?>

Nota:

É errado $data, porque é a responsabilidade do navegador em

Exemplo #2 Dados a serem editados pelo usuário

<?phpecho "\n";

echohtmlspecialchars($data)."\n";

echo"";?>

Nota:

Os dados são mostrados no navegador como pretendido, porque o navegador irá

interpretar os simbolos de escape do HTML.

Em consequência do envio, tando via GET como POST, os dados vão ser urlencoded

pelo navegador para transferência, e urldecoded diretamente pelo PHP. Resumindo,

você não precisa fazer qualquer urlencoded/urldecoded pelo php,

tudo é feito automaticamente.

Exemplo #3 Em uma URL

<?phpecho "\n";?>

Nota:

De fato você está fingindo uma requisição HTML GET, portanto é necessário

Nota:

Você precisa urlencoded() os dados.

Você vai notar que & na URL é substituido

por &. Embora a maioria dos navegadores vão se recuperar

se vecê esquecer disto, isso nem sempre é possivel. Então, memso se a URL

não é dinâmica, você precisa

Estou tentando usar uma tag , mas as variáveis

$foo.x e $foo.y não estão

disponíveis.

Ao enviar um formulário, é possivel usar uma imagem em vez de

um botão submit padrão, como na tag:

Quando o usuário clica em qualquer lugar na imagem, o formulário que o acompanha

será transmitido para o servidor com duas variáveis adicionais:

foo.x e foo.y.

Porque foo.x e foo.y faria

nome de variáveis inválidas no PHP, elas são automaticamente convertidas para

foo_x e foo_y. Ou seja, os

periodos são substituidos por sublinhados. Então, você teria acesso a essas variáveis

como qualquer outro descrito na seção sobre como recuperar

variáveis de fontes

externas. Por exemplo,Nota:

Os espaços nos nomes das variáveis requisitadas são convertidas para sublinhado.

Como eu crio arrays em um HTML

?

Para obter o resultado do seu

enviado como um

array para seu script PHP

você nomeia os elementos , ou

como estes:

Observe os colchetes após o nome da variável, é isso que

torna uma variável um array. Você pode agrupar os elementos dentro de diferentes arrays,

atribuindo o mesmo nome a diferentes elementos:

Isso poduz dois arrays, MyArray e MyOtherArray, que serão enviados

para o script PHP. Também é possível atribuir chaves específicas

para seus arrays:

O array AnotherArray ira conter agora as chaves 0, 1, email e phone.

Nota:

Especificar uma chave de array é opcional no HTML. Se você não especificar

as chves, o array preenche na ordem em que os elementos aparecem

no formulário. Nosso primeiro exemplo ira conter as chaves 0, 1, 2 e 3.

Como eu faço para obeter os resultados de uma múltipla seleção de uma tag HTML?

A seleção de multiplas tags em uma construção HTML permite os usuários

selecionar multiplos itens de uma lista. Esses itens são então passados

ao manipilador de ações para o formulário. O problema é que eles

são todos passados com o mesmo nome widget. I.e.

Cada opção selecionada chegará ao manipulador de ações como:

var=option1

var=option2

var=option3

Cada opção irá substituir o conteúdo da variável anterior

$var. A solução é usar

a caracteristica "array de elementos do formulário" do PHP. A seguir

devem ser usados:

Isso diz ao PHP para tratar $var como um array e

cada atribuição de um valor para [var] acrescenta um item ao array.

O primeiro item se torna $var[0], o próximo

$var[1], etc. A função

Note que se você esta usando JavaScript o []

no nome do elemento pode lhe causar problemas quando você tenta

se referir ao elemento pelo nome. Ao invés use o ID numérico do elemento

do formulário, ou coloque o nome da variável entre aspas simples e

use isso como um índice para os elementos do array, por exemplo:

variable = document.forms[0].elements['var[]'];

Como eu posso passar uma variável do Javascript para o PHP?

Uma vez que o Javascript é (normalmente) uma tecnologia da parte do cliente, e

o PHP é (normalmente) uma tecnologia da parte do servidor, e uma vez que o HTTP é um

protocolo "sem lado", as duas linguagens não podem compartilhar variáveis

diretamente.

É , no entanto, possível passar variáveis entre as duas.

Uma maneira de realizar isso é gerar um código Javascript

com PHP, e ter um navegador que se atualize, passando variáveis

especificas de volta para o script PHP. O exemplo abaixo mostra

precisamente como fazer isso -- isso permite ao código PHP capturar a altura

e largura da tela, algo que normalmente só é possível no

lado do cliente.

Exemplo #4 Gerando Javascript com PHP

<?phpif  (isset($_GET['width']) AND isset($_GET['height'])) {// output the geometry variablesecho"Screen width is: ".$_GET['width'] ."
\n";

echo"Screen height is: ".$_GET['height'] ."
\n";

} else {// pass the geometry variables

// (preserve the original query string

//   -- post variables will need to handled differently)echo"

echo"  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"."&width=\" + screen.width + \"&height=\" + screen.height;\n";

echo"\n";

exit();

}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值