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

erro , envio de id


gremio10

Pergunta

eae galera , olha so , to com um problemão...

criei 3 inputs que recebem o valor do id do banco de dados , so que quando mando ele por post , o valor que era pra ir , pelo name , se perde , e fica em branco , algem pode me ajudar ???

pagina1.php

<style type="text/css">
#errada {
    color:red;
    font-size:14px;
    font-weight:bold;
}
#certa {
    color:green;
    font-size:14px;
    font-weight:bold;
}
</style>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<?php
    $sql = mysql_connect("localhost","root","") or die ("Erro : ".mysql_error());
    $banco = mysql_select_db("simulado",$sql) or die ("Erro ">mysql_error());
    $busca = mysql_query("select * from pergunta");
?>
<form action="teste3.php" method="post">
<?
    $linha = mysql_num_rows($busca);
    while ($reg = mysql_fetch_array($busca)) {
        $pergunta = $reg["pergunta"];
        $a = $reg["a"];
        $b = $reg["b"];
        $c = $reg["c"];
        $id = $reg["id"];
        $correta = $reg["correta"];
?>

<?php echo $pergunta."<br>"; ?>
<input type="radio" name="<?=$id?>" value="a" /> <?php echo $a; ?> <br />
<input type="radio" name="<?=$id?>" value="b" /> <?php echo $b; ?> <br />
<input type="radio" name="<?=$id?>" value="c" /> <?php echo $c; ?> <br />
<?
    }
?>
<br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
pagina2.php
<?php
    $sql = mysql_connect("localhost","root","") or die ("Erro : ".mysql_error());
    $banco = mysql_select_db("simulado",$sql) or die ("Erro ">mysql_error());

    $id = $_POST["$id"];
    echo $id;
    for ($i=1;$i<=3;$i++){
    
    $busca = mysql_query("SELECT * FROM pergunta WHERE id = '$i'");
    while ($reg = mysql_fetch_array($busca)) {
        $pergunta = $reg["pergunta"];
        $correta = $reg["correta"];
    
    if ($id == $correta) {
        echo $pergunta."<br>";
        echo "Correto";
        echo "<br>";
    }
    else {
        echo $pergunta."<br>";
        echo "Errado";
        echo "<br>";
        echo "Respostas Certa: ".$correta;
        echo "<br>";
    }
    }
    }
?>

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Troque:

<input type="radio" name="<?=$id?>" value="a" /> <?php echo $a; ?> <br />
<input type="radio" name="<?=$id?>" value="b" /> <?php echo $b; ?> <br />
<input type="radio" name="<?=$id?>" value="c" /> <?php echo $c; ?> <br />
por:
<input type="radio" name="<?php echo $id; ?>" value="a" /> <?php echo $a; ?> <br />
<input type="radio" name="<?php echo $id; ?>" value="b" /> <?php echo $b; ?> <br />
<input type="radio" name="<?php echo $id; ?>" value="c" /> <?php echo $c; ?> <br />

Depois posta aqui pra dizer se deu certo ou não. Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

em relação ao echo id, troque $_POST['$id'] por $_POST['id'], com certeza vai resolver ;)

os outros erros s ainda houverem, vou analisar.

outro erro, é que como está montando o name com uma variavel, fica dificil resgatar, porque a partir do momento que você muda a página, a variavel perde seu valor, por isso que não consegue receber com o post.

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

  • 0

Apenas de um name fixo para o Radio, e deixe os três com o mesmo nome, na hora de receber o post na outra página, faça isso pegando pelo name do radio, para pegar o ID da enquete na pagina 2, você vai ter que passar esse valor por get, utilizando o action do formulário, e mudando o method para get.

Se não entendeu, poste aqui que eu posto um exemplo, abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

cara , olha so , se eu não colocar o name como a id do banco , ele se perde , não acha ? por que quando eu mandar enviar , mesmo por get , vai ter q ser apenas 1 valor distinto , e teria que levar mais de 20 valores.

mas se você tiver um exemplo eu gostaria muito :D agradecido

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, nesse caso é o seguinte, do mesmo jeito que está montando um while para montar as perguntas, vai ter que escrever um while para montar as respostas.

<style type="text/css">
#errada {
    color:red;
    font-size:14px;
    font-weight:bold;
}
#certa {
    color:green;
    font-size:14px;
    font-weight:bold;
}
</style>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<?php
    $sql = mysql_connect("localhost","root","") or die ("Erro : ".mysql_error());
    $banco = mysql_select_db("simulado",$sql) or die ("Erro ">mysql_error());
    $busca = mysql_query("select * from pergunta order by id ASC");
?>
<form action="teste3.php" method="post">
<?
    $linha = mysql_num_rows($busca);
    while ($reg = mysql_fetch_array($busca)) {
        $pergunta = $reg["pergunta"];
        $a = $reg["a"];
        $b = $reg["b"];
        $c = $reg["c"];
        $id = $reg["id"];
        $correta = $reg["correta"];
?>

<?php echo $pergunta."<br>"; ?>
<input type="radio" name="<?php echo $id; ?>" value="a" /> <?php echo $a; ?> <br />
<input type="radio" name="<?=$id?>" value="b" /> <?php echo $id; ?> <br />
<input type="radio" name="<?=$id?>" value="c" /> <?php echo $id; ?> <br />
<?
    }
?>
<br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
<?php
    $sql = mysql_connect("localhost","root","") or die ("Erro : ".mysql_error());
    $banco = mysql_select_db("simulado",$sql) or die ("Erro ">mysql_error());
    $busca = mysql_query("select * from pergunta order by id ASC");
    while ($reg = mysql_fetch_array($busca)) {
        $pergunta = $reg["pergunta"];
        $correta = $reg["correta"];
        $id= $reg["id"];
    
    $id = $_POST[$id];
    echo $id;
    for ($i=1;$i<=3;$i++){

    if ($id == $correta) {
        echo $pergunta."<br>";
        echo "Correto";
        echo "<br>";
    }
    else {
        echo $pergunta."<br>";
        echo "Errado";
        echo "<br>";
        echo "Respostas Certa: ".$correta;
        echo "<br>";
    }
    }
    }
?>

Não tenho certeza, pois não estou com a base de dados para testar, mas veja se entenda o que eu fiz, e poste o resultado aqui, abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

cara consegui

teu codigo funcionou certinho , mas o for ali não é necessário

Brigadão

. vou postar o codigo funcionando pra q outros quando precisarem conseguir por aqui mesmo :D

<?php
$sql = mysql_connect("localhost","root","") or die ("Erro : ".mysql_error());
    $banco = mysql_select_db("simulado",$sql) or die ("Erro ">mysql_error());
    $busca = mysql_query("select * from pergunta order by id ASC");
    while ($reg = mysql_fetch_array($busca)) {
        $pergunta = $reg["pergunta"];
        $correta = $reg["correta"];
        $id= $reg["id"];
    
    $id = $_POST[$id];
    echo $id;
    

    if ($id == $correta) {
        echo $pergunta."<br>";
        echo "Correto";
        echo "<br>";
    }
    else {
        echo $pergunta."<br>";
        echo "Errado";
        echo "<br>";
        echo "Respostas Certa: ".$correta;
        echo "<br>";
    }
    }
   ?>

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...