ajuda com enviar.php

20/03/2014

2

PHP

NAO ENCONTRO ERRO NEM POR REZA BRABA,
<?php
function validCPF($cpf){
  // determina um valor inicial para o digito $d1 e $d2
  // pra manter o respeito ;)
    $d1 = 0;
    $d2 = 0;
  // remove tudo que não seja número
  $cpf = preg_replace("/[^0-9]/", "", $cpf);
  // lista de cpf inválidos que serão ignorados
  $ignore_list = array(
    '00000000000',
    '01234567890',
    '11111111111',
    '22222222222',
    '33333333333',
    '44444444444',
    '55555555555',
    '66666666666',
    '77777777777',
    '88888888888',
    '99999999999'
  );
  // se o tamanho da string for dirente de 11 ou estiver
  // na lista de cpf ignorados já retorna false
  if(strlen($cpf) != 11 || in_array($cpf, $ignore_list)){
      return false;
  } else {
    // inicia o processo para achar o primeiro
    // número verificador usando os primeiros 9 dígitos
    for($i = 0; $i < 9; $i++){
      // inicialmente $d1 vale zero e é somando.
      // O loop passa por todos os 9 dígitos iniciais
      $d1 += $cpf[$i] * (10 - $i);
    }
    // acha o resto da divisão da soma acima por 11
    $r1 = $d1 % 11;
    // se $r1 maior que 1 retorna 11 menos $r1 se não
    // retona o valor zero para $d1
    $d1 = ($r1 > 1) ? (11 - $r1) : 0;
    // inicia o processo para achar o segundo
    // número verificador usando os primeiros 9 dígitos
    for($i = 0; $i < 9; $i++) {
      // inicialmente $d2 vale zero e é somando.
      // O loop passa por todos os 9 dígitos iniciais
      $d2 += $cpf[$i] * (11 - $i);
    }
    // $r2 será o resto da soma do cpf mais $d1 vezes 2
    // dividido por 11
    $r2 = ($d2 + ($d1 * 2)) % 11;
    // se $r2 mair que 1 retorna 11 menos $r2 se não
    // retorna o valor zeroa para $d2
    $d2 = ($r2 > 1) ? (11 - $r2) : 0;
    // retona true se os dois últimos dígitos do cpf
    // forem igual a concatenação de $d1 e $d2 e se não
    // deve retornar false.
    return (substr($cpf, -2) == $d1 . $d2) ? true : false;
  }
}
?>
<html>
<head>
<title>Documento sem título</title>
</head>
<body>

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
  <?
  include "Connections/config.php";

$conexao = mysql_connect($hostname_config, $username_config, $password_config)
           or die(mysql_error());
$db = mysql_select_db($database_config, $conexao)
           or die(mysql_error());
$pesquisar = mysql_query("SELECT email FROM $tabela WHERE email = '$email'", $conexao);
$contagem = mysql_num_rows($pesquisar);

if ( $contagem == 1 ) {
  $errors .= "- O E-mail já está cadastrado.<br>";
  }
  
if( $nome == null||$email == null||$nascimento == null||$endereco == null||$bairro == null||$cidade == null||$estado == null||$zipcode == null||$telefone == null ) {
	$errors .= "- Todos os campos devem ser preenchidos.<br>";
	}
if( $concorda == '' ) {
	$errors .= "- Voce deve concordar com os termos.<br>";
	}
if ( validCPF($cpf) == false ){
	$errors .= "- CPF invalido.<br>";
	}
if ( $errors == "" ) {

  $cadastrar = mysql_query("INSERT INTO $tabela (nome, email, endereco, bairro, cidade, estado, zipcode, telefone, cpf, status, concorda)
    VALUES (
'$nome','$email','$endereco','$bairro,'$cidade','$estado','$zipcode','$telefone,'$cpf,'$concorda','$status','$concorda')", $conexao);

    if ( $cadastrar == 1 ) {
      echo "<font size=1 face=Verdana, Arial, Helvetica, sans-serif><br><br>Agora, $nome !<br><br>ira receber nossas newslatter por email( $email )<br><br>Att.:Equipe Promove7.</font></div>";
      } else {
	    echo "Ocorreu um erro no servidor ao tentar se cadastrar.";
		}
  } else {
    echo "Ocorrram os seguintes erros ao tentar se cadastrar:<br><br>";
	echo $errors;
	}


?>
</font></div>
</body>
</html>
Responder

Posts

20/03/2014

Alvinho10

ah, ele me retorna "Ocorreu um erro no servidor ao tentar se cadastrar."
Responder

21/03/2014

Anselmo Velame

No VALUE vc colocou a variavel $concorda 2 vezes

A quantidade de campos tem que ser iguais e na ordem do INTO

Responder

22/03/2014

Alvinho10

porem o erro persiste, man ..
Responder

23/03/2014

Anselmo Velame

Qual a msg do erro?
Responder

23/03/2014

Alvinho10

a mesma > "Ocorreu um erro no servidor ao tentar se cadastrar."
ela esta cadastrada se o cadastro nao for efetuado, nao sei o porque ano esta cadastrando. todos os campos estao ok no mysql tmb ..
Responder

23/03/2014

Andrew Angelim

Uma tentativa, tire a variável $conexão no final do INSERT pra testar...
vlw
Responder

24/03/2014

Alvinho10

Nada :(
Responder
tenta colocar isso
echo "Ocorreu um erro no servidor ao tentar se cadastrar:<br>";
        echo mysql_error($conexao);

ao menos assim você poderá capturar o erro de sql caso esteja retornando.
Responder

25/03/2014

Alvinho10

Ocorreu um erro no servidor ao tentar se cadastrar.
Ocorreu um erro no servidor ao tentar se cadastrar:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Guarapari','es','<mostra meu cep>','<mostra meu tel>'<mostra meu cpf>','ativo','sim')' at line 3

(ocultei dados pessoais entre as tags "<>")
obs: versao do mysql 3.3.9
Responder
O erro está bem claro agora, sua sintaxe sql está errada, no caso em questão as aspas não estão fechadas corretamente.
$cadastrar = mysql_query("INSERT INTO $tabela (nome, email, endereco, bairro, cidade, estado, zipcode, telefone, cpf, status, concorda)
    VALUES (
'$nome','$email','$endereco','$bairro,'$cidade','$estado','$zipcode','$telefone','$cpf,'$concorda','$status','$concorda')", $conexao);


$cadastrar = mysql_query("INSERT INTO $tabela (nome, email, endereco, bairro, cidade, estado, zipcode, telefone, cpf, status, concorda)
    VALUES (
'$nome','$email','$endereco','$bairro,'$cidade','$estado','$zipcode','$telefone,'$cpf,'$concorda','$status','$concorda')", $conexao);


basta colocar a aspa do telefone que está faltando que vai resolver o problema.
Responder
Só uma dica, use PDO.
Responder

25/03/2014

Alvinho10

PQP, cara nao acredito nisso !! manos obrigado ai pela atencao de voceis. Obrigado pela dica vou usar PDO.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar