Jump to content


Photo

$_post


  • Faça o login para participar
11 replies to this topic

#1 Philipe Martins

Philipe Martins

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 15/12/2008, 07:36

Bom pessoal
Estou iniciando meu trabalho com PHP, meu primeiro tópico e tal, mas gostaria de pedir uma ajuda para vocês.

Minha dúvida:

COMO EU FAÇO PARA PASSAR UMA VARIÁVEL DE UMA PÁGINA A OUTRA UTILIZANDO O POST, SEM A UTILIZAÇÃO DE UM FORMULÁRIO ?


Eu já pesquise muito na net e neste site, mas nenhum é objetivo.
Todos apontam outras soluções, coisas que contornam o objetivo desta pergunta, me falaram que uma coisa viável seria usando AJAX, mas não postaram tal método.


Isso por sinal é uma dúvida de muitos programadores.


- Grato desde já a quem puder ajudar.

Edição feita por: Philipe Martins, 15/12/2008, 10:35.


#2 Renan L. Queiroz

Renan L. Queiroz

    Mestre

  • Usuários
  • 690 posts
  • Sexo:Masculino
  • Localidade:Brasilia - DF

Posted 15/12/2008, 07:47

Isso pode lhe ajudar!
PHP Sessions!

;-)

Edição feita por: Renan L. Queiroz, 15/12/2008, 07:48.

Especialidade: Desenvolvimento e Banco de Dados.


Este post lhe ajudou? Agradeça: Posted Image


#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 15/12/2008, 10:26

Hm... o modo padrão é GET
por exemplo... você chama a página assim pagina.php?variavel=x&outravariavel=y

e no seu código PHP você resgata esses dados com:
<?php
echo $_GET['variavel'];
echo $_GET['outravariavel'];
?>

(y)? :)

Edição feita por: boirock, 15/12/2008, 10:28.


#4 Philipe Martins

Philipe Martins

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 15/12/2008, 10:39

Isso pode lhe ajudar!
PHP Sessions!

;-)


Hm... o modo padrão é GET
por exemplo... você chama a página assim pagina.php?variavel=x&outravariavel=y

e no seu código PHP você resgata esses dados com:

<?php
echo $_GET['variavel'];
echo $_GET['outravariavel'];
?>

(y)? :)


grato pela ajuda pessoal, mas editei o tópico, pois infelizmente eu errei a pergunta ,rsrs, leia novamente por favor..

#5 anderson farias

anderson farias

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:Bahia
  • Interesses:Ajudar, trabalhar e viver...

Posted 15/12/2008, 13:45

brother ,

Quando desejamos visualizar as informções de uma ou mais variáveis sem a utilização de formulários, elas tem que ser inserida no link:

ex:

pagina1.php:

<?php
$msg = "Oi me passem";
<a href="pagina2.php?msg=$msg">Passar variável para página 2</a>

<a href="pagina2.php?msg=$msg"&msgx=$msx>Passar variável para página 2(caso tenha mais de uma varável)</a>

?>

pagina2.php:
<?php
echo $_GET['msg']; ou
echo $_REQUEST['msg'];
?>

*************************************
Outra opção é utilizando sessões:

pagina1.php
<?
session_start();
$_SESSION['variavel'] = $variavel;
?>

pagina2.php
<?php
session_start();
echo $_SESSION['variavel']; ou

echo $variavel
?>

Caso utiliza sessões, estude mais sobre o assunto.

Abraços....

#6 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 15/12/2008, 15:07

Depende do contexto e do resultado desejado, na verdade...
Eu recomendaria dar uma olhada em curl, pra fazer via PHP e aqui pra AJAX

Mas dependendo do caso, só com gambiarra (y)

#7 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 15/12/2008, 15:49

<form id="formulario" method="post">
<input type="hidden" id="inp" name="inp" value="" />
<input type="hidden" id="inp1" name="inp1" value="" />
</form>
<javascript>
 document.getElementById('formulario').submit;
</javascript>

Voalá, o javascript fez um submit no formulário via POST sem mostrar o form, é isso que você precisa não é ?
Existem outras formas como o curl que faz isso sem o reload da pagina nem nada assim, faz via background, e o AJAX pode fazer tb.

Cara, depende, existem milhares de maneiras, diversos tipos de protocolos de comunicação que podem fazer um POST, a maneira mais simples utilizando reload é essa acima, o resto é via background e/ou protocolos (conexões).

Abraços
Procurando freelancer
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .

#8 Philipe Martins

Philipe Martins

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 15/12/2008, 19:08

bom pessoal, obrigado pelos posts, mas, tdos contornam a pergunta...

a única coisa que eu não quero, é utilizar um furmulário.

devido as respostas . posso considerar que essa solução nã exista ?

braços

#9 Matheus Cáceres

Matheus Cáceres

    Normal

  • Usuários
  • 65 posts
  • Sexo:Não informado

Posted 15/12/2008, 21:04

meu um post ele é carregado e se a pessoa sair da página ele é apagado, para isso que serve outros metodos para o que quer, da maneira que deseja apenas por ajax.

#10 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 16/12/2008, 09:02

Af, não existe essa de não existe, você que não pesquisou direito, por CURL :

$curl = curl_init("post.php");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($curl);
curl_close($curl);

O POST é encapsulado dentro do protocolo HTTP:

$sRequest = "POST /path/to/your/script.html HTTP/1.1\r\n";
$sRequest .= "Host: www.yourserver.com\r\n";
$sRequest .= "Keep-Alive: 300\r\nConnection: keep-alive\r\n";
$sRequest .= "Content-Type: application/x-www-form-urlencoded\r\n";
$sRequest .= "Content-Length: ";

$sPayload = "Username=".$sUserName."&Password=".$sPassword";

$sRequest .= strlen($sPayload)."\r\n\r\n";
$sRequest .= $sPayload;



$handle = fopen("http://www.yourserver.com/", "rw");

fwrite($handle, $sRequest);

$sReply = '';
while (!feof($handle)) {
$sReply .= fread($handle, 8192);
}
fclose($handle);

Não foi testado o script acima, é so uma ideia :

Mais informações em :
http://br.php.net/http
http://br2.php.net/sockets
http://br2.php.net/curl

Se divirta... O_o

Abraços
Procurando freelancer
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .

#11 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 16/12/2008, 12:31

o_O
Não é que não existe, mas você quer colocar motor de fusca num avião... então não espere encontrar coisas prontas quando estiver saindo fora do padrão.

Você recebeu várias alternativas que solucionam o problema... você diz que o contornam porque são, digamos, "fora dos padrões", assim como a sua necessidade.

#12 Philipe Martins

Philipe Martins

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 17/12/2008, 02:39

Af, não existe essa de não existe, você que não pesquisou direito, por CURL :

$curl = curl_init("post.php");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($curl);
curl_close($curl);

O POST é encapsulado dentro do protocolo HTTP:

$sRequest = "POST /path/to/your/script.html HTTP/1.1\r\n";
$sRequest .= "Host: www.yourserver.com\r\n";
$sRequest .= "Keep-Alive: 300\r\nConnection: keep-alive\r\n";
$sRequest .= "Content-Type: application/x-www-form-urlencoded\r\n";
$sRequest .= "Content-Length: ";

$sPayload = "Username=".$sUserName."&Password=".$sPassword";

$sRequest .= strlen($sPayload)."\r\n\r\n";
$sRequest .= $sPayload;



$handle = fopen("http://www.yourserver.com/", "rw");

fwrite($handle, $sRequest);

$sReply = '';
while (!feof($handle)) {
$sReply .= fread($handle, 8192);
}
fclose($handle);

Não foi testado o script acima, é so uma ideia :

Mais informações em :
http://br.php.net/http
http://br2.php.net/sockets
http://br2.php.net/curl

Se divirta... O_o

Abraços



entendo, irei começar a trabalhar então com essa base, grato a ajuda amigo

"você que não pesquisou direito" => Pesquisei muito, como tenho uma pequena noção de ingles, pesquisei em sites americanos e tal.. + nd..

obrigado tbm a quem postou




1 user(s) are reading this topic

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

IPB Skin By Virteq