1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[ajuda] gravar com o php

Discussão em 'Web Development' iniciada por pimpz, 17 de Fevereiro de 2008. (Respostas: 3; Visualizações: 491)

  1. pimpz

    pimpz Power Member

    boas eu estou a fazer um website onde os utilizadores se podem registar, mas na base de dados os campos aparecem em branco, alguem me pode ajudar?
    o codigo que tou a utilizar para testar e este:

    PHP:
    $conectar=mysql_connect(******,*****) or die ("Falhou ligar a base de dados...");
    $bdd=mysql_select_db(*******) or die ("Falhou..base de dados desconhecida....");
     if(
    mysql_query("INSERT INTO cliente (id,nome,pass)
        VALUES ('',
                   '" 
    .($_POST['nome'])."',
                ' "
    .($_POST['pass'])."')")){
         echo 
    "<script>alert(' :) Dados guardados com sucesso !')</script>"
         }else{
         echo 
    "<script>alert(' :( Ocorreu um erro na inserção dos dados !')</script>"
         }
      }
     
    Última edição pelo moderador: 17 de Fevereiro de 2008
  2. anjo2

    anjo2 Power Member

    Era bom mostrares como estás a enviar os dados.
     
  3. pimpz

    pimpz Power Member

    este e o formulario:

    Código:
    <form method="POST" action="admin.php" name="cliente">
        <table width="346" border="0" align="center">
                  <tr>
                    <td width="157">Cliente</td>
                    <td width="179"><input type="text" name="nome"></td>
                  </tr>
                   <tr>
                    <td>Senha</td>
                    <td><input type="password" name="pass"></td>
                  </tr>
                  <tr>
                    <td>Morada</td>
                    <td><input type="text" name="morada"></td>
                  </tr>
                  <tr>
                    <td>Telefone</td>
                    <td><input type="text" name="telefone" maxlength="9"></td>
                  </tr>
                  <tr>
                    <td>Telemovel</td>
                    <td><input type="text" name="telemovel" maxlength="9"></td>
                  </tr>
                  <tr>
                    <td>Nr. Contribuinte</td>
                    <td><input type="text" name="contribuinte"></td>
                  </tr>
                  <tr>
                    <td>E-mail</td>
                    <td><input type="text" name="mail"></td>
                  </tr>
                  <tr>
                    <td>Codigo Postal</td>
                    <td><input type="text" name="cp1" maxlength="4" size="7">
                      -
                        <input type="text" name="cp2" maxlength="3" size="7">
                    </td>
                  </tr>
                  <tr>
                    <td>Localidade</td>
                    <td><input type="text" name="localidade"></td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                  <tr>
                    <td>&nbsp;</td>
                    <td><input type="submit" onclick="<? guarda ();?>" value="Inserir"> <input type="reset" value="Limpar"></td>
                  </tr>
    </table>
        </form>
     
    Última edição pelo moderador: 20 de Fevereiro de 2008
  4. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não sei se será disto, mas troca para isto:
    PHP:
    $conectar=mysql_connect(******,*****) or die ("Falhou ligar a base de dados...");
    $bdd=mysql_select_db(*******) or die ("Falhou..base de dados desconhecida....");
     if(
    mysql_query("INSERT INTO cliente (`nome`,`pass`)
        VALUES ('" 
    .($_POST['nome'])."',
                '"
    .($_POST['pass'])."')")){
         echo 
    "<script>alert(' :) Dados guardados com sucesso !')</script>"
         }else{
         echo 
    "<script>alert(' :( Ocorreu um erro na inserção dos dados !')</script>"
         }
      }  
    Já agora, usa o mysql_real_escape_string porque esse query está passível de SQL Injection ;)

    edit - por outro lado, qual é a versão do PHP que estás a usar? Confirma lá se em vez do $_POST não tens de usar o $HTTP_POST_VARS. Em caso de dúvida, mete no admin.php
    PHP:
    echo "<pre>";
    echo 
    '$_POST:\n';
    print_r($_POST);
    echo 
    "<hr>";
    echo 
    '$HTTP_POST_VARS:\n';
    print_r($HTTP_POST_VARS);
    echo 
    "</pre>";
    Só para confirmar...
     
    Última edição: 17 de Fevereiro de 2008

Partilhar esta Página