Jump to content

Inserir opção de 1 select na bd


cachopo

Recommended Posts

Boa tarde pessoal,

Tenho a seguinte duvida:

Eu tenho 1 select com 4 opções:

<select>
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>

E eu preciso de inserir na base de dados a opção que o utilizador selecciona.

O que é que tenho de fazer? Se me puderem ajudar agradecia.

Link to post
Share on other sites

Supondo que isso está dentro de um form , tens que dar um nome ao teu select e fazeres ou um $_POST['NOME DO SELECT'] ou um $_GET['NOME DO SELECT'] , dependendo do que usares .

<?php include("assinatura.txt"); ?>

Link to post
Share on other sites

Sim , é bastante simples . Depois é só fazeres o insert na bd .

Já agora se em vez de guardares os valores que mostras quiseres guardar outros , podes fazer:

<select>
<option value="VALOR A GUARDAR NA BD">a</option>
</select>

E em vez de guardares "a" , guardas outro valor qualquer .

<?php include("assinatura.txt"); ?>

Link to post
Share on other sites

Cachopo eu uso assim ...

Criando o select listando do banco

                echo "<select name='Nome_do_select'>";
        
                while ($linha=mysql_fetch_array($result))
                        { 
                            $variavel1=$linha["nome"];
                            $variavel2=$linha["id_categoria"];
                           print "<option value='".$id."'>".$categoria."</option>";
                        }
                
                echo "</select>";

inserindo no bd


$variavel1 = $_POST["campo1"];
$variavel2 = $_POST["campo2"];
$variavel3  = $_POST["campo3"];

$resulta = mysql_query("INSERT INTO tb_produto (nome_do_campo_bd1 ,nome_do_campo_bd2 , nome_do_campo_bd3) VALUES('".$Nomedavariavel1."','".$Nomedavariavel2."','".$Nomedavariavel13."')");

if(mysql_affected_rows()>0)
{
 print "Produto Incluido <a href='#' onClick='javascript:history.back(-1)'>Cadastrar Novamente</a>";
}

}

mysql_close();

?>

Alguem tem o Código Fonte da Vida ?

Link to post
Share on other sites

O nome do select é que vais usar para fazeres $_POST ,  o nome em cada uma das options é o que é passado para a bd .

Teoricamente precisas dos dois ..

<?php include("assinatura.txt"); ?>

Link to post
Share on other sites
Lfscoutinho

Boas,

Para pegares o valor do select, basta utilizares o $_POST['nome_do_select'], mas deves usar o if para verificar se o valor é um dos possíveis que queres introduzir, pois um utilizador pode mudar o valor do select muito facilmente...

Link to post
Share on other sites

Boas,

Para pegares o valor do select, basta utilizares o $_POST['nome_do_select'], mas deves usar o if para verificar se o valor é um dos possíveis que queres introduzir, pois um utilizador pode mudar o valor do select muito facilmente...

Mudar o valor do select ? Desculpa a ignorância mas como é que isso é feito ?

<?php include("assinatura.txt"); ?>

Link to post
Share on other sites
Lfscoutinho

Boas,

Não, claro que não. Apenas no teu pc e quando fizeres refresh torna a aparecer como está no servidor.

Por exemplo, se tiveres um select com os valores "SLB, SCP e FCP", qualquer pessoas pode mudar e meter "Beira-Mar". Depois, se escolheres essa opção, o valor a ser enviado para o servidor é "Beira-Mar". Caso não faças nenhuma verificação, podes ter problemas...

Link to post
Share on other sites
Lfscoutinho

Boas,

Há várias formas, uma delas é colocar os valores que permites num array e depois verificar se o valor introduzido pelo utilizador é um desses, utilizando a função in_array().

Link to post
Share on other sites
Lfscoutinho

Boas,

Por exemplo:

<?php

$valores = array('slb', 'scp', 'fcp');

if( ! in_array( 'scb', $valores ) ) {

echo 'erro';

}

?>

Relativamente à activação, tens de ter uma tabela onde colocas o id do utilizador e uma chave aleatória e na tabela de utilizadores um campo "activo". Depois, envias um mail com a chave que geraste e crias uma página para fazer a verificação, onde só tens que comparar se a chave aleatória indicada pertence aquele utilizador. Se pertencer, activas o utilizador.

Link to post
Share on other sites
switch($_POST['NOME DO SELECT']) {
case OPTION 1:
case OPTION 2:
case OPTION 3:
case OPTION N: INSTRUÇÃO PARA INSERIR;
break;
default: MENSAGEM DE ERRO;
break;

<?php include("assinatura.txt"); ?>

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.