Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucky007

Php

Recommended Posts

Olá pessoal, estou tendo um problema aqui, fiz um formulário(form) pra pessoa digitar o CPF e enviar pra tabela do banco de dados mas o número inserido(INSERT) na tabela é diferente do digitado, o que está acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao crie títulos com "Dúvida".

Detalhe melhor o seu problema(erros etc).

Poste a parte do código que você recebe os dados e faz o "insert".

 

@Lucas Lima essa bola de cristal deveria ser mascote aqui do fórum. :innocent:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código do index.html segue abaixo:

 

dentro de um form, abri uma table e tem essa informação:

 

<tr>
<td>CPF</td>
<td><label for="cpf"></label>
<input type="text" name="cpf" id="cpf" /></td>
</tr>
no código php ta assim:
$nome = $_POST['nome'];
$cargo = $_POST['cargo'];
$cpf = $_POST['cpf']; <-------------------------------------
$time = $_POST['time'];
$cidade = $_POST['cidade'];
$brasil = $_POST['brasil'];
$query = "INSERT INTO $tabela VALUES
('NULL',
'$nome',
'$cargo',
'$cpf', <---------------------------------------------
'$time',
'$cidade',
'$brasil')";
onde foi que errei?
é claro que tem mais código no html e no php
o tipo ta
INT e tem espaço pra 11 caracteres

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado pessoal pelas dicas, vou melhorar meus posts e estou gostando muito deste forum, to gostando mesmo.



agora foi pessoal, brigado, mudei de INT para VARCHAR.

só não entendo pq o INT que era pra guardar números está dando esse erro.

alguém podeira me explicar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

só não entendo pq o INT que era pra guardar números está dando esse erro.

 

pq no caso dentro da sql o adequado seria apontar a variável como número, ou seja, sem aspas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa.. olha.. n mexa, deixe campos como CPF,

nº de telefone, CEP etc. como varchar mesmo..

numeros reserve para colunas com conteúdo q vc irá utilizar em cálculos (quantidades):

salarios, porcentagens, preços, descontos, participantes, alunos, inscritos etc. ok?

aqui tem umas dicas legais:
http://www.php.net/manual/pt_BR/language.types.php
aproveitando: qdo criar os titulos d seus tópicos,
evite palavras como "ajuda", "urgente", "PHP" (o forum já é d PHP)..
colabore c/ o forum dando 1 olhada aqui, ta?
sucesso e disponha... :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

CPF tem 11 dígitos.

 

O tipo INT no MySQL não suporta essa quantidade.

Modifique para BIGINT caso queira manter o valor como numérico inteiro.

https://dev.mysql.com/doc/refman/5.1/en/integer-types.html

 

Outra sugestão simples é conforme comentaram acima, modificar para CHAR (11)

 

 

off: Não monte a query SQL dessa forma sem fazer tratamento dos dados.

Note que o usuário ainda pode inserir caracteres inválidos, intensionalmente ou não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

brigado hinom e tenho outra dúvida, olha só me código pra upload de imagens:

 

<?php

 

$_UP['pasta'] = 'upload';

$_UP['tamanho'] = 1024 * 1024 * 2;

$_UP['tipo'] = array('png', 'gif', 'jpeg', 'jpg'); <--------------------------------------------------------------------------------------------------

$_UP['renome'] = false;

 

$_UP['erro'] [0] = "Não houve erro.";

$_UP['erro'] [1] = "O arquivo do upload é maior do que o loimite do PHP.";

$_UP['erro'] [2] = "O arquivo ultrapassa o limite do tamanho especificado.";

$_UP['erro'] [3] = "O upload foi feito parcialmente.";

$_UP['erro'] [4] = "Não foi feito upload do arquivo.";

 

if ($FILES['arquivo']['erro'] != 0){

die ("Não foi possível realizar o upload por causa do seguinte erro: <br>"

.$_UP['erro'] [$_FILES['arquivo']['error']]);

exit;

}

$tipo = strtolower(end(explode('.', $_FILES['arquivo']['nome'])));

if (array_search($tipo, $_UP['tipo']) === false){ <--------------------------------------------------------------------------------------------------

echo "Favor enviar arquivo com as extensões: gif, jpeg, png ou jpg<br>"; <-----------------------------------------------------------------

}else if ($_UP['tamanho'] < $_FILES['arquivo']['size']){

echo "O arquivo é maior que 2 mb.";

}else{

if ($_UP['renome'] == true){

$nome_final = time.'.jpg';

}else{

$nome_final = $_FILES['arquivo']['nome'];

}if(move_uploaded_file($_FILES['arquivo']['tmp_name'], $_UP['pasta'].$nome_final)){

echo "Upload realizado com sucesso!";

echo '<br><a href="'.$_UP['pasta'].$nome_final.'">

Clique aqui para acessar a imagem</a>';

}else{

echo "Não foi possível enviar o arquivo, tente novamente.";

}

}

include ('conecta.php');

$query = "INSERT INTO $fotos VALUES(

'null',

'nome')";

if (mysql_db_query($banco, $query, $conexao)){

echo "Envia da com sucesso.";

echo "<meta http-equiv='refresh', content='5, URL=http://lidernatocardgame.com.br'>";

}else{

echo "Não foi enviado.";

echo "<meta http-equiv='refresh', content='5, URL=http://lidernatocardgame.com.br'>";

}

?>

 

ta dando que não foi feito o upload por causa da extensão da imagem, e agora?

no que eu errei? no banco de dados a coluna nome onde fica as imagens ta em VARCHAR e já tem a pasta upload

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.