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

Sign in to follow this  
y0ruichi

Problema PHP- pagina de Registo

Recommended Posts

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.

😳

Share this post


Link to post
Share on other 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"; 

Share this post


Link to post
Share on other sites
y0ruichi

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

Obrigado vou tentar

Share this post


Link to post
Share on other 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>

Share this post


Link to post
Share on other 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á.

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
Sign in to follow this  

×

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.