Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

mikeysantana

Publicação dos dados do formulário em uma base de dados

Mensagens Recomendadas

mikeysantana
22 horas atrás, Rui Carlos disse:

Mostra o código completo.  O seguinte exemplo mostra isso a funcionar:


<form method="post" action="tmp.php">
	<select id="setor" name="setor" width="200" required>
                    <option value="dgf">Despesas Gerais Familiares</option>
                    <option value="saude">Saúde</option>
                    <option value="educacao">Educação</option>
                    <option value="habitacao">Habitação</option>
                    <option value="lares">Lares</option>
                    <option value="reparacao-automoveis">Reparação de Automóveis</option>
                    <option value="reparacao-motociclos">Reparação de Motociclos</option>
                    <option value="rest-aloj">Restauração e Alojamento</option>
                    <option value="cabeleireiros">Cabeleireiros</option>
                    <option value="vet">Atividades Veterinárias</option>
        </select>
	<button type="submit">Submit</button>
</form>
<?php
echo "value: ", $_POST['setor'];

 

Aqui vai o código:

<form action="comerciantes-bd.php" method="post">
              	<label for="nif">NIF do Comerciante</label>
                <p>
                  <input type="number" id="nif" name="nif" maxlength = "9" width="200" required>
                </p>
                <p>
                </p>
                <label for="comerciante">Designação do Comerciante</label>
                <p>
                  <input type="text" id="comerciante" name="comerciante" width="200" required>
                </p>
                <p>
                </p>
                <p>
                  <label for="setor">Setor</label>
                </p>
                <p>
                  <select id="setor" name="setor" width="200" required>
                    <option value="dgf">Despesas Gerais Familiares</option>
                    <option value="saude">Saúde</option>
                    <option value="educacao">Educação</option>
                    <option value="habitacao">Habitação</option>
                    <option value="lares">Lares</option>
                    <option value="reparacao-automoveis">Reparação de Automóveis</option>
                    <option value="reparacao-motociclos">Reparação de Motociclos</option>
                    <option value="rest-aloj">Restauração e Alojamento</option>
                    <option value="cabeleireiros">Cabeleireiros</option>
                    <option value="vet">Atividades Veterinárias</option>
                  </select>
                </p>
                <p></p>
                <input type="submit">
              </form>

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mikeysantana
15 horas atrás, Rui Carlos disse:

Se fizeres um echo do $_POST['setor'] vais ver que o valor está a ser recebido correctamente.  Se não chega à BD, à partida estará a ocorrer um problema qualquer na inserção.

Eu fiz esse echo e mantive-o tal e qual como o meteste, mas continuou a não funcionar! :confused:

O que posso fazer mais?

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Rui Carlos

O echo era só para debug, para conseguires verificar que efectivamente tinhas a informação que pretendias na variável.  Se verificaste que o valor era mostrado com o echo, o problema terá que estar na inserção na BD.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mikeysantana
17 horas atrás, Rui Carlos disse:

O echo era só para debug, para conseguires verificar que efectivamente tinhas a informação que pretendias na variável.  Se verificaste que o valor era mostrado com o echo, o problema terá que estar na inserção na BD.

O valor ainda não é mostrado, continua com um 0 no respetivo campo.

O que posso fazer agora?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mikeysantana

Olá Rui,

Já consegui resolver a situação. Foi bem simples, mas não era óbvia. O código estava corretíssimo, mas o problema estava no phpMyAdmin, que tinha os valores definidos como "INT" em vez de "VARCHAR", após essa mudança, os campos com texto já estão a ser recebidos.

Agora só me faltam poucas coisas. No formulário onde registo a fatura, queria colocar o campo para o NIF e gostava que fosse pesquisar na bd dos comerciantes para ver se existia ou não, depois de confirmar, ele mostrava o nome do comerciante no campo do Nome do Comerciante.

O código que tenho até agora é este:

No final da página

<?php
$usernm="user";
$passwd="pass";
$host="localhost";
$database="bd";

mysql_connect($host,$usernm,$passwd); 
mysql_select_db($database);

$sql = "SELECT * FROM comerciantes WHERE nif='".$nif."'"; 
$result = mysql_query($sql) or die (mysql_error()); 
while ($row = mysql_fetch_array($result)){
    $comerciante=$row['comerciante'];
    $nif=$row['nif'];
    }
?>

No formulário bloqueei a escrita no campo do nome do comerciante e atribui um value assim:

<input type="text" id="comerciante" name="comerciante" width="200" value="<?php echo $row['comerciante']; ?> " disabled>

Ao colocar o NIF correto, não me aparece logo o comerciante e quando submeto o formulário aparece um erro referindo que aquele campo não é nulo. Será que não funciona assim? Como posso fazer?

Aguardo resposta.

Cumprimentos,

mikeysantana

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.