Jump to content


Photo

Escrever $strings Sem Carregar O Conteúdo


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 tv bobo

tv bobo

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Masculino
  • Localidade:Divinópolis MG

Posted 01/03/2009, 14:48

Este é meu primeiro post e quero agradecer antecipadamente a atenção e a gentil colaboração de meus colegas de postagem.

Quero discutir e aprender sobre um item importante na programação. A escrita de variáveis strings tipo $name em arquivos php com a função fwrite.

RESULTADO DESEJADO:

//arquivo gravado no final do processo: login.php

<?

$name = $_POST["name"];
$idade = $_POST["idade"];

if($name == jose and $idade == 13){

senha ok

}

?>


MEIO UTILIZADO:

<?

$escreve = fopen("login.php","w+");
fwrite($escreve,"<?

\$name = \$_POST["name"];
\$idade = \$_POST["idade"];

if(\$name == jose and \$idade == 13){

senha ok

}

?>

ERROS ENCONTRADOS NO MEIO UTILIZADO:

// a barra invertida "\" colocada dentro da função if() funciona obtendo-se o resultado desejado, ou seja:

if (\$name == jose and \$idade == 13)

//torna-se, depois de gravada em login.php

if ($name == jose and $idade == 13)

//entretanto, na primeira parte do código:

$name = $_POST["name"];
$idade = $_POST["idade"];

//ao se colocar as barras invertidas:

\$name = \$_POST["name"];
\$idade = \$_POST["idade"];

//o resultado não é o mesmo, gerando-se um erro de código.

Bem, isso evidentemente, significa que a mesma medida não pode ser utilizada nos dois casos. De qualquer forma, a informação precisa ser gravada como apresentada acima e se a barra invertida é solução no caso de baixo e não no de cima, existirá uma maneira diferente de proteger a informação a ser gravada com outro recurso.

Qual?


Obrigado por colaborações sobre o tema.


Peço desculpas pelo engano.

Depurei o meu código e confirmei o uso da barra invertida como meio de impedir o transporte de conteúdo da variável.

Ou seja,

Toda vez que se coloca \ na frente do $ este é escrito como $

exemplo:


\$nome = \$_POST['nome'];


fica, depois de gravado:

$nome = $_POST['nome']; \\sem carregar o conteúdo da variável.



É isso aí.


Podem usar que funciona.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq