Jump to content
klasss

Php/Mysql Duvida

Recommended Posts

klasss

Boa Tarde,

É o meu primeiro Post aqui neste forum.

Tenho uma duvida no php a enviar os dados para o Mysql. A ver se alguem me consegue ajudar.

é uma espécie de formulario para receber Numeros, datas e anexos.

CONECTAR.PHP

<?php  

$local_serve = "Localhost";      // local do servidor
$usuario_serve = "root";         // nome do usuario
$senha_serve = "";                  // senha
$banco_de_dados = "GCD";      // nome do banco de dados

$conn = @mysql_connect($local_serve,$usuario_serve,$senha_serve,$banco_de_dados) or die ("O servidor não responde!");

// conecta-se ao banco de dados
$db = @mysql_select_db($banco_de_dados,$conn)
  or die ("Não foi possivel ligar-se a Base de Dados!");

?>  

Inserir.php

<?php

require("conectar.php");//chama o arquivo de conexão ao BD

/*Guarda os dados digitados no form, através do método POST.*/
if(isset($_POST['Nome'])){
$Nome = $_POST['Nome'];}
$Morada = $_POST['Morada'];
$Tipo = $_POST['Tipo'];
$Email = $_POST['Email'];
$AlvaraNumero = $_POST['AlvaraNumero'];
$AlvaraValidade = $_POST['AlvaraValidade'];
$AlvaraAnexo = $_POST['AlvaraAnexo'];
$AcidenteNumero = $_POST['AcidenteNumero'];
$AcidenteValidade = $_POST['AcidenteValidade'];
$AcidenteAnexo = $_POST['AcidenteAnexo'];
$SeguroNumero = $_POST['SeguroNumero'];
$SeguroValidade = $_POST['SeguroValidade'];
$SeguroAnexo = $_POST['SeguroAnexo'];
$FinancasValidade = $_POST['FinancasValidade'];
$FinancasAnexo = $_POST['FinancasAnexo']; 
$SocialValidade = $_POST['SocialValidade'];
$SocialAnexo = $_POST['SocialAnexo'];
$RenumeracaoValidade = $_POST['RenumeracaoValidade'];
$RenumeracaoAnexo = $_POST['RenumeracaoAnexo'];
$InstaladorNumero = $_POST['InstaladorNumero'];
$InstaladorValidade = $_POST['InstaladorValidade'];
$InstaladorAnexo = $_POST['InstaladorAnexo'];
$MontadorNumero = $_POST['MontadorNumero'];
$MontadorValidade = $_POST['MontadorValidade'];
$MontadorAnexo = $_POST['MontadorAnexo'];



//Inserindo os dados na Tabela "Principal" através de comandos MySQL.

$sqlinsert = "INSERT INTO tb_Principal (id, Nome, Morada, Tipo, Email, AlvaraNumero, AlvaraValidade, AlvaraAnexo, AcidenteNumero, AcidenteValidade, AcidenteAnexo, SeguroNumero, SeguroValidade, SeguroAnexo, FinancasValidade, FinancasAnexo, SocialValidade, SocialAnexo, RenumeracaoValidade, RenumeracaoAnexo, InstaladorNumero, InstaladorValidade, InstaladorAnexo, MontadorNumero, MontadorValidade, MontadorAnexo) [b]VALUES                      [/b]('NULL',$Nome','$Morada','$Tipo','$Email','$AlvaraNumero','$AlvaraValidade','$AlvaraAnexo', '$AcidenteNumero', '$AcidenteValidade','$AcidenteAnexo','$SeguroNumero','$SeguroValidade','$SeguroAnexo','$FinancasValidade','$FinancasAnexo','$SocialValidade','$SocialAnexo','$RenumeracaoValidade','$RenumeracaoAnexo','$InstaladorNumero','$InstaladorValidade','$InstaladorAnexo','$MontadorNumero','$MontadorValidade','$MontadorAnexo')"; 


mysql_query($sqlinsert) or die("Não foi possível inserir os dados"); //Ou vai..., ou racha.

/*Mostra na tela os dados inseridos.*/

echo"Inseridos na Tabela ";

?>

E aparece-me sempre a mensagem a dizer : Não foi possível inserir os dados.

Obrigado

Edited by thoga31
Tags code + GeSHi

Share this post


Link to post
Share on other sites
marciojpisidro

experimenta colocar dentro do insert o nome das variaveis da seguinte forma:

'".$xxx."'

outra coisa, se vais popular todas as colunas não é preciso dizeres onde ele vai escrever, basta colocares o insert da seguitne forma:

insert into tb_Principal values(0,'".$nomeUt."','".$moradaUt."','".$concelhoUt."','".$CPUt."','".$LocUt."','".$TelUt."','".$emailUt."','".$DNUt."','".$NaturalidadeUt."','".$BIUt."','".$HabilitacoesUt."','".$SexUt."','".$NecessidadesEspeciaisUt."','".$SaudeUt."', null,0,0,0,0);";

isto é um exemplo meu mas que satisfaz as tuas necessidades penso eu

alguma coisa apita

  • Vote 1

Share this post


Link to post
Share on other sites
klasss

como é que se deixa essa parte do ID?

Edit: 'id' Fica assim..

Agora como está da-me erro mesmo. : Undefined variable: nome

mas ja aparece que os dados foram inseridos na tabela

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
marciojpisidro

se reparares a tua variavel tem Nome em vez de nome.

isto é case sensitive CUIDADO!!!!

Share this post


Link to post
Share on other sites
HappyHippyHippo

altera o código para

mysql_query($sqlinsert) or die("Não foi possível inserir os dados : " . mysql_error());

agora apresenta qual a informação apresentada


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
klasss

Ja funciona.. Muito Obrigado.

agora uma duvida.

Se por exemplo se faltar algum documento daqueles que pedi, como posso colocar como condicionado?

Share this post


Link to post
Share on other sites
I-NOZex

será tipo isto? :

if(!isset($_POST['nome'])) $errors[] = "Insira  um nome";
if(!isset($_POST['idade'])) $errors[] = "Insira  a idade";


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
klasss

Eu tenho campos que não são obrigatorios preencher. E se essa pessoa nao preencher esses campos eu vou mostrar esses dados numa pagina especifica.

e outra coisa:

Eu no php tenho a mensagem a dizer que os dados foram inseridos correctamento.

como eu faço para ele mostrar isso e abrir logo a pagina seguinte?

Edited by klasss

Share this post


Link to post
Share on other sites
I-NOZex

qual pagina seguinte?

tenta ser mais explicito nas tuas questoes pfv, senao acabamos sempre na duvida, e o problema é teu pois tu é que precisas da ajuda!

ajudanos a ajudar-te

explica exactamente o que pretendes, apresenta codigo, faz esqemas...


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
klasss

é o seguinte.

Ao preencher os campos que pedi :

if(isset($_POST['Nome'])){

$Nome = $_POST['Nome'];}

$Morada = $_POST['Morada'];

$Tipo = $_POST['Tipo'];

$Email = $_POST['Email'];

$AlvaraNumero = $_POST['AlvaraNumero'];

$AlvaraValidade = $_POST['AlvaraValidade'];

$AlvaraAnexo = $_POST['AlvaraAnexo'];

$AcidenteNumero = $_POST['AcidenteNumero'];

$AcidenteValidade = $_POST['AcidenteValidade'];

$AcidenteAnexo = $_POST['AcidenteAnexo'];

$SeguroNumero = $_POST['SeguroNumero'];

$SeguroValidade = $_POST['SeguroValidade'];

$SeguroAnexo = $_POST['SeguroAnexo'];

$FinancasValidade = $_POST['FinancasValidade'];

$FinancasAnexo = $_POST['FinancasAnexo'];

$SocialValidade = $_POST['SocialValidade'];

$SocialAnexo = $_POST['SocialAnexo'];

$RenumeracaoValidade = $_POST['RenumeracaoValidade'];

$RenumeracaoAnexo = $_POST['RenumeracaoAnexo'];

$InstaladorNumero = $_POST['InstaladorNumero'];

$InstaladorValidade = $_POST['InstaladorValidade'];

$InstaladorAnexo = $_POST['InstaladorAnexo'];

$MontadorNumero = $_POST['MontadorNumero'];

$MontadorValidade = $_POST['MontadorValidade'];

$MontadorAnexo = $_POST['MontadorAnexo'];

Imagina que falta : AlvaraNumero, AlvaraValidade e Alvara Anexo.

E eu quero que numa pagina Html mostre todos os que nao estao completamente preenchidos e noutra pagina os que estão totalmente preenchidos

Fui mais claro?

Share this post


Link to post
Share on other sites
I-NOZex

sim :)

podes fazer algo deste genero, testa:

$falta = array();
$preenchido = array();
foreach ($_POST as $input => $value){
if(isset($value) && $value != ""){
		$preenchido[] = $input;
}else{
		$falta[] = $input;
}
}

depois podes usar as sessions para acederes as arrays noutras paginas (ou usar parametro get, com json ou serialize ;) )

Edited by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
klasss

Esclarece-me uma duvida Sff

Esse codigo php criou numa pagina nova ? Ou no html?

e com isso posso por exemplo:

O alvaraNumero,AlvaraValidade e AlvaraAnexo nao foram preenchidos eu quero que ele mostre numa pagina a dizer "Falta".

e ter outra que falta so o AlvaraNumero e ele va parar a uma pasta de NumeroFalta.

Consigo fazer isso?

Edited by klasss

Share this post


Link to post
Share on other sites
I-NOZex

depois podes usar as sessions para acederes as arrays noutras paginas (ou usar parametro get, com json ou serialize ;) )

o codigo que apresentei é uma forma de separar o que foi preenchido do que está em falta

depois para enviares para outras paginas, usa uma das formas que citei :thumbsup:


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
klasss

Aquilo que me disseste vou fazer a seguir.

agora estou a fazer uma pagina para exibir todos os dados.

<?php

include("conectar.php");

$sql = mysql_query("Select * From tb_Principal");

while($exibe = mysql_fetch_assoc($sql));

echo $exibe["id"];

echo $exibe["Nome"];

echo $exibe["Morada"];

echo $exibe["Tipo"];

?>

Está algo errado nesse codigo? Que ele nao me mostra valor nenhum?

Share this post


Link to post
Share on other sites
I-NOZex

nao é ; mas sim chavetas { }

while($exibe = mysql_fetch_assoc($sql)){
echo $exibe["id"];
echo $exibe["Nome"];
echo $exibe["Morada"];
echo $exibe["Tipo"];
}

mas neste caso o while nem faz nada, pois so existe um campo id, um capo nome, ect, basta meteres :

$exibe = mysql_fetch_assoc($sql)

seguido dos echo's

Edited by I-NOZex

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


Link to post
Share on other sites
klasss

<?php

include("conectar.php");

$sql = mysql_query("Select * From tb_Principal");

$exibe = mysql_fetch_assoc($sql)

echo $exibe["id"];

echo $exibe["Nome"];

echo $exibe["Morada"];

echo $exibe["Tipo"];

?>

da-me erro no DreamWeaver na linha a negrito

Share this post


Link to post
Share on other sites
oxyzero

da-me erro no DreamWeaver na linha a negrito

$exibe = mysql_fetch_assoc($sql)

Não falta aqui um ponto e vírgula? Ou foi falha a passar para aqui?

Share this post


Link to post
Share on other sites
klasss

Resolvido a parte de mostrar todos :)

Agora falta-me a parte de dividar a informação

Edited by klasss

Share this post


Link to post
Share on other sites
I-NOZex

isso é facil.

como disse podes passar por parametro get, fazendo um serialize ou encode json á array

ou podes fazer uso das variaveis session

uma vez que é uma array, se fosse eu a fazer, acho que provavelmente iria usar a variavel session


B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net

Share this post


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.