ajuda com enviar.php

20/03/2014

0

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>
Alvinho10

Alvinho10

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

25/03/2014

David Sylvestre

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

25/03/2014

David Sylvestre

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

25/03/2014

David Sylvestre

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar