Ir para conteúdo

POWERED BY:

Arquivado

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

NetBoy16

valor digitado no campo pelo $_POST eu coloco o id ou o name

Recommended Posts

Olá pessoal, eu estou praticando php aqui em casa só que me surgiu a seguinte dúvida, quando eu passo o valor digitado no campo pelo $_POST eu coloco o id ou o name? e qual a diferença desses dois?

Outra coisa, eu estou fazendo um switch para tratar a escolha do sexo, o código a seguir:

<?php
$nome = $_POST['nome'];
$telefone = $_POST['tel'];
$endereco = $_POST['endereco'];
$sexo = $_POST['opsex'];
$obs = $_POST['obs'];
$sex = "Escolha o sexo";
switch ($sexo)
{
case "masculino":
$sex = "Masculino";
break;
case "feminino":
$sex = "Feminino";
break;
}

echo "Seu cadastro foi efetuado com sucesso !<br>";
echo "Confira seus dados abaixo:<br>";
echo "Nome: ". $nome ."<br>";
echo "Telefone: ". $telefone ."<br>";
echo "Endereço: ". $endereco ."<br>";
echo "Sexo: ". $sex ."<br>";
echo "Observações: ". $obs ."<br>";

?>

 

No caso como não sei qual eu uso, tanto o id e o name tem o mesmo nome.

Só que o php fica dando esse erro:

C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Exemplos\cadastro.php on line 5

 

ALGUÉM POR FAVOR PODE ME AJUDAR ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops, malz, pensei que tinha copiado tudo :P

 

Notice: Undefined index: opsex in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Exemplos\cadastro.php on line 5

 

E qual a diferença do id e do name? qual eu uso no $_POST ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops, malz, pensei que tinha copiado tudo :P

 

Notice: Undefined index: opsex in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\Exemplos\cadastro.php on line 5

 

E qual a diferença do id e do name? qual eu uso no $_POST ?

Esse erro acontece quando a variável não existe, tente checar se ela existe, use a função isset, tentei usar o método GET envez de POST ^^.

<?php
if (isset($sexo)) {
   echo "Essa variável existe.";
}else{
echo "Essa variável não existe.";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas então, na linha 5 está assim:

$sexo = $_POST['opsex'];

 

ali oh, $sexo existe sim, e aaquele 'opsex' é o nome ou id do campo, no caso do radio, onde escolhe o sexo masculino ou feminino.

 

E sobre oque eu perguntei antes, pra pegar o valor que foi digitado/escolhido eu passo o id ou o name? qual a diferença dos dois ?

 

ajuda por favor :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas então, na linha 5 está assim:

$sexo = $_POST['opsex'];

 

ali oh, $sexo existe sim, e aaquele 'opsex' é o nome ou id do campo, no caso do radio, onde escolhe o sexo masculino ou feminino.

 

E sobre oque eu perguntei antes, pra pegar o valor que foi digitado/escolhido eu passo o id ou o name? qual a diferença dos dois ?

 

ajuda por favor :(

A única diferença é que depois se você quiser saber o nome você vai ter que buscar na tabela a pessoa pelo id.

Certeza que existe?

Já tentou o método $_GET que te disse?

tenta:

<?php
$nome = $_GET["nome"];
$telefone = $_GET["tel"];
$endereco = $_GET["endereco"];
$sexo = $_GET["opsex"];
$obs = $_GET["obs"];
$sex = "Escolha o sexo";
switch ($sexo)
{
case "masculino":
       $sex = "Masculino";
       break;
case "feminino":
       $sex = "Feminino";
       break;
}

echo "Seu cadastro foi efetuado com sucesso !<br>";
echo "Confira seus dados abaixo:<br>";
echo "Nome: ". $nome ."<br>";
echo "Telefone: ". $telefone ."<br>";
echo "Endereço: ". $endereco ."<br>";
echo "Sexo: ". $sexo ."<br>";
echo "Observações: ". $obs ."<br>";

?>

Mande o formulário dele para eu ver

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra pegar o valor que foi digitado/escolhido eu passo o id ou o name >>> nome

 

Tente

 
<?php
$nome = $_POST['nome'];
$telefone = $_POST['tel'];
$endereco = $_POST['endereco'];
$sexo = (isset($_POST['radio']) ? $_POST['radio'] : NULL);
$obs = $_POST['obs'];

switch ($sexo)
{
case "masculino":
       $sex = "Masculino";
       break;
case "feminino":
       $sex = "Feminino";
       break;
	case NULL:
	echo "Escolha o sexo";
	break;
}

echo "Seu cadastro foi efetuado com sucesso !<br>";
echo "Confira seus dados abaixo:<br>";
echo "Nome: ". $nome ."<br>";
echo "Telefone: ". $telefone ."<br>";
echo "Endereço: ". $endereco ."<br>";
echo "Sexo: ". $sex ."<br>";
echo "Observações: ". $obs ."<br>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas qual que é melhor usar, name ou id ?

 

Meu formulário:

<body>
<p>Seja Bem Vindo !</p>
<form id="form1" name="form1" method="post" action="cadastro.php">
 <p>Nome: 
   <label for=""></label>
 <input type="text" name="nome" class="campo" id="name" />
 </p>
 <p>Telefone: 
   <label for="tel"></label>
   <input type="text" name="telefone" class="campo" id="tel" />
 </p>
 <p>Endereço: 
   <label for="endereco"></label>
   <input type="text" name="endereco" class="campo" id="end" />
 </p>
 <p>Sexo:
   <input type="radio" name="sexo" id="opcao" value="masculino" />
   <label for="sexo"></label>
   Masculino 
   <input type="radio" name="sexo" id="opcao" value="feminino" />
   <label for="sexo"></label>
 Feminino</p>
 <p>Observações:</p>
 <p>
   <label for="obs"></label>
   <textarea name="obs" id="desc" cols="45" rows="5" class="campo"></textarea>
 </p>
 <p>
   <input name="submit" type="submit" class="button" id="submit" value="Enviar" />
   <input name="clean" type="reset" class="button" id="clean" value="Limpar" />
 </p>
</form>
<p> </p>
<p> </p>
</body>

 

só mandei oque está entre as tags body.

engraçado que se eu uso o name, no caso do campo telefone ele dá erro, veja:

<input type="text" name="telefone" class="campo" id="tel" />

no caso eu faria:

$telefone = $_POST['telefone'];

assim passando o name, mas ele dá erro de undefinied index

mas se eu passo o id ele dá certo, pq será?

 

pra pegar o valor que foi digitado/escolhido eu passo o id ou o name >>> nome

 

Tente

 
<?php
$nome = $_POST['nome'];
$telefone = $_POST['tel'];
$endereco = $_POST['endereco'];
$sexo = (isset($_POST['radio']) ? $_POST['radio'] : NULL);
$obs = $_POST['obs'];

switch ($sexo)
{
case "masculino":
       $sex = "Masculino";
       break;
case "feminino":
       $sex = "Feminino";
       break;
	case NULL:
	echo "Escolha o sexo";
	break;
}

echo "Seu cadastro foi efetuado com sucesso !<br>";
echo "Confira seus dados abaixo:<br>";
echo "Nome: ". $nome ."<br>";
echo "Telefone: ". $telefone ."<br>";
echo "Endereço: ". $endereco ."<br>";
echo "Sexo: ". $sex ."<br>";
echo "Observações: ". $obs ."<br>";

 

Muito obrigado, desse modo deu certo.

 

Mas no caso de observações que tem ç e ~ , ele sai bem esquisito, coom faço pra tratar isso ,tem como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Netboy, algumas coisas que você pode olhar

 

1- Qual propriedade do RadioButton que passa por $_POST o valor "Masculino" ou "Feminino"

2- Atribuir o valor do $_POST a váriavel sempre com isset, pra não ter problema de valor vazio, a nao ser que no seu form ja vem por padrão o radiobutton clicado.

3- esse switch precisa ter a váriavel o mesmo nome que você atribuir dentro do programa, se você usa opcsex no post é interessante você usar uma variavel $opcsex dentro do código, fica mais facil de você identificar em varios sentidos...

 

Espero ter ajudado...

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Netboy, algumas coisas que você pode olhar

 

1- Qual propriedade do RadioButton que passa por $_POST o valor "Masculino" ou "Feminino"

2- Atribuir o valor do $_POST a váriavel sempre com isset, pra não ter problema de valor vazio, a nao ser que no seu form ja vem por padrão o radiobutton clicado.

3- esse switch precisa ter a váriavel o mesmo nome que você atribuir dentro do programa, se você usa opcsex no post é interessante você usar uma variavel $opcsex dentro do código, fica mais facil de você identificar em varios sentidos...

 

Espero ter ajudado...

 

Abraço!

 

1- Eu não passo value por $_POST :huh: , eu passo o name, só no caso do telefone que passei id pq com o name não tá dando certo não sei porque,o name tá certinho.

2- É eu aprendi esse isset hoje, não conheci, vlw pela dica ;)

3- Sim, no switch() eu usop a variavel a qual eu atribui o valor do radio, só na hora de tratar que eu utilizo outra variavel que vai receber o valor tratado, se bem que eu estava vendo e nesse caos nem precisaria tratar porque ele vai mostrar o value e o value é masculino e feminino e não masc e fem por exemplo, então nem precisava tartar, mas foi bom porque agora aprendi sobre o isset

 

Vlw.

 

leia sobre charset encoding

 

Isso no caso é pra tratar o ç e assentos, certo? vou ler sim

 

Agora só não entendi porque usando o name telefone ele dá erro de index indefinido, e se eu uso o id tel fica tudo certo :o

 

O resto está tudo ok :lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu tive esse problema a poco tempo e percebi que quando voce coloca id no seu formulario e passa via post ele não consegue ler o name.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O id não tem nada a ver com name.

 

<?php

ini_set( 'display_errors', true );
error_reporting( E_ALL );

if( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' )
{
   var_dump( $_POST );
}

?>

<form action="" method="post">
   <input type="text" id="id_nome" class="class_nome" name="nome">
   <input type="password" id="id_senha" class="class_senha" name="senha">
   <input type="submit" value="Send">
</form>

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.