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

[RESOLVIDO]Ajuda PHP + Javascript + Radio Group


And_cco

Pergunta

Fala pessoal,

To tendo um problema aqui com um form que fiz, ele tem um questionario com varios Radio groups e uma validaçao para ver se estão preenchidos, a validação da funcionando o problema e q não to conseguindo passar os valores para outra pagina para guardar em um BD.

Resumindo: Quero passar os valores dos radio groups para outra pagina/BD

Aqui vai o codigo:

<html>

    <head>

        <title>Documento sem titulo</title>

    </head>

    <body bgcolor="#FDCC71">

       <center><iframe width="1000" height="195" frameborder='0' src='topo.htm'></iframe></center>

        <center><iframe width="1000" height="40" frameborder='0' src='barra_erro.htm'></iframe></center>

        <center>Pagina 2<br>


<?//Recebendo da pagina anterior já validados

$nome = $_POST['nome'];

$telefone = $_POST['telefone'];

$encubadas = $_POST['encubadas'];       

?>



&lt;script language="javascript">





 function verifica_questoes()//Validaçao dos Radios Groups

        {

         d = document.cadastro_encuba;

         //validar nome

            if (!d.Q1[0].checked && !d.Q1[1].checked && !d.Q1[2].checked && !d.Q1[3].checked)

            {

             alert("Por Favor Responda a questão 1");

             return false;

         }

            if (!d.Q2[0].checked && !d.Q2[1].checked && !d.Q2[2].checked && !d.Q2[3].checked)

            {

             alert("Por Favor Responda a questão 2");

             return false;

         }

            if (!d.Q3[0].checked && !d.Q3[1].checked && !d.Q3[2].checked && !d.Q3[3].checked)

            {

             alert("Por Favor Responda a questão 3");

             return false;

         }

            

             return true;

      }

     </script> 

     <!--Formulario-->

     <form name="cadastro_encuba" method="post" action="questoes.php" onSubmit="return verifica_questoes()">

      <p>

        Questão 1:

        <input type="radio" name="Q1[]" value="1" id="Q1">1

        <input type="radio" name="Q1[]" value="2" id="Q1">2

        <input type="radio" name="Q1[]" value="3" id="Q1">3

        <input type="radio" name="Q1[]" value="4" id="Q1">4

       
         <br>


      </p>

      <p>

        Questão 2:

        <input type="radio" name="Q2[]" value="1" id="Q2">1

        <input type="radio" name="Q2[]" value="2" id="Q2">2

        <input type="radio" name="Q2[]" value="3" id="Q2">3

        <input type="radio" name="Q2[]" value="4" id="Q2">4

        <br>

      </p>

         <p>

        Questão 3:

          <input type="radio" name="Q3[]" value="1" id="Q3">1

          <input type="radio" name="Q3[]" value="2" id="Q3">2

          <input type="radio" name="Q3[]" value="3" id="Q3">3

          <input type="radio" name="Q3[]" value="4" id="Q3">4

          <br>

        </p>

      <input type="hidden" name="nome" value="<?php echo $nome;?>" >

      <input type="hidden" name="telefone" value="<?php echo $telefone;?>" >

      <input type="hidden" name="encubadas" value="<?php echo $encubadas;?>" >

        <input type="submit" name = "submit" value="Inserir"">

        

    </form>

    </center>

    </body>



</html>

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

4 respostass a esta questão

Posts Recomendados

  • 0
Fala pessoal,

To tendo um problema aqui com um form que fiz, ele tem um questionario com varios Radio groups e uma validaçao para ver se estão preenchidos, a validação da funcionando o problema e q não to conseguindo passar os valores para outra pagina para guardar em um BD.

Resumindo: Quero passar os valores dos radio groups para outra pagina/BD

Aqui vai o codigo:

<html>

    <head>

        <title>Documento sem titulo</title>

    </head>

    <body bgcolor="#FDCC71">

       <center><iframe width="1000" height="195" frameborder='0' src='topo.htm'></iframe></center>

        <center><iframe width="1000" height="40" frameborder='0' src='barra_erro.htm'></iframe></center>

        <center>Pagina 2<br>


<?//Recebendo da pagina anterior já validados

$nome = $_POST['nome'];

$telefone = $_POST['telefone'];

$encubadas = $_POST['encubadas'];       

?>



<script language="javascript">





function verifica_questoes()//Validaçao dos Radios Groups

        {

         d = document.cadastro_encuba;

         //validar nome

            if (!d.Q1[0].checked && !d.Q1[1].checked && !d.Q1[2].checked && !d.Q1[3].checked)

            {

             alert("Por Favor Responda a questão 1");

             return false;

         }

            if (!d.Q2[0].checked && !d.Q2[1].checked && !d.Q2[2].checked && !d.Q2[3].checked)

            {

             alert("Por Favor Responda a questão 2");

             return false;

         }

            if (!d.Q3[0].checked && !d.Q3[1].checked && !d.Q3[2].checked && !d.Q3[3].checked)

            {

             alert("Por Favor Responda a questão 3");

             return false;

         }

            

             return true;

      }

     </script> 

     <!--Formulario-->

     <form name="cadastro_encuba" method="post" action="questoes.php" onSubmit="return verifica_questoes()">

      <p>

        Questão 1:

        <input type="radio" name="Q1[]" value="1" id="Q1">1

        <input type="radio" name="Q1[]" value="2" id="Q1">2

        <input type="radio" name="Q1[]" value="3" id="Q1">3

        <input type="radio" name="Q1[]" value="4" id="Q1">4

       
         <br>


      </p>

      <p>

        Questão 2:

        <input type="radio" name="Q2[]" value="1" id="Q2">1

        <input type="radio" name="Q2[]" value="2" id="Q2">2

        <input type="radio" name="Q2[]" value="3" id="Q2">3

        <input type="radio" name="Q2[]" value="4" id="Q2">4

        <br>

      </p>

         <p>

        Questão 3:

          <input type="radio" name="Q3[]" value="1" id="Q3">1

          <input type="radio" name="Q3[]" value="2" id="Q3">2

          <input type="radio" name="Q3[]" value="3" id="Q3">3

          <input type="radio" name="Q3[]" value="4" id="Q3">4

          <br>

        </p>

      <input type="hidden" name="nome" value="<?php echo $nome;?>" >

      <input type="hidden" name="telefone" value="<?php echo $telefone;?>" >

      <input type="hidden" name="encubadas" value="<?php echo $encubadas;?>" >

        <input type="submit" name = "submit" value="Inserir"">

        

    </form>

    </center>

    </body>



</html>

você está enviando arrays com a propriedade name ="Q1[]" para pegar basta $_POST[Q1] mas para exibir terá que trabalhar com arrays o que não entendir foi o porque de colocar Q1[] array pois so uma resposta está certa.

até mais

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, eu coloquei assim porque so assim funcionou a validaçao com o javascript e eu usei isso para pegar porem não está armazendando no BD vou enviar o codigo da pagina que armazena aqui.

<?

// Mensagens de Erro

$msg[0] = "Conexão com o banco falhou!";

$msg[1] = "Não foi possível selecionar o banco de dados!";



// Fazendo a conexão com o servidor MySQL

$conexao = mysql_connect("localhost","root","******") or die($msg[0]);

mysql_select_db("teste",$conexao) or die($msg[1]);



if (getenv("REQUEST_METHOD") == "POST") {

   // Configura as variáveis do método POST para virarem variáveis

   // "normais" do PHP (Requer apenas nas versões do PHP acima da 4.1)

   $Q1 = $_POST['Q1'];

   $Q2 = $_POST['Q2'];

   $Q3 = $_POST['Q3'];

   $nome = $_POST['nome'];

   $telefone = $_POST['telefone'];

   $encubadas = $_POST['encubadas'];



      $conexao = mysql_pconnect("localhost","root","154655");

      mysql_select_db("teste",$conexao);

      $query = "INSERT INTO dados (nome,telefone,encubadas,Q1,Q2,Q3) VALUES('$nome','$telefone','$encubadas','$Q1','$Q2','$Q3')";

      mysql_query($query,$conexao);

     //header("Location: pagina3.htm");

  } 



?>

Link para o comentário
Compartilhar em outros sites

  • 0
Bom, eu coloquei assim porque so assim funcionou a validaçao com o javascript e eu usei isso para pegar porem não está armazendando no BD vou enviar o codigo da pagina que armazena aqui.

<?

// Mensagens de Erro

$msg[0] = "Conexão com o banco falhou!";

$msg[1] = "Não foi possível selecionar o banco de dados!";



// Fazendo a conexão com o servidor MySQL

$conexao = mysql_connect("localhost","root","******") or die($msg[0]);

mysql_select_db("teste",$conexao) or die($msg[1]);



if (getenv("REQUEST_METHOD") == "POST") {

   // Configura as variáveis do método POST para virarem variáveis

   // "normais" do PHP (Requer apenas nas versões do PHP acima da 4.1)

   $Q1 = $_POST['Q1'];

   $Q2 = $_POST['Q2'];

   $Q3 = $_POST['Q3'];

   $nome = $_POST['nome'];

   $telefone = $_POST['telefone'];

   $encubadas = $_POST['encubadas'];



      $conexao = mysql_pconnect("localhost","root","154655");

      mysql_select_db("teste",$conexao);

      $query = "INSERT INTO dados (nome,telefone,encubadas,Q1,Q2,Q3) VALUES('$nome','$telefone','$encubadas','$Q1','$Q2','$Q3')";

      mysql_query($query,$conexao);

     //header("Location: pagina3.htm");

  } 



?>

tente isso

<?

/* função para tratar os arrays desde que cada um receba somente um elemento */

function ArrayNeStr($dados)

{

$retorno='';

$snd='S';

if (empty($dados)){ $retorno="dados vazio."; $snd='N';}

if (!is_array($dados)){ $retorno="a variavél não é um array."; $snd='N'; }

if ($snd == 'S')

{

$sd=implode(",",$dados);

$sd=str_replace(",","",$sd);

$retorno=$sd;

}

return $retorno;

}

// Mensagens de Erro

$msg[0] = "Conexão com o banco falhou!";

$msg[1] = "Não foi possível selecionar o banco de dados!";

// Fazendo a conexão com o servidor MySQL

$conexao = mysql_connect("localhost","root","******") or die($msg[0]);

mysql_select_db("teste",$conexao) or die($msg[1]);

if (getenv("REQUEST_METHOD") == "POST") {

// Configura as variáveis do método POST para virarem variáveis

// "normais" do PHP (Requer apenas nas versões do PHP acima da 4.1)

$Q1 = ArrayNeStr($_POST['Q1']);

$Q2 = ArrayNeStr($_POST['Q2']);

$Q3 = ArrayNeStr($_POST['Q3']);

$nome = $_POST['nome'];

$telefone = $_POST['telefone'];

$encubadas = $_POST['encubadas'];

$conexao = mysql_pconnect("localhost","root","154655");

mysql_select_db("teste",$conexao);

$query = "INSERT INTO dados (nome,telefone,encubadas,Q1,Q2,Q3) VALUES('$nome','$telefone','$encubadas','$Q1','$Q2','$Q3')";

mysql_query($query,$conexao);

//header("Location: pagina3.htm");

}

a função que criei caso não seja um array irar retornar uma mensagem de erro, caso os dados esteja vazio irá retorna uma mensagem de erro tambem.

até mais qualquer duvida é so postar

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