Ir para conteúdo
Fórum Script Brasil
  • 0

Não Retorna O Valor Do Checkbox


Curry

Pergunta

O erro (Parse error: parse error in c:\arquivos de programas\easyphp1-8\www\adm_php\editar3.php on line 17) indica que o valor que eu estou puxando não está especificado no array... pelo menos foi isso que pude concluir...

Como posso buscar o valor dessa checkbox para fazer a atualização do registro no banco de dados ??

<?
if($num_rows != 0) {
    while($row = mysql_fetch_array($resultado)) {
        echo "<tr><form method=get action=editar3.php><td class=txt>" . $row['titulo'] . "</td>";
        echo "<td class=txt>" . $row['subtitulo'] . "</td>";
        echo "<td class=txt align=center>" . $row['data'] . "</td>";
        echo "<td class=txt align=center><input type=checkbox name=see ";                                     \\\\ Linha 17
        if ($row['ver']="on") { echo "checked value=1>"; } else { echo "value=0>"; }"</td>";
        echo "<td class=txt align=center><input type=hidden name=var value=" . $row['id'] . "><input type=image border=0 src=img_adm/editar.jpg alt=confirmar /></td>";
        echo "<td class=txt align=center><a href=apagar.php?var=" . $row['id'] . "><img border=0 src=img_adm/apagar.jpg alt=apagar /></a></td>";
        echo "</form></tr>";
    }
}
?>
página de atualização:
$id = $_POST["var"];
$chk = $_POST["see"];

// echo $var;
// echo $chk;

if ($chk == "1") {
$go = "on";
}
else
{
$go = "off";
}

$sql = "UPDATE news_adm SET ver = '$go' WHERE id = $id ";

mysql_query($sql)
or die ("Não foi possível realizar sua consulta no momento. Por favor tente novamente.");

echo "<script>alert(\"Notícia alterada com sucesso\"); window.close()</script>";

header("Location: atualizar2.php");

Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

Eu já tinha mexido isso.. deu na mesma

O que tah acontecendo (pelo que eu entendi) é que eu coloquei esse checkbox no meio do array, sendo que ele não faz parte do que o array está trazendo para a página, daí o erro ao identificá-lo...

Existe alguma outra maneira de fazer esse update ?? aí quem sabe resolve isso

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, será que se criar o check box dentro do seu if não resolve?

É que eu não sei se eu entendi bem o que você quer fazer.

Ve aí

<?
if($num_rows != 0) {
    while($row = mysql_fetch_array($resultado)) {
        echo "<tr><form method=get action=editar3.php><td class=txt>" . $row['titulo'] . "</td>";
        echo "<td class=txt>" . $row['subtitulo'] . "</td>";
        echo "<td class=txt align=center>" . $row['data'] . "</td>";
        echo "<td class=txt align=center>";                               \\\\ Linha 17
        if ($row['ver']="on") { echo "<input type =\"checkbox\" checked value=1></td>"; } else { echo "<input type =\"checkbox\" value=0>"; }"</td>";
        echo "<td class=txt align=center><input type=hidden name=var value=" . $row['id'] . "><input type=image border=0 src=img_adm/editar.jpg alt=confirmar /></td>";
        echo "<td class=txt align=center><a href=apagar.php?var=" . $row['id'] . "><img border=0 src=img_adm/apagar.jpg alt=apagar /></a></td>";
        echo "</form></tr>";
    }
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Deu erro... o que eu queria é que carregasse do banco do campo ver (varchar) se a notícia deve aparecer ou não em destaque...

Aí se está em destaque carrega o checkbox "checado" se não estiver, vem em aberto, aí a pessoa altera ou não o valor dele para destacar ou esconder a notícia....

Se tiver um jeito mais fácil aceito sugestões... migrar de ASP para PHP está me matando !!!

Link para o comentário
Compartilhar em outros sites

  • 0

Realmente eu tenho algumas sugestões:

1. Verifique a possibilidade de substituição do operador de atribuição "=" pelo operador de comparação "==" no trecho abaixo;

if ($row['ver']="on") { echo "che...
2. A boa prática de HTML (e necessário dependendo da opção de renderização da página) é definir os atributos dos elementos entre aspas, como em:
name=see
Passar para:
name="see"
Sendo necessário, no echo, utilizar escape:
"... name=\"see\" ...

Faz o seguinte: posta pra gente o código HTML gerado por este script PHP, principalmente o trecho onde está o input com nome "see".

Editado por CSML sistemas
Link para o comentário
Compartilhar em outros sites

  • 0

Notice: Undefined index: see in c:\arquivos de programas\easyphp1-8\www\adm_php\editar3.php on line 13

Não foi possível realizar sua operação no momento. Por favor tente novamente.

Dá erro justamente na leitura da variável:

$chk = $_POST["see"];

O código continua o lá de cima do post, salvo as alterações sugeridas que já foram feitas....

Link para o comentário
Compartilhar em outros sites

  • 0

Aí vai ele:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="adm.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Administrador- Atualizar Not&iacute;cias</title>
</head>
<body style="padding-top:40px;">
<table align="center" width="80%" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td width="26%" class="top">Título</td>
    <td width="26%" class="top">Subtítulo</td>

    <td width="16%" class="top" align="center">Publicada em</td>
    <td width="16%" class="top" align="center">Exibir</td>
    <td width="8%" class="top" align="center">Confirmar</td>
    <td width="8%" class="top" align="center">Apagar</td>
  </tr>
<tr><form method="post" action="editar3.php"><td class="txt">Novo site</td><td class="txt">xxxxxxxxxx</td><td class="txt" align="center">2007-05-14</td><td class="txt" align="center"><input type ="checkbox" name="see" value="0"></td><td class="txt" align="center"><input type="hidden" name="var" value="1"><input type="image" border="0" src="img_adm/editar.jpg" alt="confirmar" /></td><td class="txt" align="center"><a href="apagar.php?var=1"><img border="0" src="img_adm/apagar.jpg" alt="apagar" /></a></td></form></tr><tr><form method="post" action="editar3.php"><td class="txt">bbbbbbbbb</td><td class="txt">aaaaaaaaaaa</td><td class="txt" align="center">2007-05-15</td><td class="txt" align="center"><input type ="checkbox" name="see" checked value="1"></td><td class="txt" align="center"><input type="hidden" name="var" value="4"><input type="image" border="0" src="img_adm/editar.jpg" alt="confirmar" /></td><td class="txt" align="center"><a href="apagar.php?var=4"><img border="0" src="img_adm/apagar.jpg" alt="apagar" /></a></td></form></tr><tr><form method="post" action="editar3.php"><td class="txt">ssssss</td><td class="txt">sss</td><td class="txt" align="center">2007-05-15</td><td class="txt" align="center"><input type ="checkbox" name="see" checked value="1"></td><td class="txt" align="center"><input type="hidden" name="var" value="5"><input type="image" border="0" src="img_adm/editar.jpg" alt="confirmar" /></td><td class="txt" align="center"><a href="apagar.php?var=5"><img border="0" src="img_adm/apagar.jpg" alt="apagar" /></a></td></form></tr><tr><form method="post" action="editar3.php"><td class="txt">ssssss</td><td class="txt">sss</td><td class="txt" align="center">2007-05-15</td><td class="txt" align="center"><input type ="checkbox" name="see" checked value="1"></td><td class="txt" align="center"><input type="hidden" name="var" value="6"><input type="image" border="0" src="img_adm/editar.jpg" alt="confirmar" /></td><td class="txt" align="center"><a href="apagar.php?var=6"><img border="0" src="img_adm/apagar.jpg" alt="apagar" /></a></td></form></tr></table>
</body>
</html>

Editado por Curry
Link para o comentário
Compartilhar em outros sites

  • 0

Tenho uma notícia para você, Curry, não sei se boa ou ruim:

Testei seu HTML com o "editar3.php" (que foi criado somente com o que postou como seu segundo código) e não houve erro ao ler o "see". Descomentei aqueles "echo" e apareceram os valores lidos normalmente. Claro que não criei o banco e, portanto, acabou naquela mensagem "Não foi possível realizar...".

Tenho uma outra notícia também, sobre INPUT TYPE="CHECKBOX" em uma referência de HTML, que talvez confunda um pouco as coisas:

The VALUE attribute, required for radio buttons and checkboxes, gives the value of the control when it is checked

E agora???

Link para o comentário
Compartilhar em outros sites

  • 0

Trabalhando com checkbox, eu sempre obtive checked como 1 e unchecked como 0... o print do $sql sai certinho...

o problema é que eu estou chamando um valor de uma var que não está no array... a página carrega se o checkbox está clicado ou não, mas desconsidera isso quanto tento mandar essa informação para a editar3.php...

e eu não tenho a menor idéia de como resolver isso....

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...