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

scpgirl28

PHP nao regista

Mensagens Recomendadas

scpgirl28

pessoal preciso de ajuda... tenho um codigo de PHP mas nao consigo registar clientes...preciso de ajuda!!!:

<?php
$host="it.integrale.com.pt";              // Nome do Servidor
$username="scpgirl";             // mysql username
$password="scpgirl";                   // Mysql password (Se a BD tiver alguma password)
$database="stand_tsl";    // nome da bd
$tbl_name="clientes";            // nome da tabela

// Guarda os valores inseridos nas textboxs do form. 
$nome=$_POST['txt_nome'];
$username=$_POST['txt_user'];
$password=$_POST['txt_pass'];
$codigo_postal=$_POST['txt_cc'];
$codigo_postal2=$_POST['txt_cc2'];
$morada=$_POST['txt_morada'];
$email=$_POST['txt_mail'];
$tlm=$_POST['txt_tlm'];
$BI=$_POST['txt_bi'];

//Estas variáveis vão ficar com os valores q foram inseridos nas textboxes pelo utilizador

$con=mysql_connect("$host", "$dbusername", "$dbpassword") or die("A ligação à base de dados falhou!");
mysql_select_db($database) or die("Falha ao selecionar a base de dados!");

$result=mysql_query("INSERT INTO clientes(nome_cliente,username,password,codigo_postal,codigo_postal2,morada,email,tlm,bi) VALUES ('$nome','$username','$password','$codigo_postal','$codigo_postal2','$morada','$email','$tlm','$bi')");

if(| $password =="" || $username=="" || $nome==""||$codigo_postal==""| |$codigo_postal2==""||$morada==""||$email==""||$tlm ==""){
?>
<script language="javascript">
   alert("Inseriu dados incorrectos no registo");
   window.open("http://it.integrale.com.pt/~scpgirl/carros/registo.php","_self");
   
</script>
<?php
}else if($result==FALSE){
      ?>
      <script language="javascript"> 
      alert("USer ja existe");
      window.open("http://it.integrale.com.pt/~scpgirl/carros/registo.php","_self");
      </script><?php
   }else{  
?>
   <script language="javascript">
   //Se o login estiver incorrecto aparece a mensagem ..
   alert("Registo efectuado.");
   window.open("http://it.integrale.com.pt/~scpgirl/carros/logar.php","_self");
   </script>
   <?php                 

}
mysql_close($con); 
?>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

scpgirl28, coloca as tuas dúvida e problemas de forma concreta e clara, não podes esperar que alguém vá replicar o teu sistema para testar esse pedaço de PHP.

Não consegues porquê? Dá um erro? Já fizeste debug?


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Conselho: quando não sabes o que está mal, faz echo do que está a falhar; neste caso, fazias echo de $result.

O mais provável é ser o teu campo password; é que password é uma palavra reservada do MySQL. Experimenta colocá-la entre backticks (é isto: `` são acentos graves), ou então mudar o nome do campo.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scpgirl28

eu tou a criar um site no Dreamweaver...(um portal de um stand de automoveis) e depois de preencher todos os campos e carregar no botão de Registar nao acontece nada... nao aparece mensagem de erro... nao redireciona para lado nenhum... é como se nao realizasse qualquer acçao

<!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-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Stand TSL</title>

<link href="style.css" rel="stylesheet" type="text/css" />

<style type="text/css">

<!--

#apDiv6 {

position:absolute;

left:303px;

top:217px;

width:324px;

height:133px;

z-index:1;

}

#apDiv7 {

position:absolute;

left:472px;

top:214px;

width:319px;

height:54px;

z-index:1;

}

.style7 {font-size: 36px}

#apDiv8 {

position:absolute;

left:461px;

top:275px;

width:132px;

height:302px;

z-index:2;

}

.style8 {

font-size: 14px

}

#apDiv9 {

position:absolute;

left:602px;

top:278px;

width:321px;

height:331px;

z-index:3;

}

-->

</style>

</head>

<body onload="MM_preloadImages('images/localizacao001.png','images/login.png','images/pesquisa.png','images/inicio001.png','images/carros001.png','images/contactos.png','images/marcacoes2.png')">

<div class="style7" id="apDiv7">

  <div align="center">Registar</div>

</div>

<div id="apDiv8">

  <p align="right" class="style8"><strong>Nome:</strong></p>

  <p align="right" class="style8"><strong>Username:</strong></p>

  <p align="right" class="style8"><strong>Password:</strong></p>

  <p align="right" class="style8"><strong>Codigo - postal:</strong></p>

  <p align="right" class="style8"><strong>Morada:</strong></p>

  <p align="right" class="style8"><strong>E-mail:</strong></p>

  <p align="right" class="style8"><strong>Tlm:</strong></p>

  <p align="right" class="style8"><strong>BI:</strong></p>

  <p> </p>

</div>

<div id="apDiv9">

  <form id="form1" name="form1" method="post" action="">

    <p>

      <input type="text" name="txt_nome" id="txt_nome" />

    </p>

    <p>

      <input type="text" name="txt_user" id="txt_user" />

      </p>

    <p>

      <input type="password" name="txt_pass" id="txt_pass" />

    </p>

    <p>

      <input name="txt_cc" type="text" id="txt_cc" size="4" maxlength="4" />

      -

      <input name="txt_cc2" type="text" id="txt_cc2" size="4" maxlength="3" />

    </p>

    <p>

      <input type="text" name="txt_morada" id="txt_morada" />

    </p>

    <p>

      <input type="text" name="txt_mail" id="txt_mail" />

    </p>

    <p>

      <input type="text" name="txt_tlm" id="txt_tlm" />

    </p>

    <p>

      <input type="text" name="txt_bi" id="txt_bi" />

    </p>

    <p>

  <input type="image" SRC="images/registar.png" name="registar" id="registar" value="Submit" onclick="this.form.submit(registar.php)" />

<input type="image" SRC="images/limpar.png" name="registar" id="registar"  value="limpar" />

    </form>

</div>

<div align="center">

  <table width="575" border="0" cellpadding="0" cellspacing="0">

    <!--DWLayoutTable-->

    <tr>

      <td width="700" height="127" align="center" valign="top"><p> </p>

      <p>      </p></td>

    </tr>

    <tr>

      <td height="28" align="center" valign="top"><p align="center"><a href="inicio.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image11','','images/inicio001.png',1)"></p>      </td>

    </tr>

    <tr>

      <td height="274" align="left" valign="top" class="tpl_body"><p> </p>

        <p> </p>

        <p> </p>

        <p> </p>

        <p> </p>

        <p> </p>

        <p> </p>

        <p><br />

        </p>      </td>

                </tr>

    <tr>

      <td height="204" align="left" valign="top" class="line"><!--DWLayoutEmptyCell--> </td>

    </tr>

    <tr>

      <td height="29" align="left" valign="top"><img src="images/footer.jpg" width="700" height="38" /></td>

    </tr>

    <tr>

      <td height="61" align="center" valign="top" class="footer2"><span class="style1"><a href="http://www.the-error.net" target="_blank" class="style1">Powered by TSL</a></span></td>

    </tr>

  </table>

</div>

</body>

</html>

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

scpgirl28, creio que não leste o que escrevi acima... Colocar aqui o HTML todo também não ajuda nada...

Não acontece nada porque o teu formulário tem o action vazio.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

scpgirl28, creio que não leste o que escrevi acima... Colocar aqui o HTML todo também não ajuda nada...

Não acontece nada porque o teu formulário tem o action vazio.

Exacto.

Contudo, não precisa de estar obrigatóriamente preenchido o formAction.

Basta checkares se o botão "registar" foi clicado, para isso:

if ($_POST['registar']){

// código do php para registar

Um conselho, é preferível usar:

(empty($_POST['nome']))

  » Para verificar se está ou não vazia a  textfield.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Mas para isso funcionar, bioshock, tem de se ter o action definido para essa página. :thumbsup:


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Scorch, como assim? Eu raramente definido o form action, só em situações em que crio o formulário em HTML.

A não ser que ele tenha feito isso..peço desculpa, percebi mal.

Pensei que os códigos estavam todos na mesma página.

Sendo assim tens que declarar o Form action scpgirl.

Obrigado pela rectificação scorch.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Ele criou o formulário em HTML. Em que mais poderia ser? :dontgetit:

De qualquer maneira, eu digo isto não por ser na mesma página ou não, mas sim porque ou muito me engano ou o browser só envia as informações do form se a action estiver definida. Não tenho a certeza se ela estiver em branco, o próprio browser aponta para a própria página. :thumbsup:

O código que deste está certo se o form apontar para a página em questão. :D


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Eu estava-me a referir a criar a página de formulário à parte. Caso ele tenha feito isso, então deve utilizar o Form action = "registo.php" (ex:)

Caso contrário, ou seja, caso ele tenha o formulário na página onde está o código php, não é obrigado a ter o Form action.

Basta utilizar aquele exemplo que eu dei do button.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

Sim, mas ele tem tudo em páginas diferentes. Por isso é que eu disse que a tua forma não funciona. E é muito mais simples definir a action do que estar a colocar tudo a mesma página, pelo que ficava tudo muito mais desorganizado, também. :thumbsup:


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Isso é relativo.

Se for um trabalho teu e que apenas e só tu mexas no código, de certa forma não terá grande importância em estar organizado ou não, desde que tu percebas.

Se for um trabalho em que outras pessoas visualizem o código que tu criaste, aí concordo que tem que haver uma certa organização para compreender melhor.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado
Isso é relativo.

Se for um trabalho teu e que apenas e só tu mexas no código, de certa forma não terá grande importância em estar organizado ou não, desde que tu percebas.

Olha que não, olha que não...

Deixa passar quinze dias a olhar para outro projecto qualquer, ou então voltares ao código passado um ano para acrescentar outra funcionalidade, e ficas logo a dar com a cabeça na parede por não teres organizado isso em termos.

Mas pronto, isto sou eu - não gosto nem um bocadinho de ver php misturado com html e é a única coisa que se vê por aqui...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
scorch

É como eu. Mas não nos vamos desviar do tema do tópico. :thumbsup:

@scpgirl28 Faz como o M6 disse e define o action do form.


scorch_pp.png

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

É como eu. Mas não nos vamos desviar do tema do tópico. :thumbsup:

@scpgirl28 Faz como o mjamado disse e define o action do form.

Não fui eu, foi o M6... A mim nem me passou pela cabeça que a action não estivesse setada...  :dontgetit:


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Se usares sempre o mesmo método de trabalho..sabes sempre o que fazer e onde encontrar. Trata-se de um processo repetitivo.

Contudo, eu também sou um pouco apologista de "formulários, etc" tudo em html e depois chama uma página php.

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.