Jump to content


Photo

Problema Com $_post['']


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

#1 Rodrigo Lima

Rodrigo Lima

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado
  • Localidade:São Paulo/SP
  • Interesses:Mulheres.

Posted 02/11/2006, 17:46

Olá amigos,
estou com problemas ao usar $_POST[''], quando envio algo pelo formulário, ele retorna somente a primeira parte do valor enviado, por exemplo:

eu envio:
Bob Marley

ele imprime:
Bob


alguem pode me ajudar resolver esse problema? :(

#2 -v6-

-v6-

    Normal

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

Posted 02/11/2006, 18:04

Nossa cara,. eu nunca tive esse problema..

mais, quando tenho problemas deste tipo, (coisa errada, mesmo estando certo)

eu vou olhando desdo começo...

HTML
<input name="banda" type="text" id="banda" value="Bob Marley">

PHP
$banda = $_POST["banda"];

e geralmente quando eu VOU averiguando de PASSO á PASSO da CERTO.
php
echo"$banda";

aparece
Bob Marley

então tenta pver, talves uma ,(virgula) estraga tudo.

Edição feita por: -v6-, 02/11/2006, 18:06.

ESTUDANDO

PHP/Mysql/JavaScript/Tableless/
Fireworks/Dreamweaver/Flash

#3 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 03/11/2006, 00:56

Provavelmente ele não delimita o valor do atributo value com aspas.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#4 rafaelcastro

rafaelcastro

    12 Horas

  • Usuários
  • 294 posts
  • Sexo:Masculino
  • Localidade:Dourados/MS

Posted 26/03/2007, 11:37

Caros amigos...

Peço um gancho aqui no tópico para acrescentar uma outra pequena dúvida relacionada com o tema em questão:


Tenho a seguinte declaração:

for ($i=1; $i<=$pega_quantidade; $i++)
{
$pega_medicamento_id[$i] = $_POST['medicamento_id[$i]'];
echo $pega_medicamento_id[$i];
echo "<hr>";
}

onde $pega_quantidade vem de um formulário anterior

o meu problema está na linha
$pega_medicamento_id[$i] = $_POST['medicamento_id[$i]'];

eu não consigo fazer receber o valor corretamente. Há alguma erro no $_POST['medicamento_id[$i]']

Qual a forma correta?

Abraço a todos

#5 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 26/03/2007, 11:56

$_POST[medicamento_id[$i]]

testa ae
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 .

#6 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 26/03/2007, 12:09

$_POST['medicamento_id'][$i]
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#7 iago

iago

    Novato no fórum

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

Posted 26/03/2007, 14:22

aproveitando o a duvida em post estou com um problema parecido. com o gancho do nosso amigo

tenho um gerador de text e cada text precisa ter um nome diferente certo ?
$ele= $_POST["eleme"];
$bloc= $_POST["bloco"];
$campo = $ele * $bloc;
printf("<form action='teste.php' method='post'>");
for($i=1;$i<=$campo;$i++)
{
if(!($i%6)){

bom ate aqui tudo certo agora comecao o problema

if ($i<10){
printf ("Serie 0$i:<input type='text' name='$show[$i]' size =6><br>");
}
else {
printf ("...
no nome do text criei um array pois al termino do preenchimento de todos os texts e vai ter que gravar eles na base
mas resolvi fazer o teste pra saber se ele estava buscando os valores

em outra tela

if($_POST){//VERIFICA SE O FORMULARIO FOI ENVIADO
$array = $_POST['$show[1]'];
echo $array;
}
else
{
echo "Post esta vazio";
}

ele nao me retorna a mensagem de vazio mas tambem nao me imprime o array $show na posicao 1...

aonde esta o erro


vlw

#8 rafaelcastro

rafaelcastro

    12 Horas

  • Usuários
  • 294 posts
  • Sexo:Masculino
  • Localidade:Dourados/MS

Posted 26/03/2007, 15:23

$_POST['medicamento_id'][$i]



não funcionou!!!

Edição feita por: rafaelcastro, 26/03/2007, 15:25.


#9 iago

iago

    Novato no fórum

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

Posted 26/03/2007, 16:00

de um print_r ($_POST) e ve quais valores ele esta colocando no array

de um print_r ($_POST) e ve quais valores ele esta colocando no array
e se o valor de pega_quantidade vem de outro form faz uma variavbel com o post de qtd
$qtd = $_POST('pega_quantidade');
e no for
for($i=1, $i<=$qtd,$i++)


no for acho que voce vai ter q mudar a variavel pois no id vc esta teoricamente pegando o id do form anterior
$_POST['medicamento_id[$i]'];

#10 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 26/03/2007, 22:27

Esses "ganhos", desvituo e confundiu totalemnte o post ...
Mais atenção na proxima ...
-----------------------------------------

rafaelcastro, eu não entendi vc quer pegar um array ou um campo com o nome com um numero na frente?, tipo assim:

Campo em forma de Array:
<input name="'medicamento_id[]">
$_POST["medicamento_id"][$i]

Campo com número na frente:
<input name="'medicamento_id10">
$_POST[("medicamento_id" . $i)]

-----------------------------------------

iago, seu código fico muito confuso para mim, porem pelo que vi ele retorna um array multiplos, tente mudar essa parte para retornar vazio ...

if (count($_POST) > 0) { //VERIFICA SE O FORMULARIO FOI ENVIADO
 foreach ($_POST as $name => $value) {
  echo "$name => $value<br>";
 }
} else {
 echo "Post esta vazio";
}


#11 iago

iago

    Novato no fórum

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

Posted 27/03/2007, 15:00

valew gente ja resolvi realmente o codigo estava meio confuso

a parte que eu estava precisando ficou assim muito mais enXuta


if(isset($_POST) && ($_POST['serie']=='serie') ){
$arrElem = $_POST['elem'];
print "Elementos:<br>";

print_r($arrElem);
}
else
{
$teste = "post vazio";
echo $teste;
}

#12 rafaelcastro

rafaelcastro

    12 Horas

  • Usuários
  • 294 posts
  • Sexo:Masculino
  • Localidade:Dourados/MS

Posted 28/03/2007, 11:30

Bom, vamos lá... Acho que o meu problema é um pouco pior mesmo...

Vou explicar tim-tim por tim-tim...

No primeiro form eu pego as informações básicas. Entre elas, a quantidade de itens que serão retirados dessa minha farmácia (o sistema é uma retirada de remédios de uma farmácia)

No segundo form:

$pega_quantidade = $_POST[quantidade];

<?
for ($i=1; $i<=$pega_quantidade; $i++) {
?>
<table width="773" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="140" height="22">&nbsp;<span class="farm-txt-preto-up">MEDICAMENTO <? echo $i; ?> </span></td>
<td><input name="medicamento_id[]" type="text" class="farm-txt-preto-up" onChange="document.farmacia.medicamento_nome[].value=''" size="5" maxlength="5" >
<input name="medicamento_nome[]" type="text" class="farm-txt-preto-up" size="70" readonly="">
<input name="button[]" type="button" class="farm-txt-preto-up" onClick="consulta('../forms_busca/busca_medico.php?id=' + medicamento_id[].value); " value="...">
&nbsp;&nbsp;&nbsp; </td>
</tr>
</table>

<table width="773%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="140" height="22">&nbsp;<span class="farm-txt-preto-up">QUANTIDADE</span></td>
<td width="100"><input name="quantidade[]" type="text" class="farm-txt-preto-up" size="12" maxlength="6"></td>
<td width="120"><div align="center" class="farm-txt-preto-up">POSOLOGIA</div></td>
<td><input name="posologia[]" type="text" class="farm-txt-preto-up" size="60" maxlength="60"></td>
</tr>
</table>

<table width="773" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="140" height="22">&nbsp;<span class="farm-txt-preto-up">Via administra&Ccedil;&Atilde;O<strong></strong></span> </td>
<td><input name="via_admin_id[]" type="text" class="farm-txt-preto-up" onChange="document.farmacia.medico_nome[].value=''" size="5" maxlength="5" >
<input name="via_admin_nome[]" type="text" class="farm-txt-preto-up" size="70" readonly="">
<input name="button[]" type="button" class="farm-txt-preto-up" onClick="consulta('../forms_busca/busca_medico.php?id=' + medico_id[].value); " value="...">
&nbsp;&nbsp;&nbsp; </td>
</tr>
</table>
<? } ?>

e no terceiro form:
// sendo que a varíavel $pega_quantidade eu estou recuperando de uma session que gravei no segundo form

for ($i=1; $i<=$pega_quantidade; $i++)
{ echo "Valor [$i]";
$pega_medicamento_id[$i] = $_POST['medicamento_id'][$i];
echo $pega_medicamento_id[$i];
echo "<hr>";
}


E NADA TÁ FUNCIONANDO...

Não consigo recuperar as informações no terceiro form para gravar no banco de dados...

Se alguém conseguir desvendar, agradeço

Grande Abraço




0 user(s) are reading this topic

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

IPB Skin By Virteq