Problemas COm Radio e Select Objects
01/08/2013
0
E ai Pessoal, to com problema em que meu BD.
Não consigo inserir no BD os dados do radio e do Select options.
Abaixo o meu código html e php:
HTML
<html>
<head>
<title>Formulário para Inserir no BD</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Cadastro IDs</h1>
<form action="renali.php?acao=cadastro" method="post">
<table width="450" border="1px" cellspacing="0" cellpadding="5">
<tr>
<td width="111"><div aling="rigth">ID </div></td>
<td width="339"><input name="id" type="int" size="4"></td>
</tr>
<tr>
<td width="111"><div aling="center">Descricao </div></td>
<td width="339"><textarea name="descricao" id="Descricao"></textarea></td>
</tr>
<tr>
<td width="111"><div aling="left">Solicitante </div></td>
<td width="339"><input name="solicitante" type="varchar" size="30"></td>
</tr>
<tr>
<td width="111"><div aling="rigth">Status </div></td>
<td width="339">
<input type="radio" name=status value="espera">Espera
<input type="radio" name=status value="tratando">Tratando
<input type="radio" name=status value="finalizado">Finalizado</td>
</tr>
<tr>
<td width="111"><div aling="rigth">Usuario </div></td>
<td width="339"><select name="usuario">
<option value="lessa">Rafael Lessa
<option value="ribeiro">Rafael Ribeiro
<option value="felipe">Felipe Martendal</td></select>
</tr>
<tr>
<td height="29" colspan="2" valign="top"><div align="center">
<input type="submit" name="Submit" value="Inserir no Banco de Dados">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
PHP
<?php
include ("connect.php");
$id = $_POST['id'];
$descricao = $_POST['descricao'];
$solicitante = $_POST['solicitante'];
switch ($_POST['status']) {
case 'espera':
$status = $_POST['espera'];
case 'tratando':
$status = $_POST['tratando'];
case 'finalizado':
$status = $_POST['finalizado'];
break;
}
switch ($_POST['usuario']) {
case "1":
echo 'Rafael Lessa';
break;
case "2":
echo 'Rafael Ribeiro';
break;
case "3":
echo 'Felipe Martendal';
break;
}
$query = "INSERT INTO `req` (id, descricao, solicitante, status, usuario) values ('$id', '$descricao', '$solicitante', '$status', '$usuario')";
$exec = mysql_query($query);
var_dump($exec, mysql_error());
#ECHO "<PRE>";
#var_dump($_POST['req']);DIE('SUCESSO');
#if (($renali) || ($A)){
#header (renali.html);
#exit;
#}
?>
Att,
Não consigo inserir no BD os dados do radio e do Select options.
Abaixo o meu código html e php:
HTML
<html>
<head>
<title>Formulário para Inserir no BD</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Cadastro IDs</h1>
<form action="renali.php?acao=cadastro" method="post">
<table width="450" border="1px" cellspacing="0" cellpadding="5">
<tr>
<td width="111"><div aling="rigth">ID </div></td>
<td width="339"><input name="id" type="int" size="4"></td>
</tr>
<tr>
<td width="111"><div aling="center">Descricao </div></td>
<td width="339"><textarea name="descricao" id="Descricao"></textarea></td>
</tr>
<tr>
<td width="111"><div aling="left">Solicitante </div></td>
<td width="339"><input name="solicitante" type="varchar" size="30"></td>
</tr>
<tr>
<td width="111"><div aling="rigth">Status </div></td>
<td width="339">
<input type="radio" name=status value="espera">Espera
<input type="radio" name=status value="tratando">Tratando
<input type="radio" name=status value="finalizado">Finalizado</td>
</tr>
<tr>
<td width="111"><div aling="rigth">Usuario </div></td>
<td width="339"><select name="usuario">
<option value="lessa">Rafael Lessa
<option value="ribeiro">Rafael Ribeiro
<option value="felipe">Felipe Martendal</td></select>
</tr>
<tr>
<td height="29" colspan="2" valign="top"><div align="center">
<input type="submit" name="Submit" value="Inserir no Banco de Dados">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
PHP
<?php
include ("connect.php");
$id = $_POST['id'];
$descricao = $_POST['descricao'];
$solicitante = $_POST['solicitante'];
switch ($_POST['status']) {
case 'espera':
$status = $_POST['espera'];
case 'tratando':
$status = $_POST['tratando'];
case 'finalizado':
$status = $_POST['finalizado'];
break;
}
switch ($_POST['usuario']) {
case "1":
echo 'Rafael Lessa';
break;
case "2":
echo 'Rafael Ribeiro';
break;
case "3":
echo 'Felipe Martendal';
break;
}
$query = "INSERT INTO `req` (id, descricao, solicitante, status, usuario) values ('$id', '$descricao', '$solicitante', '$status', '$usuario')";
$exec = mysql_query($query);
var_dump($exec, mysql_error());
#ECHO "<PRE>";
#var_dump($_POST['req']);DIE('SUCESSO');
#if (($renali) || ($A)){
#header (renali.html);
#exit;
#}
?>
Att,
Rafael Lessa
Curtir tópico
+ 0
Responder
Posts
02/08/2013
Bruno Betioli
Você tinha alguns erros no HTML, faltava aspas em name=status nos inputs radio, as tags option do select não estavam fechadas, não existe type varchar para input, você estava fechando td antes de fechar select e tinha erros de escrita em align e right.
Já no PHP, não é necessário o switch para status, já que é passado um valor diferente do radio status, de acordo com o escolhido. Já no switch do usuário, você colocou para escolher numeros, mas o atributo passado pelo select no formulario é o nome/sobrenome.
Diga-nos se deu certo.
<html> <head> <title>Formulário para Inserir no BD</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <h1>Cadastro IDs</h1> <form action="renali.php?acao=cadastro" method="post"> <table width="450" border="1px" cellspacing="0" cellpadding="5"> <tr> <td width="111"><div align="right">ID </div></td> <td width="339"><input name="id" type="int" size="4" /></td> </tr> <tr> <td width="111"><div align="center">Descricao </div></td> <td width="339"><textarea name="descricao" id="Descricao"></textarea></td> </tr> <tr> <td width="111"><div align="left">Solicitante </div></td> <td width="339"><input name="solicitante" type="text" size="30" /></td> </tr> <tr> <td width="111"><div align="right">Status </div></td> <td width="339"> <input type="radio" name="status" value="espera" />Espera <input type="radio" name="status" value="tratando" />Tratando <input type="radio" name="status" value="finalizado" />Finalizado </td> </tr> <tr> <td width="111"><div align="right">Usuario </div></td> <td width="339"> <select name="usuario"> <option value="lessa">Rafael Lessa</option> <option value="ribeiro">Rafael Ribeiro</option> <option value="felipe">Felipe Martendal</option> </select> </td> </tr> <tr> <td height="29" colspan="2" valign="top"> <div align="center"><input type="submit" name="Submit" value="Inserir no Banco de Dados" /></div> </td> </tr> </table> </form> </body> </html>
Já no PHP, não é necessário o switch para status, já que é passado um valor diferente do radio status, de acordo com o escolhido. Já no switch do usuário, você colocou para escolher numeros, mas o atributo passado pelo select no formulario é o nome/sobrenome.
<?php include ("connect.php"); $id = $_POST['id']; $descricao = $_POST['descricao']; $solicitante = $_POST['solicitante']; $status = $_POST['status']; switch ($_POST['usuario']) { case "lessa": $usuario = 'Rafael Lessa'; break; case "ribeiro": $usuario = 'Rafael Ribeiro'; break; case "felipe": $usuario = 'Felipe Martendal'; break; default: $usuario = "Desconhecido"; break; } $query = "INSERT INTO req (id, descricao, solicitante, status, usuario) VALUES ('$id', '$descricao', '$solicitante', '$status', '$usuario')"; $exec = mysql_query($query); var_dump($exec, mysql_error()); #ECHO "<PRE>"; #var_dump($_POST['req']);DIE('SUCESSO'); #if (($renali) || ($A)){ #header (renali.html); #exit; #} ?>
Diga-nos se deu certo.
Responder
07/08/2013
Rodrigo Lacerda
Ótimo tópico , resposta muito construtiva do Bruno..
Responder
Clique aqui para fazer login e interagir na Comunidade :)