iFull 0 Denunciar post Postado Julho 9, 2013 Galera, não to conseguindo cadastrar de jeito nenhum, não consigo resolver, poderiam me ajudar? Obrigado. <?php require("conect.php"); function validaCPF($cpf) { $cpf = str_pad(ereg_replace('[^0-9]', '', $cpf), 11, '0', STR_PAD_LEFT); if (strlen($cpf) != 11 || $cpf == '00000000000' || $cpf == '11111111111' || $cpf == '22222222222' || $cpf == '33333333333' || $cpf == '44444444444' || $cpf == '55555555555' || $cpf == '66666666666' || $cpf == '77777777777' || $cpf == '88888888888' || $cpf == '99999999999') { return false; } else { for ($t = 9; $t < 11; $t++) { for ($d = 0, $c = 0; $c < $t; $c++) { $d += $cpf{$c} * (($t + 1) - $c); } $d = ((10 * $d) % 11) % 10; if ($cpf{$c} != $d) { return false; } } return true; } } if(isset($_POST['btvalidar'])) { $cpf_enviado = validaCPF($_POST['cpft']); if($cpf_enviado == true) { $cpfc = $_POST['cpft']; $data = date('Y-m-d'); $hora = strftime("%H:%M:%S"); $sqlinsert = "INSERT INTO cpf (cpf,data) VALUES ('$cpfc','$hora')"; mysql_query($sqlinsert) or die ("Não foi possível inserir"); echo "Na data $data e na hora $hora <br> $_post[cpft] foi inserido"; } elseif($cpf_enviado == false) echo ("<script> alert('Seu CPF está errado ou é inexistente !'); </script>"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Dorian Neto 41 Denunciar post Postado Julho 9, 2013 Pela lógica do script, o alerta é para ser exibido, pois se a query não está sendo executada é porque o cpf é inválido. Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Julho 9, 2013 qual versão do php vc esta utilizando? ereg_replace tornou-se obsoleta no php5.3 vc precisa trocar ela por preg_replace http://php.net/manual/en/function.preg-replace.php qual o significado de $c? Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 9, 2013 $c = 0; Isso ta certo ? if(isset($_POST['btvalidar'])) { $cpf_enviado = validaCPF($_POST['cpft']); if($cpf_enviado == true) { $cpfc = $_POST['cpft']; $data = date('Y-m-d'); $hora = strftime("%H:%M:%S"); $sqlinsert = "INSERT INTO cpf (cpf,data) VALUES ('$cpfc','$hora')"; mysql_query($sqlinsert) or die ("Não foi possível inserir"); echo "Na data $data e na hora $hora <br> $_post[cpft] foi inserido"; } elseif($cpf_enviado == false) echo ("<script> alert('Seu CPF está errado ou é inexistente !'); </script>"); } Compartilhar este post Link para o post Compartilhar em outros sites
shini 318 Denunciar post Postado Julho 9, 2013 $c = 0;Isso ta certo ? aaaaaaaah não sei rs, isso aqui pra mim é estranho: $cpf{$c} Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Julho 10, 2013 Não seria $cpf[$c] ? Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 cara a validação está perfeita só não executa a query ;/ "$sqlinsert = "INSERT INTO cpf (cpf,data) VALUES ('$cpfc','$hora')"; " Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 Galera, quase consegui, agora só preciso acho que arrumar a parte do tempo. Acho que não está funcionando certo ;/ $dados = mysql_fetch_array($buscacpf) or die ("Não foi possível verificar"); $horacadastro = $dados['data']; $horaatual = strftime("%H:%M"); $diferenca = $horaatial - $horacadastro; if ($diferenca >= 3) {$deleta = mysql_query("DELETE FROM cpf WHERE cpf = '$cpfc'") or die ("Não foi possível deletar"); } acho que preciso arrumar essa parte Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Julho 10, 2013 sso aqui pra mim é estranho: $cpf{$c} Strings podem também ser acessada usando colchetes ($str[42]) ou chaves ($str{42}) para o mesmo propósito. Contudo, esta sintaxe estará obsoleta a partir do PHP 6. Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 @Carlos Coelho e sobre o tempo? Você teria alguma idéia do que seria porque não está fazendo a subtração ? O cpf está ok a validação funciona perfeitamente . vlw Strings podem também ser acessada usando colchetes ($str[42]) ou chaves ($str{42}) para o mesmo propósito. Contudo, esta sintaxe estará obsoleta a partir do PHP 6. Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Julho 10, 2013 Primeiro verifique se entrou no if if($cpf_enviado == true) { echo 'OK'; Como está o tipo de campo data no seu banco de dados? DATE, DATETIME ou TIMESTAMP? Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 Está como time Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Julho 10, 2013 // DATA $date = date( 'Y-m-d' ); // DATA HORA $date = date( 'Y-m-d H:i:s' ); // HORA $date = date( 'H:i:s' ); // TIMESTAMP $date = time( ); Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 Blz, vou fazer as alterações e ja posto aqui o resultado, a operação é a mesma né ? $diferenca = $horaatial - $horacadastro; if ($diferenca >= 3) se for + que 3 minutos ele roda a query certo ? não funciona nem a pau ! :upset: $data = date('Y-m-d'); $hora = strftime("%H:%M"); $buscacpf = mysql_query('SELECT * FROM `cpf` WHERE 1'); $dados = mysql_fetch_array($buscacpf) or die ("<script> alert('Não foi possível verificar !'); </script>"); $horacadastro = $dados['data']; $horaatual = date('hm'); $diferenca = $horaatual - $horacadastro; if ($diferenca >= 100) {$deleta = mysql_query("DELETE FROM cpf WHERE cpf = '$cpfc'") or die ("Não foi possível deletar"); } else {$sqlinsert = "INSERT INTO cpf (cpf,data) VALUES ('$cpfc','$hora')";} mysql_query($sqlinsert) or die ("<script> alert('Não foi possível Inserir!'); Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Julho 10, 2013 Se vc quer buscar todos os CPF's[inline]$buscacpf = mysql_query('SELECT * FROM `cpf`');[/inline] Agora, se é o CPF digitado [inline]$buscacpf = mysql_query("SELECT * FROM `cpf` WHERE `cpf` = '$cpf' ");[/inline] Dê um [inline]var_dump( $dados['data'] );[/inline] e me diga o que retornou. Para salvar [inline]$query = "INSERT INTO `cpf` ( `cpf`, `data` ) VALUES ( '$cpf', NOW( ) )";[/inline] EDIT: Outro problema é salvar apenas a hora, o correto seria salvar data e hora (DATETIME). Se no dia seguinte vc tentar salvar no mesmo horário, o que acontece? Vai dar pau. Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 Null Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Julho 10, 2013 Alterando o tipo do campo data para DATETIME, fica fácil verificar a diferença de tempo em segundos. // data do banco de dados $row[ 'date' ] = '2013-07-10 09:50:55'; $interval_time = time( ) - strtotime( $row[ 'date' ] ); if( $interval_time >= 100 ) { // code here } Compartilhar este post Link para o post Compartilhar em outros sites
iFull 0 Denunciar post Postado Julho 10, 2013 não cadastra ... :S if(isset($_POST['btvalidar'])) { $cpf_enviado = validaCPF($_POST['cpft']); if($cpf_enviado == true) { $hora = time(); $buscacpf = mysql_query("SELECT * FROM `cpf`"); $dados = mysql_fetch_array($buscacpf) or die ("<script> alert('Não foi possível verificar !');location = 'index.html'; </script>"); $horacadastro = $dados['data']; $id = $dados['id']; $horaatual = date('H:i:s'); $dados[ 'data' ] = '2013-07-10 09:50:55'; $interval_time = time( ) - strtotime( $dados[ 'data' ] ); if( $interval_time >= 100 ) {$deleta = mysql_query("DELETE FROM `cpf` WHERE `cpf` = '$cpfc'") or die ("Não foi possível deletar"); } else {$sqlinsert = "INSERT INTO cpf (cpf,data) VALUES ('$cpfc','$hora')";} mysql_query($sqlinsert) or die ("<script> alert('Não foi possível Inserir (hora cadastro $horacadastro e hora atual $horaatual) !'); </script>"); echo "Na data $data e na hora $hora <br> $cpfc' foi inserido a diferença e $diferenca "; } elseif($cpf_enviado == false) echo ("<script> alert('Seu CPF está errado ou é inexistente !'); </script>"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites