• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

midnight2k

Ajuda a iniciante :X

7 mensagens neste tópico

bom criei um formulario para enviar dados para a base de dados mysql atraves de um script .php o meu problema é que ele esta a dar o seguinte erro

Parse error: parse error in c:\programas\easyphp1-8\www\inserirauto.php on line 26

o ficheiro html esta assim

<html>
<title>Formulario - Inserir dados a enviar</title>




<script>

function.avaliar(frm) {

if (frm.matricula.value==" " || frm.nome.value==" " || frm.modelo.value==" " || frm.cor.value==" ") {
alert("É necessário preencher os campos");
return(false); }
else if (isNaN(frm.p_aluguer.value)) {
alert("O preço tem de ser um número (em euros)");
return(false); }
else
return(true);
}
</script> </head> 
<body>
<h2> Dados a enviar </h2>
<form name="formd" method="post"
action="http://localhost/inserirauto.php"
onsubmit = "return avaliar(formd)">
<table border=0>
<tr> <td> Matricula: </td>
	<td> <input type="text" name="matricula">
<tr> <td>Marca: </td>
	<td> <input type="text" name="marca">
 <tr> <td>Modelo: </td>
	<td> <input type="text" name="modelo">
<tr> <td>Cor: </td>
	<td> <input type="text" name="cor">
<tr> <td>Combustivel: </td>
	<td> <select name="lista">
	<option>  Diesel </option>
	<option> Elétrico </option>
	<option> Gasolina </option>
	<option> Híbrido </option>
	<option> Hidrogenio </option>
	<option> Gás Natural </option>
	<option> Gás LPG </option> </select>
<tr> <td>Preço Aluguer (por dia em €): </td>
	<td> <input type="text" name="p_aluguer">	
</table> <p>
<input type="reset" value="Apagar dados">
<input type="submit" value="Enviar dados">
</form>
<p>
<p>
<a href="pesquisar.htm">Pesquisar Registos</a><p>
<a href="listar.php">Listar automóveis</a><p>
<a href="aluguer.htm">Novo aluguer</a><p>
</body>
</html>

e o ficheiro inserirauto.php esta assim

<?php
$matricula = $_POST['matricula'];
$marca = $_POST['marca'];
$modelo = $_POST['modelo'];
$cor = $_POST['cor'];
$combustivel = $_POST['combustivel'];
$p_aluguer = $_POST['p_aluguer'];
if (!$matricula || !$marca || !$modelo || !$cor || !$combustivel || !$p_aluguer) {
echo 'Campos em falta.
Volte atrás e tente de novo.' ; exit;}
echo 'Dados recebidos: <br />';
echo 'Matricula: ' .$matricula. '<br />';
echo 'Marca: ' .$marca. '<br />';
echo 'Modelo: ' .$modelo. '<br />';
echo 'Cor: ' .$cor. '<br />';
echo 'Combustivel: ' .$combustivel. '<br />';
echo 'Preço aluguer: ' .$p_aluguer. 'euros <br />';
$ligax = mysqli_connect('localhost', 'root', 'x');
if (!$ligax)
{echo '<p> Erro: Falha na ligação.'; exit;}
mysqli_select_db($ligax, 'aluguer');
$insere = "insert into Carros values
----------------------------------------------------------------------->	(' ".$matricula." ' , ' ".$marca." ' , ' ".$modelo." ' , ' ".$cor." ' , ' ".$combustivel" ' , ' ".$p_aluguer" ' ) ";
$result = mysqli_query($ligax, $insere);
if ($result==1) echo "<p>Dados inseridos<br>";
else "<p>Dados não inseridos<br>";
?>

ele esta a referir-se a linha em destaque do codigo como erro mas pelo que vejo esta tudo bem -.- alguem sabe o que esta mal no codigo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Faltava-te um ponto a seguir ao $combustivel e ao $p_aluguer

<?php
$matricula = $_POST['matricula'];
$marca = $_POST['marca'];
$modelo = $_POST['modelo'];
$cor = $_POST['cor'];
$combustivel = $_POST['combustivel'];
$p_aluguer = $_POST['p_aluguer'];
if (!$matricula || !$marca || !$modelo || !$cor || !$combustivel || !$p_aluguer) {
echo 'Campos em falta.
Volte atrás e tente de novo.' ; exit;}
echo 'Dados recebidos: <br />';
echo 'Matricula: ' .$matricula. '<br />';
echo 'Marca: ' .$marca. '<br />';
echo 'Modelo: ' .$modelo. '<br />';
echo 'Cor: ' .$cor. '<br />';
echo 'Combustivel: ' .$combustivel. '<br />';
echo 'Preço aluguer: ' .$p_aluguer. 'euros <br />';
$ligax = mysqli_connect('localhost', 'root', 'x');
if (!$ligax)
{echo '<p> Erro: Falha na ligação.'; exit;}
mysqli_select_db($ligax, 'aluguer');
$insere = "insert into Carros values
(' ".$matricula." ' , ' ".$marca." ' , ' ".$modelo." ' , ' ".$cor." ' , ' ".$combustivel." ' , ' ".$p_aluguer." ' ) ";
$result = mysqli_query($ligax, $insere);
if ($result==1) echo "<p>Dados inseridos<br>";
else "<p>Dados não inseridos<br>";
?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol burrice minha sry pois bem agora da-me este erro

Notice: Undefined index: combustivel in c:\programas\easyphp1-8\www\inserirauto.php on line 9

LINE 9

$combustivel = $_POST['combustivel'];

deve ser por eu ter metido o campo combustivel como select option o que devo mudar entao e onde? :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tu tens <select name="lista">, logo tens de usar $_POST['lista'] e nao $_POST['combustivel'];

$combustivel = $_POST['lista'];

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tu tens <select name="lista">, logo tens de usar $_POST['lista'] e nao $_POST['combustivel'];

$combustivel = $_POST['lista'];

exactamente era isso mesmo obrigado pela ajuda :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas de novo

bom agora estou aqui confuso com uma duvida que me surgiu é assim agora estou na parte de construir um formulario para novo aluguer, tudo bem, mas o problema esta nos campos em que o cliente da aplicaçao escolhe o carro que quer alugar da option list...

ou seja quero fazer uma option list com os carros que estao disponiveis na base de dados. é possivel? como posso fazer isso?  deixo aqui o codigo do formulario para ver se pode ajudar :\

<h2> Dados a enviar </h2>
<form name="formd" method="post"
action="http://localhost/novoaluguer.php"
onsubmit = "return avaliar(formd)">
<table border=0>
<tr> <td>BI: </td>
	<td> <input type="text" name="BI">
<tr> <td>Nome: </td>
	<td> <input type="text" name="nome">
 <tr> <td>Morada: </td>
	<td> <input type="text" name="morada">
<tr> <td>Telefone: </td>
	<td> <input type="text" name="telefone">
<tr> <td>Marca: </td>
	<td> <select name="marca">
	<option>  (AQUI É ONDE QUERO QUE APARECE OS CARROS DISPONIVEIS NA BASE DE DADOS) </option>
	 </select>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites


<h2> Dados a enviar </h2>
<form name="formd" method="post"
action="http://localhost/novoaluguer.php"
onsubmit = "return avaliar(formd)">
<table border=0>
<tr> <td>BI: </td>
	<td> <input type="text" name="BI">
<tr> <td>Nome: </td>
	<td> <input type="text" name="nome">
 <tr> <td>Morada: </td>
	<td> <input type="text" name="morada">
<tr> <td>Telefone: </td>
	<td> <input type="text" name="telefone">
<tr> <td>Marca: </td>
	<td> <select name="marca">
	<option>  
$sql="select * from carros'";
$resultado=mysql_query($sql) or die (mysql_error());
$linhas=mysql_num_rows($resultado);

while($escreve=mysql_fetch_array($resultado))
echo "$escreve[marca] ";
}
</option>
	 </select>

0

Partilhar esta mensagem


Link 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