Clipper On Line • Ver Tópico - PHP: passagem de variável

PHP: passagem de variável

Discussão sobre outras linguagens de programação.

Moderador: Moderadores

 

PHP: passagem de variável

Mensagempor cjp » 30 Dez 2020 00:36

Pessoal, estou com problema em um PHP, ao tentar passar uma variável, com método POST, o segundo PHP não está recebendo a variável.

Já fiz isso em vários outros PHPs, funcionando. Só neste que não está funcionando.

Alguém poderia, por favor, me dizer o que estou fazendo de errado.

O primeiro PHP está assim:

 echo '<form action="pontos.php"';
echo "width='69%' style='height:240px;'>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<input type='hidden' name='nome' value=".$us.">";
echo "<input size='45' style='font-size:180px' type='submit' id='Voltar' value='Voltar'>";
echo "</form>";
echo "<br>";
echo "<br>";



Já verifiquei a variável $us está com o valor correto antes desse trecho.

O segundo PHP está assim:

$us= $_POST['nome'];

echo "<br>";
echo $us;
echo "<br>";



Estranhamente, $us aqui está em branco.

Alguém pode me ajudar?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

PHP: passagem de variável

Mensagempor ANDRIL » 30 Dez 2020 14:18

Já tentou especificar o método do form.

<form action="pontos.php" method="post" ';

Att.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

PHP: passagem de variável

Mensagempor cjp » 30 Dez 2020 15:31

De fato, o problema era esse. Muito obrigado.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

PHP: passagem de variável

Mensagempor cjp » 23 Jun 2022 01:36

Pessoal,
Estou tendo novo problema com passagem de variável em PHP (este parece ser meu eterno problema em PHP). Podem me ajudar?
O problema é o seguinte:
Nesta página eu passo uma variável $qtd com o valor texto "+1":

$qtd="+1";

$cod="xxx";


echo "<table width='10%' border='1' cellpadding='1' cellspacing='1'>";

echo "<tr>";

echo "<td>";
echo "<form action='prior8.php' method='post'>";
echo "<width:30%>";
echo "<height:100vh>";
echo "<input type='hidden' name='cod' value=".$cod.">";
echo "<input type='hidden' name='qtd' value=".$qtd.">";
echo "<font size='11'>";
echo "<input style='font-size:80px' name='submit' value='Xx +1' type='submit'>";
echo "</form>";
echo "</td>";


Na prior8.php, recebo assim:

   $qtd= $_POST['qtd'];
   $qual= $_POST['cod'];


Até aqui tudo funcionando normalmente.

Agora surgiu a necessidade de refazer esta página, passando a variável de forma diferente:

$qtd="+1";
$cod="xxx";
echo '<a href="priornovo2.php?&qtd='.$qtd.'&cod='.$cod.'" class="btn btn-primary btn-lg col-5 col-xs-5 col-sm-5 col-md-5 col-lg-5 col-xl-5 align-self-center d-flex flex-column justify-content-center align-items-center line-6">XX</a>';


Na priornovo2.php, recebo assim:

   $qtd= $_GET['qtd'];
   $qual= $_GET['cod'];


Estranhamente, ao invés de $qtd aqui ser "+1", está apenas como "1".

Preciso do "+" aí, pois em outros pontos vou passar outros valores (ex: -1, -5, -10 etc).

Alguém poderia me ajudar?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

PHP: passagem de variável

Mensagempor ANDRIL » 23 Jun 2022 09:00

Olá, isso acontece por que o + é um caracter reservado do navegador veja: ! * ' ( ) ; : @ & = + $ , / ? % # [ ]
Para utilizá-lo terá que escapar ele
pagina.php?qtd='+'1 &cod=152 &produto=BOLA

Mais informações
https://developers.google.com/maps/url-encoding?hl=pt-br
Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

PHP: passagem de variável

Mensagempor cjp » 24 Jun 2022 02:00

Entendi o que vc disse, mas ainda não consegui fazer correto.
Acresci aspas simples (') antes e depois do +. Ficou assim:

$qtd="'+'1";
   $cod="xxx";
   echo '<a href="priornovo2.php?&qtd='.$qtd.'&cod='.$cod.'" class="btn btn-primary btn-lg col-5 col-xs-5 col-sm-5 col-md-5 col-lg-5 col-xl-5 align-self-center d-flex flex-column justify-content-center align-items-center line-6">XX</a>';


Mas o priornovo2.php está recebendo a variável como ' 1'; não como +1 como esperado.

Imagino que o problema ocorra porque o echo já use aspas simples e aspas duplas.

Mas não sei como resolver isto.

Pode me ajudar?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

PHP: passagem de variável

Mensagempor ANDRIL » 27 Jun 2022 09:33

Pela url não pode passar o sinal de adição como voce quer. Para que seja possível voce deve transformá-lo em HEXADECIMAL. Se voce utilizasse um form poderia usar o +1.

Na url a opção é
$qtd="%2B1";
$cod="xxx";
echo '<a href="priornovo2.php?&qtd='.$qtd.'&cod='.$cod.'" class="btn btn-primary btn-lg col-5 col-xs-5 col-sm-5 col-md-5 col-lg-5 col-xl-5 align-self-center d-flex flex-column justify-content-center align-items-center line-6">XX</a>';


Se fosse um form seria:
<form method="get" enctype="application/x-www-form-urlencoded">
<input name="qtd" id="qtd" value="+1"/>
...
<button type="submit">Enviar</button>
</form>


De qualquer forma, para usar de forma literal, seria mais fácil analisar o conteúdo da var no php para saber a operação que deseja fazer.
if ($_GET['qtd']>0){
$qtd='+'.$_GET['qtd'];
}


Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar de usuário

ANDRIL
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1270
Data de registro: 06 Jul 2004 00:44
Curtiu: 12 vezes
Mens.Curtidas: 46 vezes

PHP: passagem de variável

Mensagempor cjp » 28 Jun 2022 01:50

Ótima ideia.
Muito obrigado.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes




Retornar para Outras linguagens de programação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 15 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro