Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

MelkorValar

[Resolvido] $_Request não esta pegando valar de outra p

Recommended Posts

Com $_REQUEST consegui navegar pelo perfil dos usuarios, entrar no sistema de mensagens deles e nos album de fotos. Mas agora esta acontecendo um problema estranho. tipo, estou na pagina "mensagem" do "user_id=10" e quero mandar uma mensagem para ele como eu tinha feito...

 

$usuario= $_REQUEST['user_id']; // Aqui $usuario=10.

 

até aqui beleza.

 

Ai no form abaixo eu envio a mensagem para o "gera_scrap.php" responsavel por gravar "a mensage", o "id de quem envia", o "id de quem recebe" e mais uns negocinhos.

 

<form action="gera_scrap.php" method="post">

<label>Mensagem: </label><p>

<textarea name="scrap" id="scrap" rows="40" cols="6" value="<?php echo $_POST['scrap']; ?>" /></textarea><br><p>

<input type="submit" value="Enviar Scrap" class="botao">

<select name="scrap_visivel" size="1" value="<?php echo $_POST['scrap_visivel']; ?>">

<option>Particular</option>

<option>Somente Amigos</option>

<option>Todos</option>

</select>

</form>

//////////////////////////////////////////////////////////////////////////////////////////////

 

E é justo nesta pagina (gera_scrap.php) que esta o problema e não sei como resolver...

Nela eu fasso o seguinte..

 

$user_remetente = $_REQUEST['usuario'];

 

e se eu fiser assim

 

echo $user_remetente;// aqui era para aparecer o valor que no caso acima eh =10, mas aparece zerado(não aparece nada)

 

sera que você sabe o que esta acontecendo, pq o request não esta puxando a variavel? Ele funciona beleza nas outras paginas.

 

Agradecido.

 

Resolvi deste geito...

 

 

<form action="gera_scrap.php" method="POST">

<label>Mensagem: </label><p>

<textarea name="scrap" id="scrap" rows="40" cols="6" value="<?php echo $_POST['scrap']; ?>" /></textarea><br><p>

 

<input type="submit" value="Enviar Scrap" class="botao">

<select name="scrap_visivel" size="1" value="<?php echo $_POST['scrap_visivel']; ?>">

<option>Particular</option>

<option>Somente Amigos</option>

<option>Todos</option>

</select>

//Aqui eu coloquei um campo invisivel passando o valor que eu queria via post.

<INPUT TYPE="hidden" NAME="usuario_id" VALUE="<?php echo $usuario; ?>">]

</form>

 

 

E no gera_scrap eu recebi assim...

 

$usuario = $_REQUEST["usuario_id"]; //valor que eu queria.

 

Sera que eu poderia fazer isso? Tem alguma insegurança quanto a isso? há outra forma de fazer isso? flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que você está usando de um recurso que, na minha opinião não deveria existir.

 

O array superglobal $_REQUEST é uma mescla de $_GET, $_POST e $_COOKIE.

 

Antes de você resolver, você estava buscando o valor user_id nos três arrays acima de uma vez, mas você não havia especificado uma forma de fazê-lo.

 

Os parâmetros GET transitam via URL e quando você não estiver usando um link para tanto, você deve fazer com que aquilo que vai para a URL requistada envie tais parâmetros.

 

Se é um formulário, sem links, onde você deveria colocar? No action, claro:

 

<form name="form" action="gera_scrap.php?user_id=10">

Dessa forma, o valor GET passado fará parte de $_GET e se está nesse array, automaticamente está em $_REQUEST.

 

A sua solução, que não é em nada estranha, fez foi fazer o procedimento descrito acima, porém para encaixar o elemento no array $_POST e, assim, automaticamente estaria disponível em $_REQUEST.

 

Minha sugestão? Deixe de usar $_REQUEST e use cada array superglobal para aquilo que foi designado a fazer. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.