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

y0ruichi

Problema PHP- pagina de Registo

Mensagens Recomendadas

y0ruichi

Boas.

Estou a fazer um projecto que um dos problemas consiste em efectuar o registo de clientes...mas não trabalho com o php a mais de 1 mês, ou seja, as duvidas são muitas..

E o meu problema é o seguinte: Fiz a pagina de "registo",e uma de "pedido_registo" (ja com o log in feito), mas não consigo registar(não envia os dados para a base de dados) e não consigo controlar os dados não preenchido.

Aqui está o codigo

Registo

 <form method="POST" action="pedido_registo.php"> <table>
					<tr>
						<td><strong><span class="style1">Nome:</span></strong></td> 
						<td><input name="nome" type="text" size="20" maxlength="45"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">Morada:</span></strong></td> 
						<td><input name="morada" type="text" size="20" maxlength="45"></td>
						<tr>
						<td><strong><span class="style1">Número de Contribuinte:</span></strong></td> 
						<td><input name="contribuinte" type="text" size="20" maxlength="9"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">Telefone ou Telemovel:</span></strong></td> 
						<td><input name="telefone" type="text" size="20" maxlength="9"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">E-mail:</span></strong></td> 
						<td><input name="email" type="text" size="20" maxlength="45"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">Data de nascimento:</span></strong></td> 
						<td><input type="text" name="data_nasc" size="20"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">Bilhete de Identidade:</span></strong></td> 
						<td><input name="bi" type="text" size="20" maxlength="9"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">Username:</span></strong></td> 
						<td><input name="username" type="text" size="20" maxlength="45"></td>  
					</tr>
					<tr>
						<td><strong><span class="style1">Password:</span></strong></td> 
						<td><input name="password" type="password" size="20" maxlength="45"></td>  
					</tr>
</table>

<p align="center"> 
<INPUT TYPE="SUBMIT" VALUE="Registar" ONCLICK="pedido_registo.php'">  
</p>

</form></div>
<?php

	if(isset($erro)) echo "<p><font color=\"#FFFFFF\" >$erro\n</font></p>";			


?>

pedido_registo

<?php 
	if !$_POST['nome']) || !$_POST['morada']) || !$_POST['contribuinte']) || !$_POST['telefone']) || !$_POST['email']) || !$_POST['data_nasc']) || !$_POST['bi']) || !$_POST['username']) || !$_POST['password']) 
	{
	header("Location:.../Registo.php" ); 

	}
?>

<?php
$dbHost = "...."; 
$dbUser = "fabiopalma"; 
$dbPass = "fabiopalma"; 
$dbDatabase = "projecto"; 
//connet to the database 
echo 'teste';
$db = mysql_connect("$dbHost", "$dbUser", "$dbPass") or die ("Erro ao conectar à base de dados.");

mysql_select_db("$dbDatabase", $db) or die ("Couldn't select the database.");
$aux= "insert into cliente (nome, morada, contribuinte, telefone, email, data_nasc, bi, user, pass) values('".$_POST['nome']."','".$_POST['morada']."',".$_POST['contribuinte'].",".$_POST['telefone'].",'".$_POST['email']."',".$_POST['data_nasc'].",".$_POST['bi'].",'".$_POST['user']."','".$_POST['pass']."')";
echo $aux;
if(!mysql_query($aux, $db)) 
//header("Location:.../erro.php");	
//check that at least one row was returned 
mysql_close($db);
header("Location:.../Registo.php");
?> 

retirei os links do servidor, não levem a mal, mas o servidor é do meu professor e la está mais informações. Se me puderem ajudar agradecia.

😳

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

<?php 
                if !$_POST['nome']) || !$_POST['morada']) || !$_POST['contribuinte']) || !$_POST['telefone']) || !$_POST['email']) || !$_POST['data_nasc']) || !$_POST['bi']) || !$_POST['username']) || !$_POST['password']) 
                {
                header("Location:.../Registo.php" ); 
                
                }
?>

Em relação a esta linha de código, não estás a dizer grande coisa. Se o teu objectivo era verificar se os campos estavam vazios, experimenta algo:

If (empty($_POST['nome'])) || .... {
// aparece uma mensagem do género "Preencha todos os campos obrigatórios;
}else{
// metes aqui o código do php de inserir os dados na base de dados;}

Btw, não tens host? Não tens nenhum servidor a correr? Wamp, Xamp ? Se sim, tens que por na linha:

$dbHost = "...."; 

isto:

$dbHost = "localhost"; 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
y0ruichi

"tenho" host. Apenas retirei porque contem muita informação e n é meu =\ e a pessoa pode levar a mal.

Obrigado vou tentar

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Andre025

Boa noite estou a fazer uma pagina de registo em php, e o problema é que nao grava para a base de dados.

eu segui o tuturial que esta neste forum.

Que é um tutorial de login.

http://wiki.portugal-a-programar.pt/dev_web:php:criar_login_basico

se algum me pudesse ajudar com o codigo, estou a usar wampserver.

<?


if($_POST) {
   include("registo.php");// Olha aqui onde anda nossa conexão
  
   $nome = $_POST["nome"]; // Criamos aqui as variáveis que irão receber os dados e que então serão enviados para o banco de dados, as variáveis devem ser do tipo post
   $login = $_POST["username"]; // Idem anterior
   $senha = $_POST["password"]; // Idem anterior
  
   if (empty($username)){
      die("Voce deve preencher o Campo nome");
   }

   
   if (empty($password)){ 
      die("Escolha uma senha");
   
   }
  
            
   mysql_query("INSERT INTO users (nome, senha) VALUES ('$username', '$password')");    
   echo "Parabéns seu cadastro foi realizado com sucesso";
  //Aqui faremos a inserção dos dados para o banco de dados      
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equ   iv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cadastro</title></head>

<body>
<table width="100%" border="0">
  <tr>
    <td bgcolor="#FF6600"> </td>
  </tr>
  <tr>
    <td><map name="Map" id="Map">
        <area shape="poly"
coords="16,50,75,54,109,54,151,53,211,51,213,29,133,29,121,20,74,18,29,15,19,13" href="html/index.html" />
    </map></td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF"><strong>
    <h3> Preencha todos os dados corretamente e depois clique no botão
'Enviar' para fazer seu cadastro . </h3>
    </strong> </td>
  </tr>
  <tr>
    <td bgcolor="#000000">:: Formulário de registro. </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF"><br />
    <br />
      
   <table align="left" border="0" bgcolor="#CCCCCC">
    <tr>
      <td>
     <form action="" method="post"><!--Todos os campos dos formulários
devem receber o mesmo nome que as variáveis respectivas, caso contrário
os dados não serão inseridos no banco de dados -->
       <div align="left">
         <!-- Form  ( note que os campos tem o mesmo nome do banco de
dados)-->
         Digite seu nome:<br>
         <input type="text" name="nome">
         <br><br>
         <!-- Esse campo deve retornar uma mensagem de erro caso o nome não seja igual e idêntico aos dados do campo anterior a este  -->
         Escolha uma senha:<br>
         <input type="password" name="password" />
         <br>
         <br><br>
        
         <input type="submit" value="Enviar" name="enviar" >
      
       </div>
     </form>
       </td>
     </tr>
    </table>
  </td>
</tr>
</table>
</body>
</html>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mind

Na tabela de users tens ID AI?

Já experimentaste fazer echo à query, em vez de mandar directamente para o mysql_query?.. Copias e metes no phpmyadmin e vês o erro que ele dá.

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.