Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Francisca2010

Enviar Radio Button para BD

Recommended Posts

Galera boa noite como faço para enviar algum dado prenchido pelo radio button para meu BD

um exemplo é uma forma de pagamento que estou fazendo :

 


<div id="form-pagamento">
    <center><b>Formas de Pagamento</b> </center>
    <form>

        <img width="60" src="geral/images/visa.png"/> </br>        
        <input type="radio" name="sex" value="male">Cartao de Credito Visa
        <br/><br/>

        <img width="60" src="geral/images/mastercard.png"/></br>
        <input type="radio" name="sex" value="female">Cartao de Credito Mastercard
        <br/><br/>
        <img width="50" src="geral/images/itau.png"/></br>
        <input type="radio" name="sex" value="female">Cartao de Credito Itau
        <br/><br/>
        <img width="50" src="geral/images/dinheiro.png"/></br>
        <input type="radio" name="sex" value="female">Pagamento Avista
        <br/><br/>
        <input type="text" name="sex" placeholder="Troco pra quantos ?"> <br/><br/>
        <input type="submit" name="enviar" value="Finalizar Compra"> 
    </form>

</div>

<style>


    #form-pagamento{
        font-family:initial;

        padding: 10px;
        box-shadow: 0px 0px 3px 3px #ccc;
        background: #fff;
        width:40%;
        border-radius:8px;
        text-align: left;
    }



</style>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preencha o valor desejado na opção value dos campos radiobutton

 

seria dessa forma.

 

<div id="form-pagamento">
    <center><b>Formas de Pagamento</b> </center>
    <form>

        <img width="60" src="geral/images/visa.png"/> </br>        
        <input type="radio" name="sex" value="Visa">Cartao de Credito Visa
        <br/><br/>

        <img width="60" src="geral/images/mastercard.png"/></br>
        <input type="radio" name="sex" value="Master Card">Cartao de Credito Mastercard
        <br/><br/>
        <img width="50" src="geral/images/itau.png"/></br>
        <input type="radio" name="sex" value="Itaul">Cartao de Credito Itau
        <br/><br/>
        <img width="50" src="geral/images/dinheiro.png"/></br>
        <input type="radio" name="sex" value="A vista">Pagamento Avista
        <br/><br/>
        <input type="text" name="sex" placeholder="Troco pra quantos ?"> <br/><br/>
        <input type="submit" name="enviar" value="Finalizar Compra"> 
    </form>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer saber a rotina PHP pra salvar no banco..?

é isso??

Você já tem um arquivo que recebe os dados do formulário?

 

O que está em negrito no código:

 

<div id="form-pagamento">
    <center><b>Formas de Pagamento</b> </center>
    <form name="form" action="recebe.php" method="post">

        <img width="60" src="geral/images/visa.png"/> </br>        
        <input type="radio" name="sex" value="male">Cartao de Credito Visa
        <br/><br/>

        <img width="60" src="geral/images/mastercard.png"/></br>
        <input type="radio" name="sex" value="female">Cartao de Credito Mastercard
        <br/><br/>
        <img width="50" src="geral/images/itau.png"/></br>
        <input type="radio" name="sex" value="female">Cartao de Credito Itau
        <br/><br/>
        <img width="50" src="geral/images/dinheiro.png"/></br>
        <input type="radio" name="sex" value="female">Pagamento Avista
        <br/><br/>
        <input type="text" name="sex" placeholder="Troco pra quantos ?"> <br/><br/>
        <input type="submit" name="enviar" value="Finalizar Compra"> 
    </form>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom eu fiz assim nao sei se esta certo mas eu preciso gravar isso no meu Banco as informações coletadas ate ai ta certo ?

como faço para dar um insert ?

 

recebe.php

<?php
session_start();

if ( isset ( $_POST["resposta"] ) ){
	$_SESSION['resposta'] = $_POST["resposta"];
	echo "Pegou o o valor da Session: ".$_SESSION['resposta']."";
}else{
	echo "Erro";
}
?>

formulario.php

 

<div id="form-pagamento">
    <center><b>Formas de Pagamento</b> </center>
    <form name="form" action="recebe.php" method="post">

        <img width="60" src="geral/images/visa.png"/> </br>        
        <input type="radio" name="resposta" value="Visa">Cartao de Credito Visa
        <br/><br/>

        <img width="60" src="geral/images/mastercard.png"/></br>
        <input type="radio" name="resposta" value="Master Card">Cartao de Credito Mastercard
        <br/><br/>
        <img width="50" src="geral/images/itau.png"/></br>
        <input type="radio" name="resposta" value="Itaul">Cartao de Credito Itau
        <br/><br/>
        <img width="50" src="geral/images/dinheiro.png"/></br>
        <input type="radio" name="resposta" value="A vista">Pagamento Avista
        <br/><br/>
        <input type="text" name="resposta" placeholder="Troco pra quantos ?"> <br/><br/>
        <input type="submit" name="enviar" value="Finalizar Compra"> 
    </form>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que assim já te ajuda:

 

<?php
session_start();
if ( isset ( $_POST["resposta"] ) ){
	$_SESSION['resposta'] = $_POST["resposta"];
	echo "Pegou o o valor da Session: ".$_SESSION['resposta']."";

}else{
	echo "Erro";
}
?>

<?php
//INSERIR NO BANCO COM PDO

    $pdo = new PDO ( "mysql:host=localhost;dbname=base", "root", "" );

    $stmt = $pdo->prepare("INSERT INTO nome_tabela (pagamento)
VALUES (".$_SESSION['resposta'].");");
 
    // Executa query
    if($stmt->execute()){
		
		echo "inserido com sucesso!";
	}

    $pdo = null;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pego o valor da session mas nao gravou no banco so aparece o ID:

aparece a mensagem :echo "Pegou o o valor da Session:

mas nao gravou no BD

 

ficou assim

<?php
session_start();
if ( isset ( $_POST["resposta"] ) ){
	$_SESSION['resposta'] = $_POST["resposta"];
	echo "Pegou o o valor da Session: ".$_SESSION['resposta']."";

}else{
	echo "Erro";
}
?>

<?php
//INSERIR NO BANCO COM PDO

    $pdo = new PDO ( "mysql:host=localhost;teste", "root", "" );
    
    $stmt = $pdo->prepare("INSERT INTO pagamento (resposta)
VALUES (".$_SESSION['resposta'].");");
 
    // Executa query
    if($stmt->execute()){
		
		echo "inserido com sucesso!";
	}

    $pdo = null;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Francisca o problema esta no campo Troco

 

<input type="text" name="resposta" placeholder="Troco pra quantos ?"> <br/><br/>

 

Note que esse campo tem o mesmo nome que os botões de radio troque o nome dele e teste

 

substitua por isso por exemplo

 

<input type="text" name="troco" placeholder="Troco pra quantos ?"> <br/><br/>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz o teste, o erro não deu so que nao esta inserindo no Banco o valor pego pela SESSION.

 

 

<?php
session_start();
if ( isset ( $_POST["resposta"] ) ){
	$_SESSION['resposta'] = $_POST["resposta"];
	echo "Pegou o o valor da Session: ".$_SESSION['resposta']."";

}else{
	echo "Erro";
}
?>

<?php

    $pdo = new PDO ( "mysql:host=localhost;pizza=base", "root", "" );

    $stmt = $pdo->prepare("INSERT INTO pagamento (pagamento)
VALUES (".$_SESSION['resposta'].");");
 
    if($stmt->execute()){
		
		echo "inserido com sucesso!";
	}

    $pdo = null;

?>


Tentei fazer de outra forma :

so que ele nao grava a opcao escolhida so grava isso : $resposta ;

 

 

<?php
$con = mysql_pconnect("localhost", "root", "");
$bd = mysql_select_db('pizza', $con) or die("Erro ao acessar o banco!");


$resposta = $_POST['resposta'];


$sql = 'INSERT INTO pagamento (resposta) VALUES("$resposta")';
$sql = mysql_query($sql) or die ('Erro ao inserir registro no banco de dados');

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque a posição das aspas deixe assim e teste

 

$sql = "INSERT INTO pagamento (resposta) VALUES('$resposta')";


Utilizando o formato anterior tente assim

 

 

 $stmt = $pdo->prepare("INSERT INTO pagamento (pagamento) VALUES ('".$_SESSION['resposta']."');"); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta dando erro ainda,

 

Notice: Undefined index: resposta in C:\wamp\www\pizza\ControlePage\pagamento\enviarpgto.php on line 6 Call Stack

 

 

<?php
$con = mysql_pconnect("localhost", "root", "");
$bd = mysql_select_db('pizza', $con) or die("Erro ao acessar o banco!");

$resposta = $_POST['resposta']; //LINHA 6
$sql = "INSERT INTO pagamento (resposta) VALUES('$resposta')";
$sql = mysql_query($sql) or die('Erro ao inserir registro no banco de dados');
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um echo na variavel $resposta;

pelo jeito não esta sendo passado nada..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao ta pegando o valor que esta sendo selecionado la no meu HTML esta dando erro nessa linha esta ficando vazia

 

$resposta = $_POST['resposta'];

Olá..me desculpe..esta uma correria no serviço por isso sumi um pouco...

 

Mas olha só..o código que te passei está certinho..

 

<?php
session_start();
if ( isset ( $_POST["resposta"] ) ){
	$_SESSION['resposta'] = $_POST["resposta"];
	echo "Pegou o o valor da Session: ".$_SESSION['resposta']."";
        //INSERIR NO BANCO COM PDO

    $pdo = new PDO ( "mysql:host=localhost;teste", "root", "" );
    
    $stmt = $pdo->prepare("INSERT INTO pagamento (resposta)
     VALUES (".$_SESSION['resposta'].");");
 
    // Executa query
    if($stmt->execute()){
		
		echo "inserido com sucesso!";
	}

    $pdo = null;
     echo "Gravou no Banco!!!";

}else{
	echo "Erro";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Francisca Copie os códigos abaixo e teste, atenta-se aos comentários existente no arquivo recebe.php

Espero que resolva seu problema.

 

Formulario.php

<div id="form-pagamento">
    <center><b>Formas de Pagamento</b> </center>
    <form name="form" action="recebe.php" method="post" enctype="multipart/form-data">


        <img width="60" src="geral/images/visa.png"/> </br>        
        <input type="radio" name="resposta" value="Visa">Cartao de Credito Visa
        <br/><br/>

        <img width="60" src="geral/images/mastercard.png"/></br>
        <input type="radio" name="resposta" value="Master Card">Cartao de Credito Mastercard
        <br/><br/>
        <img width="50" src="geral/images/itau.png"/></br>
        <input type="radio" name="resposta" value="Itaul">Cartao de Credito Itau
        <br/><br/>
        <img width="50" src="geral/images/dinheiro.png"/></br>
        <input type="radio" name="resposta" value="A vista">Pagamento Avista
        <br/><br/>
        <input type="text" name="troco" placeholder="Troco pra quantos ?"> <br/><br/>
        <input type="submit" name="enviar" value="Finalizar Compra"> 
    </form>

</div>

 

recebe.php

 

<?php
session_start();
if ( isset ( $_POST["resposta"] ) ){
	$_SESSION['resposta'] = $_POST["resposta"];
//	echo "Pegou o o valor da Session: ".$_SESSION['resposta']."";

}else{
	echo "Erro ao registrar a Session!";
}



$con = mysql_connect("localhost","root", "");
$bd = mysql_select_db('pizza', $con) or die("Erro ao acessar o banco!");

// atentar-se ao nome das colunas e banco de dados para verificar se esta de acordo com o que você possui.

$sql = "INSERT INTO pagamento (pagamento) VALUES('".$_SESSION['resposta']."')";

// Lembre-se a coluna pagamento que irá receber o valor do radio button deverá ser do tipo varchar(50) por exemplo
// visto que vc esta passando texto como valor.

$qy = mysql_query($sql);
	if(!$qy){
		print mysql_error();
	}else{
		print "Registro Gravado!";	
	}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.