duarte69 0 Denunciar post Postado Maio 5, 2008 Boas, estou de volta com os meus problemas, desta vem em php. Tenho este formulário em html: CODE <head> <meta http-equiv="Content-Language" content="pt"> </head> <p> <br> </p> <form method="POST" action="inserir_reg.php"> <p>Nome: <input type="text" name="nome" size="20"></p> <p>Morada: <input type="text" name="morada" size="20"></p> <p>Telefone: <input type="text" name="telefone" size="20"></p> <p><input type="submit" value="Submeter" name="B1"><input type="reset" value="Repor" name="B2"></p> </form> O formulário chama o ficheiro com este código em php: CODE <?php function erro (){ echo ("Dados em falta"); } function inserir(){ $nome=$_POST['nome']; $morada=$_POST['morada']; $telefone=$_POST['telefone']; //inserir registo $dblink = mysql_connect($localhost) or die( 'Erro de conexão com o MySQL' ); mysql_select_db(trabalho,$dblink); $sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')"; mysql_query( trabalhado, $sql ); mysql_close(); } //verificar se todos os valores foram introduzidos if ($_POST['nome']) { if ($_POST['email']){ if ($_POST['telefone']) inserir(); else erro(); } else erro(); } else erro (); ?> O problema é que os registo não são inseridos, não sei o que está mal. O nome da bd é "trabalho" e a tabela onde quero inserir dados é "trabalhadores" e tem 4 campos (id - aut-incremento, nome, morada e telefone). Já agora, depois de inserir os dados preciso de os imprimir, como se faz isso? Desde já agradeço a vossa ajuda. Cumps duarte69 Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Maio 5, 2008 o problema esta no mysql_querry sintax é mysql_query ( string $query [, resource $link_identifier ] ) substitua mysql_query( trabalhado, $sql ); por mysql_query($sql, $dblink); Compartilhar este post Link para o post Compartilhar em outros sites
duarte69 0 Denunciar post Postado Maio 5, 2008 Obrigado pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Mas agora diz que os dados não estão inseridos, ou seja, ou não está a passar os dados ou está outra coisa mal. Alguém sabe o que é?? :wacko: Cumps Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Maio 5, 2008 outra coisa conexao substitua $dblink = mysql_connect($localhost) or die( 'Erro de conexão com o MySQL' ); ai você informa usuario e senha pra conectar no banco mysql_connect('localhost', 'mysql_user', 'mysql_password'); tambem mysql_select_db("trabalho",$dblink); passa na funcao tambem os parametros function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){ $nome=$_POST['nome']; $morada=$_POST['morada']; $telefone=$_POST['telefone']; . . . } e para chamar funcao mesma coisa inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']); acho que agora vai :D Compartilhar este post Link para o post Compartilhar em outros sites
duarte69 0 Denunciar post Postado Maio 5, 2008 Boas, Está a dar erro na função que deste(function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){ ) diz '('expecting')' não percebi bem onde devo meter a função nem onde a devo chamar, sou novo nisto :wacko: Já agora 'mysql_user', 'mysql_password' , fica assim ou tenho que meter o meu username e pass? Cumps Compartilhar este post Link para o post Compartilhar em outros sites
Fabiano Carloto 0 Denunciar post Postado Maio 5, 2008 Cara, Tente colocar o nome das colunas que você quer inserir. Tente trocar: $sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')"; por $sql = "INSERT INTO trabalhadores (nome. morada, telefone) VALUES ('$nome','$morada','$telefone')"; flws http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Maio 5, 2008 voce deve substituir o usuario e senha do banco <?php function erro (){ echo ("Dados em falta"); } function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){ $nome = $_POST['nome']; $morada = $_POST['morada']; $telefone = $_POST['telefone']; //inserir registo $dblink = mysql_connect('localhost', 'mysql_user', 'mysql_password') or die( 'Erro de conexão com o MySQL' ); //selecionar banco de dados mysql_select_db("trabalho",$dblink); $sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')"; mysql_query( trabalhado, $sql ); mysql_close(); } //verificar se todos os valores foram introduzidos if ($_POST['nome'] && $_POST['email'] && $_POST['telefone']){ inserir(); } else{ erro(); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
duarte69 0 Denunciar post Postado Maio 5, 2008 Penso que assim já trabalha, esqueci-me das coisas na escola, amanhã experimento e digo se trabalha. Obrigado pela vossa ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Cumps Compartilhar este post Link para o post Compartilhar em outros sites
duarte69 0 Denunciar post Postado Maio 8, 2008 Boas, Isto está a dar um erro nesta linha: function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){ O erro é o seguinte: Parse error: syntax error, unexpected '[', expecting ')' in C:\xampp\htdocs\trabalho_php\inserir_reg.php on line 6 Se alguém poder ajudar agradecia. Cumps Compartilhar este post Link para o post Compartilhar em outros sites
msantino 0 Denunciar post Postado Maio 8, 2008 oi amigo.... tenta tirar os parametros da função, deixando apenas : function inserir(). eu testei aqui e deu certo, incluiu os dados direitinho no banco... qualquer coisa estamos aew Boas, Isto está a dar um erro nesta linha: function inserir($_POST['nome'], $_POST['morada'], $_POST['telefone']){ O erro é o seguinte: Parse error: syntax error, unexpected '[', expecting ')' in C:\xampp\htdocs\trabalho_php\inserir_reg.php on line 6 Se alguém poder ajudar agradecia. Cumps Compartilhar este post Link para o post Compartilhar em outros sites
duarte69 0 Denunciar post Postado Maio 9, 2008 Boas, Obrigado pela ajuda. O meu código está assim: <?php function erro (){ echo ("Dados em falta"); } function inserir(){ $nome = $_POST['nome']; $morada = $_POST['morada']; $telefone = $_POST['telefone']; //inserir registo $dblink = mysql_connect('localhost', 'root', '') or die( 'Erro de conexão com o MySQL' ); //selecionar a base de dados mysql_select_db("trabalho",$dblink); $sql = "INSERT INTO trabalhadores VALUES ('','$nome','$morada','$telefone')"; mysql_query( trabalhado, $sql ); mysql_close(); } //verificar se todos os valores foram introduzidos if ($_POST['nome'] && $_POST['morada'] && $_POST['telefone']){ inserir(); } else{ erro(); } ?> Mas está a dar erro na linha a negrito, Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\trabalho_php\inserir_reg.php on line 17 Se eu substituir por mysql_db_query, já não dá erro, mas também não insere :S Desculpem estar a ser chato mas não consigo encontrar nenhum erro. Cumps Compartilhar este post Link para o post Compartilhar em outros sites
duarte69 0 Denunciar post Postado Maio 9, 2008 Boas, o programa já trabalha, obrigado a todos pela ajuda. Cumps Compartilhar este post Link para o post Compartilhar em outros sites