PauloRJ Postado Maio 26, 2006 Denunciar Share Postado Maio 26, 2006 ;) Fala Pessoal, estou encontrando um erro em meu form de checkbox.Eu estou tentando fazer um form de seleção de estilo de musica no caso o usuario escolha os seus preferidos.Eu ate consigo selecionar os desejado mas a página da esta mensagem de erro quando não são selecionados todos os campos:Notice: Undefined index: axe in d:\web\musica4.php on line 36Notice: Undefined index: forro in d:\web\musica4.php on line 37Notice: Undefined index: trance in d:\web\musica4.php on line 39Notice: Undefined index: hiphop in d:\web\musica4.php on line 41Warning: Cannot modify header information - headers already sent by (output started at d:\web\musica4.php:36) in d:\web\musica4.php on line 51Justamente os checkbox que estão desmarcados.Queri saber como ter a opção dele ignorar os que não foram marcados e não exibir este erro.Codigo da tabela:-- Estrutura da tabela `musica`-- CREATE TABLE `musica` (`funk` text,`axe` text,`forro` text,`mpb` text,`trance` text,`sertanejo` text,`hiphop` text) ENGINE=MyISAM DEFAULT CHARSET=latin1;-- -- Extraindo dados da tabela `musica`-- INSERT INTO `musica` VALUES ('funk', 'axe', 'forró', 'mpb', 'trance', 'sertanejo', 'hiphop');INSERT INTO `musica` VALUES ('funk', NULL, NULL, NULL, NULL, NULL, 'hiphop');INSERT INTO `musica` VALUES ('funk', NULL, NULL, 'mpb', NULL, 'sertanejo', NULL);Codigo da página musica4.php<?php require_once('Connections/con_musica.php'); ?><?phpfunction GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") {$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;switch ($theType) {case "text":$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";break; case "long":case "int":$theValue = ($theValue != "") ? intval($theValue) : "NULL";break;case "double":$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";break;case "date":$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";break;case "defined":$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;break;}return $theValue;}$editFormAction = $_SERVER['PHP_SELF'];if (isset($_SERVER['QUERY_STRING'])) {$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);}if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {$insertSQL = sprintf("INSERT INTO musica (funk, axe, forro, mpb, trance, sertanejo, hiphop) VALUES (%s, %s, %s, %s, %s, %s, %s)",GetSQLValueString($_POST['funk'], "text"),GetSQLValueString($_POST['axe'], "text"),GetSQLValueString($_POST['forro'], "text"),GetSQLValueString($_POST['mpb'], "text"),GetSQLValueString($_POST['trance'], "text"),GetSQLValueString($_POST['sertanejo'], "text"),GetSQLValueString($_POST['hiphop'], "text"));mysql_select_db($database_con_exibidos, $con_exibidos);$Result1 = mysql_query($insertSQL, $con_exibidos) or die(mysql_error());$insertGoTo = "lado.htm";if (isset($_SERVER['QUERY_STRING'])) {$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";$insertGoTo .= $_SERVER['QUERY_STRING'];}header(sprintf("Location: %s", $insertGoTo));}?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><form method="post" name="form1" action="<?php echo $editFormAction; ?>"><table align="center"><tr valign="baseline"><td nowrap align="right">Funk:</td><td><input type="checkbox" name="funk" value="funk" size="32"></td></tr><tr valign="baseline"><td nowrap align="right">Axe:</td><td><input type="checkbox" name="axe" value="axe" size="32"></td></tr><tr valign="baseline"><td nowrap align="right">Forro:</td><td><input type="checkbox" name="forro" value="forró" size="32"></td></tr><tr valign="baseline"><td nowrap align="right">Mpb:</td><td><input type="checkbox" name="mpb" value="mpb" size="32"></td></tr><tr valign="baseline"><td nowrap align="right">Trance:</td><td><input type="checkbox" name="trance" value="trance" size="32"></td></tr><tr valign="baseline"><td nowrap align="right">Sertanejo:</td><td><input type="checkbox" name="sertanejo" value="sertanejo" size="32"></td></tr><tr valign="baseline"><td nowrap align="right">Hiphop:</td><td><input type="checkbox" name="hiphop" value="hiphop" size="32"></td></tr><tr valign="baseline"><td nowrap align="right"> </td><td><input type="submit" value="Insert record"></td></tr></table><input type="hidden" name="MM_insert" value="form1"></form><p> </p></body></html>Quem puder dar essa força. fico grato!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 D.Soul Postado Maio 26, 2006 Denunciar Share Postado Maio 26, 2006 Yo,Notice: Undefined index: axe in d:\web\musica4.php on line 36 Notice: Undefined index: forro in d:\web\musica4.php on line 37 Notice: Undefined index: trance in d:\web\musica4.php on line 39 Notice: Undefined index: hiphop in d:\web\musica4.php on line 41 Warning: Cannot modify header information - headers already sent by (output started at d:\web\musica4.php:36) in d:\web\musica4.php on line 51 Esse último warning, relaxa.. como ele deu erro por que imprimiu os notices na página, ele sempre vai dar erro no warning.. você não pode imprimir nada antes dele.. é algo como sessões.. ;) Agora os outros erros.. você criou a tabela com os campos em formato texto.. acho que não precisa, a única coisa que você precisa é guardar se ele gosta ou não... (S/N), então um varchar(1) resolve isso.. e tem outro detalhe, sua tabela não possui um índice.. como vai organizar os registros.. outro detalhe importante é que ela não guarda o índice do usuário.. você vai escrever as coisas nela e vai largar lá.. que registro vai ser de quem? como você vai saber? =) então você vai precisar destes dois campos.. smallint(6) já deve resolver, não sei como esta criando seus índices.. Os erros estão aqui:if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO musica (funk, axe, forro, mpb, trance, sertanejo, hiphop) VALUES (%s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['funk'], "text"), GetSQLValueString($_POST['axe'], "text"), GetSQLValueString($_POST['forro'], "text"), GetSQLValueString($_POST['mpb'], "text"), GetSQLValueString($_POST['trance'], "text"), GetSQLValueString($_POST['sertanejo'], "text"), GetSQLValueString($_POST['hiphop'], "text")); Isso dai vai dar problema sim.. tem que dar uma alterada nisso. Que tal deixar assim?( $_POST['funk'] == 'on' ) ? $funk = 'S' : $funk = 'N'; ( $_POST['axe'] == 'on' ) ? $axe = 'S' : $axe = 'N'; ( $_POST['forro'] == 'on' ) ? $forro = 'S' : $forro = 'N'; ( $_POST['mpb'] == 'on' ) ? $mpb = 'S' : $mpb = 'N'; ( $_POST['trance'] == 'on' ) ? $trance = 'S' : $trance = 'N'; ( $_POST['sertanejo'] == 'on' ) ? $sertanejo = 'S' : $sertanejo = 'N'; ( $_POST['hiphop'] == 'on' ) ? $hiphop = 'S' : $hiphop = 'N'; if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO musica (funk, axe, forro, mpb, trance, sertanejo, hiphop) VALUES (%s, %s, %s, %s, %s, %s, %s)", $funk, $axe, $forro, $mpb, $trance, $sertanejo, $hiphop;Acho que isso já te ajudaria, testa aí e me fala depois..Até,D.Soul Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PauloRJ Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 Desculpa a demora para ver o post.Li o que você falou vou verificar esses erros e ver o que vai dar. Dou noticia do resultado.Abraço e valeu a força!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 PauloRJ Postado Maio 29, 2006 Autor Denunciar Share Postado Maio 29, 2006 Fala D.SoulNa verdade eu fiz um cadastro de:Nome:Cidade:E-mail:Nascimento:Bairro:Cidade:Estado:Senha:+ Outros detalhes que consigo adicionar em bando de dados.Mas aí na parte de Qual estilo de musica tive esse problema no check box.E teria + adiante também em qual assuntos gostaria é de seu interesse e outrs que eu poderia vir trabalhar com checkbox ou meno suspenso.Então...Tentei fazer com o codigo que você me enviou de cara não funcionou + vou tentar novamente ver com detalhes os possiveis erros.Se puder me ajudar dando o codigo create da tabela em sql e o codigo da pagina de cadastro.php ajuda. aí do seu modelo eu em futuras alterações fica facil. Abraço! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
PauloRJ
;) Fala Pessoal, estou encontrando um erro em meu form de checkbox.
Eu estou tentando fazer um form de seleção de estilo de musica no caso o usuario escolha os seus preferidos.
Eu ate consigo selecionar os desejado mas a página da esta mensagem de erro quando não são selecionados todos os campos:
Notice: Undefined index: axe in d:\web\musica4.php on line 36
Notice: Undefined index: forro in d:\web\musica4.php on line 37
Notice: Undefined index: trance in d:\web\musica4.php on line 39
Notice: Undefined index: hiphop in d:\web\musica4.php on line 41
Warning: Cannot modify header information - headers already sent by (output started at d:\web\musica4.php:36) in d:\web\musica4.php on line 51
Justamente os checkbox que estão desmarcados.
Queri saber como ter a opção dele ignorar os que não foram marcados e não exibir este erro.
Codigo da tabela:
-- Estrutura da tabela `musica`
--
CREATE TABLE `musica` (
`funk` text,
`axe` text,
`forro` text,
`mpb` text,
`trance` text,
`sertanejo` text,
`hiphop` text
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `musica`
--
INSERT INTO `musica` VALUES ('funk', 'axe', 'forró', 'mpb', 'trance', 'sertanejo', 'hiphop');
INSERT INTO `musica` VALUES ('funk', NULL, NULL, NULL, NULL, NULL, 'hiphop');
INSERT INTO `musica` VALUES ('funk', NULL, NULL, 'mpb', NULL, 'sertanejo', NULL);
Codigo da página musica4.php
<?php require_once('Connections/con_musica.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO musica (funk, axe, forro, mpb, trance, sertanejo, hiphop) VALUES (%s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['funk'], "text"),
GetSQLValueString($_POST['axe'], "text"),
GetSQLValueString($_POST['forro'], "text"),
GetSQLValueString($_POST['mpb'], "text"),
GetSQLValueString($_POST['trance'], "text"),
GetSQLValueString($_POST['sertanejo'], "text"),
GetSQLValueString($_POST['hiphop'], "text"));
mysql_select_db($database_con_exibidos, $con_exibidos);
$Result1 = mysql_query($insertSQL, $con_exibidos) or die(mysql_error());
$insertGoTo = "lado.htm";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Funk:</td>
<td><input type="checkbox" name="funk" value="funk" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Axe:</td>
<td><input type="checkbox" name="axe" value="axe" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Forro:</td>
<td><input type="checkbox" name="forro" value="forró" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Mpb:</td>
<td><input type="checkbox" name="mpb" value="mpb" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Trance:</td>
<td><input type="checkbox" name="trance" value="trance" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Sertanejo:</td>
<td><input type="checkbox" name="sertanejo" value="sertanejo" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Hiphop:</td>
<td><input type="checkbox" name="hiphop" value="hiphop" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td><input type="submit" value="Insert record"></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
<p> </p>
</body>
</html>
Quem puder dar essa força. fico grato!!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.