Jump to content
Fórum Script Brasil
  • 0

Erro Em Código


frlouzada
 Share

Question

Bem galera... estou tentando adaptar um sistema de login para meu uso e estou tendo problemas.

O problema é o seguinte. Na hora de cadastrar um usuário ele está preenchendo a tabela com os dados em branco. Ou seja, o usuário é cadastrado com todos os dados em branco.

Será que alguém poderia me ajudar a encontrar o erro no código?

cadastrar.php

<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
include("config.php");


  if($acao == 'cadastra'){
$sql = "SELECT * FROM users where login='$CampoNumero'";

$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");

if(mysql_num_rows($resultado)>0) {

while ($linha=mysql_fetch_array($resultado)) {
$CampoNumero = $linha["loginc"];
}
}
    if($CampoNumero == $loginc){
echo"<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">O usuário <b>$loginc</b> já está cadastrado.<br>
<a href=java script:history.go(-1)>«« Voltar</a></font>";
}else{
    if (${"chkCPF"}=="on"){
        CalculaCPF($CampoNumero);
    }else{
        CalculaCNPJ($CampoNumero);
    }

if($sql){
echo "
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">O usuário <b>$CampoNumero</b> foi cadastrado com sucesso. Agora ele poderá acessar as partes restritas de seu site.<br></font>
<meta http-equiv=\"refresh\" content=\"5;URL=logado.php\">
</HTML>";
} else {
echo "<HTML>
<title>$nsite</title>Não foi possível cadastrar esse usuário...
<meta http-equiv=\"refresh\" content=\"2;URL=cadastrar.php\">
</HTML>";
}
}
} else {
echo"
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">
<form action=\"cadastrar.php?acao=cadastra\" method=\"post\">
<table width=\"50%\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Nome: </font></td><td><input class=\"campo\" name=\"nome\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">E-mail: </font></td><td><input class=\"campo\" name=\"email\" type=\"text\" value=\"\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">DDD(xx) - Telefone(somente números): </font></td><td><input class=\"campo\" name=\"ddd\" type=\"text\" size=\"2\" maxlength=\"2\"><font face=\"$fonte\" size=\"$tfonte\"> - </font><input class=\"campo\" name=\"telefone\" type=\"text\" size=\"15\" maxlength=\"8\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Endereço: </font></td><td><input class=\"campo\" name=\"endereco\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">CEP (Somente números): </font></td><td><input class=\"campo\" name=\"cep\" type=\"text\" size=\"15\" maxlength=\"8\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Cidade: </font></td><td><input class=\"campo\" name=\"cidade\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Estado: </font></td><td><input class=\"campo\" name=\"estado\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\"><input type=\"radio\" name=\"chkCPF\" value=\"on\">CPF (pessoa física) ou</font></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\"><input type=\"radio\" name=\"chkCPF\" value=\"off\">CNPJ (pessoa jurídica)</font></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Número (CPF/CNPJ):</font></td><td><input class=\"campo\" type=\"text\" name=\"CampoNumero\" size=\"18\" maxlength=\"14\"></td></tr>
<tr><td class=\"texto\"></td><td><input class=\"campo\" name=\"cadastrar\" type=\"submit\" value=\"Cadastrar\"></td></tr>
<tr><td class=\"texto\"></td><td><font face=\"$fonte\" size=\"$tfonte\"><a href=java script:history.go(-1)>«« Voltar</a></font></td></tr>
</table>
</HTML>
";
}

  //Calcula CPF

  function CalculaCPF($CampoNumero)
  {
   $RecebeCPF=$CampoNumero;
   //Retirar todos os caracteres que não sejam 0-9
   $s="";
   for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1)
   {
    $ch=substr($RecebeCPF,$x-1,1);
    if (ord($ch)>=48 && ord($ch)<=57)
    {
      $s=$s.$ch;
    }
   }
   
   $RecebeCPF=$s;
   if (strlen($RecebeCPF)!=11)
   {
    echo "<h1>É obrigatório o CPF com 11 dígitos</h1>";
   }
   else
     if ($RecebeCPF=="00000000000")
     {
       $then;
       echo "<h1>CPF Inválido</h1>";
     }
     else
     {
      $Numero[1]=intval(substr($RecebeCPF,1-1,1));
      $Numero[2]=intval(substr($RecebeCPF,2-1,1));
      $Numero[3]=intval(substr($RecebeCPF,3-1,1));
      $Numero[4]=intval(substr($RecebeCPF,4-1,1));
      $Numero[5]=intval(substr($RecebeCPF,5-1,1));
      $Numero[6]=intval(substr($RecebeCPF,6-1,1));
      $Numero[7]=intval(substr($RecebeCPF,7-1,1));
      $Numero[8]=intval(substr($RecebeCPF,8-1,1));
      $Numero[9]=intval(substr($RecebeCPF,9-1,1));
      $Numero[10]=intval(substr($RecebeCPF,10-1,1));
      $Numero[11]=intval(substr($RecebeCPF,11-1,1));

     $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5*
     $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9];
     $soma=$soma-(11*(intval($soma/11)));

    if ($soma==0 || $soma==1)
    {
      $resultado1=0;
    }
    else
    {
      $resultado1=11-$soma;
    }

    if ($resultado1==$Numero[10])
    {
     $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+
     $Numero[8]*4+$Numero[9]*3+$Numero[10]*2;
     $soma=$soma-(11*(intval($soma/11)));

     if ($soma==0 || $soma==1)
     {
       $resultado2=0;
     }
     else
     {
      $resultado2=11-$soma;
     }
     if ($resultado2==$Numero[11]){
        $nome = $HTTP_POST_VARS["nome"];
        $email = $HTTP_POST_VARS["email"];
        $ddd = $HTTP_POST_VARS["ddd"];
        $telefone = $HTTP_POST_VARS["telefone"];
        $endereco = $HTTP_POST_VARS["endereco"];
        $cep = $HTTP_POST_VARS["cep"];
        $email = $HTTP_POST_VARS["email"];
        $cidade = $HTTP_POST_VARS["cidade"];
        $estado = $HTTP_POST_VARS["estado"];
        $cpf = $HTTP_POST_VARS["CampoNumero"];
        $cnpj = null;
        $login = $HTTP_POST_VARS["CampoNumero"];
        $senha = $HTTP_POST_VARS["CampoNumero"];
        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')");
     }
     else
     {
     echo "<h1>CPF Inválido</h1>";
     }
    }
    else
    {
     echo "<h1>CPF Inválido</h1>";
    }
   }
  }
// Fim do Calcula CPF


//Função que calcula CNPJ

  function CalculaCNPJ($CampoNumero)
  {
   $RecebeCNPJ=${"CampoNumero"};

   $s="";
   for ($x=1; $x<=strlen($RecebeCNPJ); $x=$x+1)
   {
    $ch=substr($RecebeCNPJ,$x-1,1);
    if (ord($ch)>=48 && ord($ch)<=57)
    {
     $s=$s.$ch;
    }
   }

   $RecebeCNPJ=$s;
   if (strlen($RecebeCNPJ)!=14)
   {
     echo "<h1>É obrigatório o CNPJ com 14 dígitos</h1>";
   }
   else
    if ($RecebeCNPJ=="00000000000000")
    {
     $then;
     echo "<h1>CNPJ Inválido</h1>";
   }
   else
   {
    $Numero[1]=intval(substr($RecebeCNPJ,1-1,1));
    $Numero[2]=intval(substr($RecebeCNPJ,2-1,1));
    $Numero[3]=intval(substr($RecebeCNPJ,3-1,1));
    $Numero[4]=intval(substr($RecebeCNPJ,4-1,1));
    $Numero[5]=intval(substr($RecebeCNPJ,5-1,1));
    $Numero[6]=intval(substr($RecebeCNPJ,6-1,1));
    $Numero[7]=intval(substr($RecebeCNPJ,7-1,1));
    $Numero[8]=intval(substr($RecebeCNPJ,8-1,1));
    $Numero[9]=intval(substr($RecebeCNPJ,9-1,1));
    $Numero[10]=intval(substr($RecebeCNPJ,10-1,1));
    $Numero[11]=intval(substr($RecebeCNPJ,11-1,1));
    $Numero[12]=intval(substr($RecebeCNPJ,12-1,1));
    $Numero[13]=intval(substr($RecebeCNPJ,13-1,1));
    $Numero[14]=intval(substr($RecebeCNPJ,14-1,1));

    $soma=$Numero[1]*5+$Numero[2]*4+$Numero[3]*3+$Numero[4]*2+$Numero[5]*9+$Numero[6]*8+$Numero[7]*7+
    $Numero[8]*6+$Numero[9]*5+$Numero[10]*4+$Numero[11]*3+$Numero[12]*2;

    $soma=$soma-(11*(intval($soma/11)));

   if ($soma==0 || $soma==1)
   {
     $resultado1=0;
   }
   else
   {
    $resultado1=11-$soma;
   }
   if ($resultado1==$Numero[13])
   {
    $soma=$Numero[1]*6+$Numero[2]*5+$Numero[3]*4+$Numero[4]*3+$Numero[5]*2+$Numero[6]*9+
    $Numero[7]*8+$Numero[8]*7+$Numero[9]*6+$Numero[10]*5+$Numero[11]*4+$Numero[12]*3+$Numero[13]*2;
    $soma=$soma-(11*(intval($soma/11)));
    if ($soma==0 || $soma==1)
    {
     $resultado2=0;
    }
   else
   {
   $resultado2=11-$soma;
   }
   if ($resultado2==$Numero[14]){
        $nome = $HTTP_POST_VARS["nome"];
        $email = $HTTP_POST_VARS["email"];
        $ddd = $HTTP_POST_VARS["ddd"];
        $telefone = $HTTP_POST_VARS["telefone"];
        $endereco = $HTTP_POST_VARS["endereco"];
        $cep = $HTTP_POST_VARS["cep"];
        $email = $HTTP_POST_VARS["email"];
        $cidade = $HTTP_POST_VARS["cidade"];
        $estado = $HTTP_POST_VARS["estado"];
        $cpf = null;
        $cnpj = $HTTP_POST_VARS["CampoNumero"];
        $login = $HTTP_POST_VARS["CampoNumero"];
        $senha = $HTTP_POST_VARS["CampoNumero"];
        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')");
   }
   else
   {
   echo "<h1>CNPJ inválido</h1>";
   }
  }
  else
  {
   echo "<h1>CNPJ inválido</h1>";
  }
 }
}
//Fim do Calcula CNPJ
?>
<?
include("copyright.php");
?>
config.php
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
// Endereço do seu servidor MySQL
$dbhost='localhost';

// Usuário do MySQL
$dbuser='acapes_frl';

// Senha do MySQL
$dbpasswd='******';

// Nome do Banco de dados
$dbname='acapes_protecao';

####################################
#           Não altere               #
####################################
// Conexão com o Banco de Dados
$conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("Não foi possível conectar-se ao servidor MySQL");
$db = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados <b>$dbname</b>");
?>

Link to comment
Share on other sites

22 answers to this question

Recommended Posts

  • 0

qual a versão do php que voce usa?

        $nome = $HTTP_POST_VARS["nome"];
        $email = $HTTP_POST_VARS["email"];
        $ddd = $HTTP_POST_VARS["ddd"];
        $telefone = $HTTP_POST_VARS["telefone"];
        $endereco = $HTTP_POST_VARS["endereco"];
        $cep = $HTTP_POST_VARS["cep"];
        $email = $HTTP_POST_VARS["email"];
        $cidade = $HTTP_POST_VARS["cidade"];
        $estado = $HTTP_POST_VARS["estado"];
        $cpf = null;
        $cnpj = $HTTP_POST_VARS["CampoNumero"];
        $login = $HTTP_POST_VARS["CampoNumero"];
        $senha = $HTTP_POST_VARS["CampoNumero"];
esse HTTP_POST_VARS é mais velho que papai noel hehe usa só
$email = $_POST['email'];

talvez ele esteja cadastrando os campos em branco, porque os valores das variáveis estejam em branco.

Tenta la e se n da um toq que a gente resolve =)

Link to comment
Share on other sites

  • 0

Mais 2 problemas.

1 - Como eu faço para setar uma variável dinâmica com null?

2 - Quando eu coloco um CPF/CNPJ inválido ele mostra a mensagem CPF/CNPJ inválido, não faz o cadastro no BD mas mostra a mensagem "O usuário <b>00000000000</b> foi cadastrado com sucesso. Agora ele poderá acessar as partes restritas de seu site.

Porque ele está falando que cadastrou se na verdade não cadastrou?

Link to comment
Share on other sites

  • 0

Quanto a questão 1 eu não entendi... mas se você quer que por padrão ela tenha valor NULL basta colocar isso na modelagem do banco de dados.

Quanto a 2, o problema esta no que você está testando:

if($sql){
echo "
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">O usuário <b>$CampoNumero</b> foi cadastrado com sucesso. Agora ele poderá acessar as partes restritas de seu site.<br></font>
<meta http-equiv=\"refresh\" content=\"5;URL=logado.php\">
</HTML>";
} else {
echo "<HTML>
<title>$nsite</title>Não foi possível cadastrar esse usuário...
<meta http-equiv=\"refresh\" content=\"2;URL=cadastrar.php\">
</HTML>";
}

Você está testando o $sql, ou seja, sempre que o comando SELECT for verdadeiro ele vai retornar a mensagem de sucesso, você tem que testar isso (o if/else) DEPOIS de declarar o CPF válido ou inválido, pois é óbvio que você só vai poder saber se o cadastro é válido ou não DEPOIS de testar o CPF do cara...

Link to comment
Share on other sites

  • 0

Na pergunta 1 eu quis saber se isso que eu fiz está certo

$estado = $HTTP_POST_VARS["estado"];
$cpf = null;
$cnpj = $HTTP_POST_VARS["CampoNumero"];
Ou se para deixá-la null é só colocar na modelagem do banco de dados e não mexer mais nela. A solução da 2 eu acho que entendi. Não dá pra testar agora porque to no trabalho, mas quando chegar em casa eu testo. Vê pra mim se ele teria que ficar assim:
if ($resultado2==$Numero[11]){
        $nome = $_POST["nome"];
        $email = $_POST["email"];
        $ddd = $_POST["ddd"];
        $telefone = $_POST["telefone"];
        $endereco = $_POST["endereco"];
        $cep = $_POST["cep"];
        $email = $_POST["email"];
        $cidade = $_POST["cidade"];
        $estado = $_POST["estado"];
        $cpf = $_POST["CampoNumero"];
        $cnpj = null;
        $login = $_POST["CampoNumero"];
        $senha = $_POST["CampoNumero"];
        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')");

if($sql){
echo "
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">O usuário <b>$CampoNumero</b> foi cadastrado com sucesso. Agora ele poderá acessar as partes restritas de seu site.<br></font>
<meta http-equiv=\"refresh\" content=\"5;URL=logado.php\">
</HTML>";
} else {
echo "<HTML>
<title>$nsite</title>Não foi possível cadastrar esse usuário...
<meta http-equiv=\"refresh\" content=\"2;URL=cadastrar.php\">
</HTML>";
}

     }
     else
     {
     echo "<h1>CPF Inválido</h1>";
     }
    }
    else
    {
     echo "<h1>CPF Inválido</h1>";
    }

Link to comment
Share on other sites

  • 0

Se você quiser que seja NULL basta colocar na modelagem do banco de dados...

Quanto ao que você fez continua errado... você tem que testar o CPF ANTES da query que vai inserir os dados no BD, porque senão, ele vai inserir os dados, vai retornar a mensagem que foram inseridos e após isso a mensagem que o CPF é válido ou inválido...

O correto é mais ou menos isso:

if ($resultado2==$Numero[11]){
 $nome = $_POST["nome"];
        $email = $_POST["email"];
        $ddd = $_POST["ddd"];
        $telefone = $_POST["telefone"];
        $endereco = $_POST["endereco"];
        $cep = $_POST["cep"];
        $email = $_POST["email"];
        $cidade = $_POST["cidade"];
        $estado = $_POST["estado"];
        $cpf = $_POST["CampoNumero"];
        $cnpj = null;
        $login = $_POST["CampoNumero"];
        $senha = $_POST["CampoNumero"];
//AQUI VOCÊ COLOCA A FUNÇÃO PARA TESTAR O CPF...
//DAI VOCÊ VAI PARA MAIS UM IF/ELSE
if ($se-cpf-verdadiro){
//AQUI INSERE OS DADOS NO BD E DÁ AS MENSAGENS AFIRMATIVAS
}else{
//AQUI DÁ AS MENSAGENS DE ERRO
}
//resto do código

Link to comment
Share on other sites

  • 0

Mas se você reparar, esse

if ($resultado2==$Numero[11]){
está dentro da função que testa o cpf. Ele só insere no BD se entrar no if. Repare na função de validar CPF inteira.
//Calcula CPF

  function CalculaCPF($CampoNumero)
  {
   $RecebeCPF=$CampoNumero;
   //Retirar todos os caracteres que não sejam 0-9
   $s="";
   for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1)
   {
    $ch=substr($RecebeCPF,$x-1,1);
    if (ord($ch)>=48 && ord($ch)<=57)
    {
      $s=$s.$ch;
    }
   }
   
   $RecebeCPF=$s;
   if (strlen($RecebeCPF)!=11)
   {
    echo "<h1>É obrigatório o CPF com 11 dígitos</h1>";
   }
   else
     if ($RecebeCPF=="00000000000")
     {
       $then;
       echo "<h1>CPF Inválido</h1>";
     }
     else
     {
      $Numero[1]=intval(substr($RecebeCPF,1-1,1));
      $Numero[2]=intval(substr($RecebeCPF,2-1,1));
      $Numero[3]=intval(substr($RecebeCPF,3-1,1));
      $Numero[4]=intval(substr($RecebeCPF,4-1,1));
      $Numero[5]=intval(substr($RecebeCPF,5-1,1));
      $Numero[6]=intval(substr($RecebeCPF,6-1,1));
      $Numero[7]=intval(substr($RecebeCPF,7-1,1));
      $Numero[8]=intval(substr($RecebeCPF,8-1,1));
      $Numero[9]=intval(substr($RecebeCPF,9-1,1));
      $Numero[10]=intval(substr($RecebeCPF,10-1,1));
      $Numero[11]=intval(substr($RecebeCPF,11-1,1));

     $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5*
     $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9];
     $soma=$soma-(11*(intval($soma/11)));

    if ($soma==0 || $soma==1)
    {
      $resultado1=0;
    }
    else
    {
      $resultado1=11-$soma;
    }

    if ($resultado1==$Numero[10])
    {
     $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+
     $Numero[8]*4+$Numero[9]*3+$Numero[10]*2;
     $soma=$soma-(11*(intval($soma/11)));

     if ($soma==0 || $soma==1)
     {
       $resultado2=0;
     }
     else
     {
      $resultado2=11-$soma;
     }

//Esse IF verifica se o CPF é válido

     if ($resultado2==$Numero[11]){
        $nome = $_POST["nome"];
        $email = $_POST["email"];
        $ddd = $_POST["ddd"];
        $telefone = $_POST["telefone"];
        $endereco = $_POST["endereco"];
        $cep = $_POST["cep"];
        $email = $_POST["email"];
        $cidade = $_POST["cidade"];
        $estado = $_POST["estado"];
        $cpf = $_POST["CampoNumero"];
        $cnpj = null;
        $login = $_POST["CampoNumero"];
        $senha = $_POST["CampoNumero"];

//Se ele entrou no IF então CPF é válido e ele adiciona no BD

        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')");

if($sql){
echo "
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">O usuário <b>$CampoNumero</b> foi cadastrado com sucesso. Agora ele poderá acessar as partes restritas de seu site.<br></font>
<meta http-equiv=\"refresh\" content=\"5;URL=logado.php\">
</HTML>";
} else {
echo "<HTML>
<title>$nsite</title>Não foi possível cadastrar esse usuário...
<meta http-equiv=\"refresh\" content=\"2;URL=cadastrar.php\">
</HTML>";
}

\\Se não for válido ele mostra mensagem de erro

     }
     else
     {
     echo "<h1>CPF Inválido</h1>";
     }
    }
    else
    {
     echo "<h1>CPF Inválido</h1>";
    }
   }
  }
// Fim do Calcula CPF

Realmente está errado o que eu fiz?

Se estiver eu continuo não entendendo a Solução correta. Teria como fazer isso no código que está no primeiro code?

Link to comment
Share on other sites

  • 0

Fala Galera... To de volta no tópico.

A parada é a seguinte. Até sexta feira meu sistema de login estava funcionando normalmente, mas aí no sábado eu viajei e só voltei a mexer nele hoje. Para minha surpresa eu não estou conseguindo cadastrar mais ninguém.

Não sei se isso está acontecendo por causa de problemas no servidor de hospedagem.

Na hora de fazer login, ele funciona normalmente mas na hora de cadastrar usuário ele mostra a mensagem "Não foi possível cadastrar usuário".

Olhando o código, parece que o mysql_query não está acontecendo, mas alguém saberia me explicar porque?

EDIT 12:51 - Já achei o erro. Nesse trecho de código eu tinha tirado a variável dinâmica $cnpj:

if ($resultado2==$Numero[11]){
        $nome = $_POST['nome'];
        $email = $_POST['email'];
        $ddd = $_POST['ddd'];
        $telefone = $_POST['telefone'];
        $endereco = $_POST['endereco'];
        $cep = $_POST['cep'];
        $cidade = $_POST['cidade'];
        $estado = $_POST['estado'];
        $cpf = $_POST['CampoNumero'];
        $login = $_POST['CampoNumero'];
        $senha = $_POST['CampoNumero'];
        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$login', '$senha')");

if($sql){
echo "<script>alert('Usuário cadastrado com sucesso.');
location.href='logado.php';
</script>
";
} else {
echo "<script>alert('Não foi possível cadastrar usuário.');
history.back(-1);
</script>
";
}

Por isso, tinha campo NOT Null ficando em branco e não estava adicionando.

Link to comment
Share on other sites

  • 0

Continuando com os problemas nesse código.

Agora o problema é o seguinte. Estou fazendo uma página com um conteúdo qualquer e também terá um cabeçalho com uma mensagem de boas vindas.

Se o usuário não estiver logado a mensagem será "Bem vindo Visitante" e ao lado terá os campos para ele fazer login. Se o usuário já estiver logado, deverá aparecer a mensagem "Bem Vindo nomedousuario" e ao lado um link para ele efetuar logoff.

Agora vamos aos problemas.

Quando o usuário não está logado, está aparecendo o seguinte:

Warning: Cannot modify header information - headers already sent by (output started at /home/acapes/public_html/lorentino/cadastro.php:9) in /home/acapes/public_html/lorentino/verifica.php on line 11

Bem vindo visitante! CPF/CNPJ: Repita CPF/CNPJ: [LOGAR]

Apesar de aparecer esse Warning, o login é feito normalmente. Aparece "Bem vindo nomedousuário" e o link para ele efetuar logoff. Mas quando clico no link para ele efetuar o logoff ele carrega a página novamente mas não efetua o logoff.

Vamos ao códigos. Primeiro da página com o conteúdo qualquer, e logo abaixo o restante:

"cadastro.php"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=">
<title>Untitled Document</title>
<link rel="stylesheet" href="styles/emx_nav_left.css" type="text/css">
<script type="text/javascript">
<!--
var time = 3000;
var numofitems = 7;

//menu constructor
function menu(allitems,thisitem,startstate){ 
  callname= "gl"+thisitem;
  divname="subglobal"+thisitem;  
  this.numberofmenuitems = 7;
  this.caller = document.getElementById(callname);
  this.thediv = document.getElementById(divname);
  this.thediv.style.visibility = startstate;
}

//menu methods
function ehandler(event,theobj){
  for (var i=1; i<= theobj.numberofmenuitems; i++){
    var shutdiv =eval( "menuitem"+i+".thediv");
    shutdiv.style.visibility="hidden";
  }
  theobj.thediv.style.visibility="visible";
}
                
function closesubnav(event){
  if ((event.clientY <48)||(event.clientY > 107)){
    for (var i=1; i<= numofitems; i++){
      var shutdiv =eval('menuitem'+i+'.thediv');
      shutdiv.style.visibility='hidden';
    }
  }
}
// -->
</script>
</head>
<body onmousemove="closesubnav(event);"> 
<div class="skipLinks">skip to: <a href="#content">page content</a> | <a href="pageNav">links on this page</a> | <a href="#globalNav">site navigation</a> | <a href="#siteInfo">footer (site information)</a> </div>
<div id="masthead"> 
  <h1 id="siteName">Site Name</h1> 
  <div id="utility"> 
    <a href="#">Utility Link</a> | <a href="#">Utility Link</a> | <a href="#">Utility
    Link</a> 
  </div> 
  <div id="globalNav"> 
    <img alt="" src="images/gblnav_left.gif" height="32" width="4" id="gnl"> <img alt="" src="images/glbnav_right.gif" height="32" width="4" id="gnr"> 
    <div id="globalLink"> 
      <a href="#" id="gl1" class="glink" onmouseover="ehandler(event,menuitem1);">global 
      link</a><a href="#" id="gl2" class="glink" onmouseover="ehandler(event,menuitem2);">global
      link</a><a href="#" id="gl3" class="glink" onmouseover="ehandler(event,menuitem3);">global
      link</a><a href="#" id="gl4" class="glink" onmouseover="ehandler(event,menuitem4);">global
      link</a><a href="#" id="gl5" class="glink" onmouseover="ehandler(event,menuitem5);">global
      link</a><a href="#" id="gl6" class="glink" onmouseover="ehandler(event,menuitem6);">global
      link</a><a href="#" id="gl7" class="glink" onmouseover="ehandler(event,menuitem7);">global
      link</a> 
    </div> 
    <!--end globalLinks-->      
  </div> 
  <!-- end globalNav --> 
  <div id="subglobal1" class="subglobalNav"> 
    <a href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1
    link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1
    link</a> | <a href="#">subglobal1 link</a> 
  </div> 
  <div id="subglobal2" class="subglobalNav"> 
    <a href="#">subglobal2 link</a> | <a href="#">subglobal2 link</a> | <a href="#">subglobal2
    link</a> | <a href="#">subglobal2 link</a> | <a href="#">subglobal2 link</a> | <a href="#">subglobal2
    link</a> | <a href="#">subglobal2 link</a> 
  </div> 
  <div id="subglobal3" class="subglobalNav"> 
    <a href="#">subglobal3 link</a> | <a href="#">subglobal3 link</a> | <a href="#">subglobal3
    link</a> | <a href="#">subglobal3 link</a> | <a href="#">subglobal3 link</a> | <a href="#">subglobal3
    link</a> | <a href="#">subglobal3 link</a> 
  </div> 
  <div id="subglobal4" class="subglobalNav"> 
    <a href="#">subglobal4 link</a> | <a href="#">subglobal4 link</a> | <a href="#">subglobal4
    link</a> | <a href="#">subglobal4 link</a> | <a href="#">subglobal4 link</a> | <a href="#">subglobal4
    link</a> | <a href="#">subglobal4 link</a> 
  </div> 
  <div id="subglobal5" class="subglobalNav"> 
    <a href="#">subglobal5 link</a> | <a href="#">subglobal5 link</a> | <a href="#">subglobal5
    link</a> | <a href="#">subglobal5 link</a> | <a href="#">subglobal5 link</a> | <a href="#">subglobal5
    link</a> | <a href="#">subglobal5 link</a> 
  </div> 
  <div id="subglobal6" class="subglobalNav"> 
    <a href="#">subglobal6 link</a> | <a href="#">subglobal6 link</a> | <a href="#">subglobal6
    link</a> | <a href="#">subglobal6 link</a> | <a href="#">subglobal6 link</a> | <a href="#">subglobal6
    link</a> | <a href="#">subglobal6 link</a> 
  </div> 
  <div id="subglobal7" class="subglobalNav"> 
    <a href="#">subglobal7 link</a> | <a href="#">subglobal7 link</a> | <a href="#">subglobal7
    link</a> | <a href="#">subglobal7 link</a> | <a href="#">subglobal7 link</a> | <a href="#">subglobal7
    link</a> | <a href="#">subglobal7 link</a> 
  </div> 
  <div id="subglobal8" class="subglobalNav"> 
    <a href="#">subglobal8 link</a> | <a href="#">subglobal8 link</a> | <a href="#">subglobal8
    link</a> | <a href="#">subglobal8 link</a> | <a href="#">subglobal8 link</a> | <a href="#">subglobal8
    link</a> | <a href="#">subglobal8 link</a> 
  </div> 
</div> 
<!-- end masthead --> 
<div id="pagecell1"> 
  <!--pagecell1--> 
  <img alt="" src="images/tl_curve_white.gif" height="6" width="6" id="tl"> <img alt="" src="images/tr_curve_white.gif" height="6" width="6" id="tr"> 
  <div id="breadCrumb"> 
    <?php include ('bemvindo.php'); ?>
  </div> 
  <div id="pageName"> 
    <h2>Page Name</h2> 
    <img alt="small logo" src="" height="59" width="66"/> 
  </div> 
  <div id="pageNav"> 
    <div id="sectionLinks"> 
      <a href="#">Section Link</a> <a href="#">Section Link</a> <a href="#">Section
      Link</a> <a href="#">Section Link</a> <a href="#">Section Link</a> <a href="#">Section
      Link</a> 
    </div> 
    <div class="relatedLinks"> 
      <h3>Related Link Category</h3> 
      <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> 
    </div> 
    <div class="relatedLinks"> 
      <h3>Related Link Category</h3> 
      <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> 
    </div> 
    <div id="advert"> 
      <img src="" alt="" width="107" height="66" /> Advertisement copy goes here.
      Advertisement copy goes here.
    </div> 
  </div> 
  <div id="content"> 
    <div class="feature"> 
      <?php include ('cadastrar.php'); ?>
    </div> 
    <div class="story"> 
      
    </div> 
    <div class="story"> 
      
    </div> 
  </div> 
   <div id="siteInfo"> 
    <img src="" width="44" height="22"> <a href="#">About Us</a> | <a href="#">Site
    Map</a> | <a href="#">Privacy Policy</a> | <a href="#">Contact Us</a> | &copy;2003
    Company Name
  </div> 
</div> 
<!--end pagecell1--> 
<br> 
<script type="text/javascript">
    <!--
      var menuitem1 = new menu(7,1,"hidden");
            var menuitem2 = new menu(7,2,"hidden");
            var menuitem3 = new menu(7,3,"hidden");
            var menuitem4 = new menu(7,4,"hidden");
            var menuitem5 = new menu(7,5,"hidden");
            var menuitem6 = new menu(7,6,"hidden");
            var menuitem7 = new menu(7,7,"hidden");
    // -->
    </script> 
</body>
</html>
"bemvindo.php"
<?
include("config.php");
include("include.php");


if(!$HTTP_COOKIE_VARS["usuario"] && !$HTTP_COOKIE_VARS["senha"]){
include("login.php");
}else{
echo"
<font face=$fonte size=$tfonte>
Bem vindo <b>$usuario</b>!&nbsp;&nbsp;&nbsp;<a href=?acao=sair>Sair</a>";
}

?>
"login.php"
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
include("config.php");
include("include.php");
include("verifica.php");

$query = mysql_query("Select * From users where login='$login_' and senha='$senha_'");
$valida = mysql_fetch_array($query);

$user = $valida["login"];
$pass = $valida["senha"];

if($login_ == '' || $senha_ == ''){
echo"
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">
<form action=\"login.php\" method=\"post\">
<table align=\"left\" width=\"90%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td height=\"25\"><font face=$fonte size=$tfonte>Bem vindo <b>visitante</b>!</td>
<td height=\"25\"><font face=\"$fonte\" size=\"$tfonte\">CPF/CNPJ:</font></td><td><input name=\"login_\" type=\" text\"></td>
<td height=\"25\"><font face=\"$fonte\" size=\"$tfonte\">Repita CPF/CNPJ:</font></td><td><input name=\"senha_\" type=\"password\"></td>
<td height=\"25\">&nbsp;</td><td><input name=\"logar\" type=\"submit\" value=\"Logar\"></td></tr>
</table>
</form>
</HTML>";
} elseif($login_ == $user && $senha_ == $pass){
setcookie("usuario", $login_);
setcookie("senha", $senha_);
//header("Location: cadastro.php");
} elseif($login_ != $valida["login"] || $senha_ != $valida["senha"]){
echo "<font face=\"$fonte\" size=\"$tfonte\">Usuário ou senha inválido.<br><a href=mailto:$admine>Contate o administrador</a> se você tem certeza de que os dados estão corretos.<br><br>
<a href=login.php>«« Voltar</a></font>";
}
?>
"cadastrar.php"
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
include("config.php");

  if($acao == 'cadastra'){
$sql = "SELECT * FROM users where login='$CampoNumero'";

$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");

if(mysql_num_rows($resultado)>0) {

while ($linha=mysql_fetch_array($resultado)) {
$CampoNumero = $linha["loginc"];
}
}
    if($CampoNumero == $loginc){
echo"<script>alert('Este CPF/CNPJ já está cadastrado. Entre com outro CPF/CNPJ');
history.back(-1);</script>";
}else{
    if (${"chkCPF"}=="on"){
        CalculaCPF($CampoNumero);
    }else{
        CalculaCNPJ($CampoNumero);
    }
}
} else {
echo"
<HTML>
<head>
<title>$nsite</title>
</head>
<font face=\"$fonte\" size=\"$tfonte\">
<form action=\"cadastrar.php?acao=cadastra\" method=\"post\" onSubmit=\"MM_validateForm('nome','','R','email','','NisEmail','ddd','','RisNum','telefone','','RisNum','endereco','','R','cep','','RisNum','cidade','','R','estado','','R','CampoNumero','','RisNum');return document.MM_returnValue\">
<table width=\"100%\" align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Nome:&nbsp;</font></td><td><input class=\"campo\" name=\"nome\" type=\"text\" size=\"30\" maxlength=\"255\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">E-mail:&nbsp;</font></td><td><input class=\"campo\" name=\"email\" type=\"text\" size=\"30\" maxlength=\"100\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">DDD(xx) - Telefone(somente números):&nbsp;</font></td><td><input class=\"campo\" name=\"ddd\" type=\"text\" size=\"2\" maxlength=\"2\"><font face=\"$fonte\" size=\"$tfonte\">&nbsp;-&nbsp;</font><input class=\"campo\" name=\"telefone\" type=\"text\" size=\"15\" maxlength=\"8\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Endereço:&nbsp;</font></td><td><input class=\"campo\" name=\"endereco\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">CEP (Somente números):&nbsp;</font></td><td><input class=\"campo\" name=\"cep\" type=\"text\" size=\"15\" maxlength=\"8\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Cidade:&nbsp;</font></td><td><input class=\"campo\" name=\"cidade\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">Estado:&nbsp;</font></td><td><input class=\"campo\" name=\"estado\" type=\"text\" size=\"30\"></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\"><input type=\"radio\" name=\"chkCPF\" value=\"on\" checked>CPF (pessoa física) ou</font></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\"><input type=\"radio\" name=\"chkCPF\" value=\"off\">CNPJ (pessoa jurídica)</font></td></tr>
<tr><td class=\"texto\"><font face=\"$fonte\" size=\"$tfonte\">N&uacute;mero (CPF/CNPJ):</font></td><td><input class=\"campo\" type=\"text\" name=\"CampoNumero\" size=\"18\" maxlength=\"14\"></td></tr>
<tr><td class=\"texto\"></td><td><input class=\"campo\" name=\"cadastrar\" type=\"submit\" value=\"Cadastrar\"></td></tr>
<tr><td class=\"texto\"></td><td><font face=\"$fonte\" size=\"$tfonte\"><a href=java script:history.go(-1)>«« Voltar</a></font></td></tr>
</table>
</HTML>
";
}

  //Calcula CPF

  function CalculaCPF($CampoNumero)
  {
   $RecebeCPF=$CampoNumero;
   //Retirar todos os caracteres que não sejam 0-9
   $s="";
   for ($x=1; $x<=strlen($RecebeCPF); $x=$x+1)
   {
    $ch=substr($RecebeCPF,$x-1,1);
    if (ord($ch)>=48 && ord($ch)<=57)
    {
      $s=$s.$ch;
    }
   }
   
   $RecebeCPF=$s;
   if (strlen($RecebeCPF)!=11)
   {
    echo "<script>alert('CPF deve conter 11 dígitos.');
history.back(-1);</script>";
   }
   else
     if ($RecebeCPF=="00000000000")
     {
       $then;
       echo "<script>alert('CPF Inválido. Entre com um CPF Válido');
history.back(-1);</script>";
     }
     else
     {
      $Numero[1]=intval(substr($RecebeCPF,1-1,1));
      $Numero[2]=intval(substr($RecebeCPF,2-1,1));
      $Numero[3]=intval(substr($RecebeCPF,3-1,1));
      $Numero[4]=intval(substr($RecebeCPF,4-1,1));
      $Numero[5]=intval(substr($RecebeCPF,5-1,1));
      $Numero[6]=intval(substr($RecebeCPF,6-1,1));
      $Numero[7]=intval(substr($RecebeCPF,7-1,1));
      $Numero[8]=intval(substr($RecebeCPF,8-1,1));
      $Numero[9]=intval(substr($RecebeCPF,9-1,1));
      $Numero[10]=intval(substr($RecebeCPF,10-1,1));
      $Numero[11]=intval(substr($RecebeCPF,11-1,1));

     $soma=10*$Numero[1]+9*$Numero[2]+8*$Numero[3]+7*$Numero[4]+6*$Numero[5]+5*
     $Numero[6]+4*$Numero[7]+3*$Numero[8]+2*$Numero[9];
     $soma=$soma-(11*(intval($soma/11)));

    if ($soma==0 || $soma==1)
    {
      $resultado1=0;
    }
    else
    {
      $resultado1=11-$soma;
    }

    if ($resultado1==$Numero[10])
    {
     $soma=$Numero[1]*11+$Numero[2]*10+$Numero[3]*9+$Numero[4]*8+$Numero[5]*7+$Numero[6]*6+$Numero[7]*5+
     $Numero[8]*4+$Numero[9]*3+$Numero[10]*2;
     $soma=$soma-(11*(intval($soma/11)));

     if ($soma==0 || $soma==1)
     {
       $resultado2=0;
     }
     else
     {
      $resultado2=11-$soma;
     }
     if ($resultado2==$Numero[11]){
        $nome = $_POST['nome'];
        $email = $_POST['email'];
        $ddd = $_POST['ddd'];
        $telefone = $_POST['telefone'];
        $endereco = $_POST['endereco'];
        $cep = $_POST['cep'];
        $cidade = $_POST['cidade'];
        $estado = $_POST['estado'];
        $cpf = $_POST['CampoNumero'];
        $cnpj = '';
        $login = $_POST['CampoNumero'];
        $senha = $_POST['CampoNumero'];
        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')");

if($sql){
echo "<script>alert('Usuário cadastrado com sucesso.');
location.href='logado.php';
</script>
";
} else {
echo "<script>alert('Não foi possível cadastrar usuário.');
history.back(-1);
</script>
";
}

     }
     else
     {
     echo "<script>alert('CPF Inválido. Entre com um CPF Válido');
history.back(-1);</script>";
     }
    }
    else
    {
     echo "<script>alert('CPF Inválido. Entre com um CPF Válido');
history.back(-1);</script>";
    }
   }
  }
// Fim do Calcula CPF


//Função que calcula CNPJ

  function CalculaCNPJ($CampoNumero)
  {
   $RecebeCNPJ=${"CampoNumero"};

   $s="";
   for ($x=1; $x<=strlen($RecebeCNPJ); $x=$x+1)
   {
    $ch=substr($RecebeCNPJ,$x-1,1);
    if (ord($ch)>=48 && ord($ch)<=57)
    {
     $s=$s.$ch;
    }
   }

   $RecebeCNPJ=$s;
   if (strlen($RecebeCNPJ)!=14)
   {
     echo "<script>alert('CNPJ deve conter 14 dígitos.');
history.back(-1);</script>s</h1>";
   }
   else
    if ($RecebeCNPJ=="00000000000000")
    {
     $then;
     echo "<script>alert('CNPJ Inválido. Entre com um CNPJ Válido');
history.back(-1);</script>";
   }
   else
   {
    $Numero[1]=intval(substr($RecebeCNPJ,1-1,1));
    $Numero[2]=intval(substr($RecebeCNPJ,2-1,1));
    $Numero[3]=intval(substr($RecebeCNPJ,3-1,1));
    $Numero[4]=intval(substr($RecebeCNPJ,4-1,1));
    $Numero[5]=intval(substr($RecebeCNPJ,5-1,1));
    $Numero[6]=intval(substr($RecebeCNPJ,6-1,1));
    $Numero[7]=intval(substr($RecebeCNPJ,7-1,1));
    $Numero[8]=intval(substr($RecebeCNPJ,8-1,1));
    $Numero[9]=intval(substr($RecebeCNPJ,9-1,1));
    $Numero[10]=intval(substr($RecebeCNPJ,10-1,1));
    $Numero[11]=intval(substr($RecebeCNPJ,11-1,1));
    $Numero[12]=intval(substr($RecebeCNPJ,12-1,1));
    $Numero[13]=intval(substr($RecebeCNPJ,13-1,1));
    $Numero[14]=intval(substr($RecebeCNPJ,14-1,1));

    $soma=$Numero[1]*5+$Numero[2]*4+$Numero[3]*3+$Numero[4]*2+$Numero[5]*9+$Numero[6]*8+$Numero[7]*7+
    $Numero[8]*6+$Numero[9]*5+$Numero[10]*4+$Numero[11]*3+$Numero[12]*2;

    $soma=$soma-(11*(intval($soma/11)));

   if ($soma==0 || $soma==1)
   {
     $resultado1=0;
   }
   else
   {
    $resultado1=11-$soma;
   }
   if ($resultado1==$Numero[13])
   {
    $soma=$Numero[1]*6+$Numero[2]*5+$Numero[3]*4+$Numero[4]*3+$Numero[5]*2+$Numero[6]*9+
    $Numero[7]*8+$Numero[8]*7+$Numero[9]*6+$Numero[10]*5+$Numero[11]*4+$Numero[12]*3+$Numero[13]*2;
    $soma=$soma-(11*(intval($soma/11)));
    if ($soma==0 || $soma==1)
    {
     $resultado2=0;
    }
   else
   {
   $resultado2=11-$soma;
   }
   if ($resultado2==$Numero[14]){
        $nome = $_POST['nome'];
        $email = $_POST['email'];
        $ddd = $_POST['ddd'];
        $telefone = $_POST['telefone'];
        $endereco = $_POST['endereco'];
        $cep = $_POST['cep'];
        $cidade = $_POST['cidade'];
        $estado = $_POST['estado'];
        $cpf = '';
        $cnpj = $_POST['CampoNumero'];
        $login = $_POST['CampoNumero'];
        $senha = $_POST['CampoNumero'];        
        $sql = mysql_query("Insert into users values('$id', '$nome', '$email', '$ddd', '$telefone', '$endereco', '$cep', '$cidade', '$estado', '$cpf', '$cnpj', '$login', '$senha')");

if($sql){
echo "<script>alert('Usuário cadastrado com sucesso.');
location.href='logado.php';
</script>
";
} else {
echo "<script>alert('Não foi possível cadastrar usuário.');
history.back(-1);
</script>
";
}

   }
   else
   {
   echo "<script>alert('CNPJ Inválido. Entre com um CNPJ Válido');
history.back(-1);</script>";
   }
  }
  else
  {
   echo "<script>alert('CNPJ Inválido. Entre com um CNPJ Válido');
history.back(-1);</script>";
  }
 }
}
//Fim do Calcula CNPJ
?>
<?
include("copyright.php");
?>
<HTML>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,que,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='O campo '+nm+' requer um endereço de email válido.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='O campo '+nm+' aceita somente números.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += 'O campo '+nm+' deve ser preenchido.\n'; }
  } if (errors) alert('Erro ao preencher o formulário:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
</html>
"config.php"
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
// Endereço do seu servidor MySQL
$dbhost='localhost';

// Usuário do MySQL
$dbuser='acapes_frl';

// Senha do MySQL
$dbpasswd='******';

// Nome do Banco de dados
$dbname='acapes_protecao';

####################################
#           Não altere               #
####################################
// Conexão com o Banco de Dados
$conexao = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("Não foi possível conectar-se ao servidor MySQL");
$db = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados <b>$dbname</b>");
?>
"include.php"
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
####################################
#           Não altere               #
####################################
// Sistema para verificar se é administrador
include("config.php");
$sql = "SELECT * FROM config";

$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta ao banco de dados");

if(mysql_num_rows($resultado)>0) {

while ($linha=mysql_fetch_array($resultado)) {
$adminl = $linha["adminl"];
$nsite = $linha["nsite"];
$usite = $linha["usite"];
$nsite = $linha["nsite"];
$fonte = $linha["fonte"];
$tfonte = $linha["tfonte"];
}}
?>
"verifica.php"
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
####################################
#           Não altere               #
####################################
// Sistema para verificar se o usuário já está logado ou não
if(!$HTTP_COOKIE_VARS["usuario"] && !$HTTP_COOKIE_VARS["senha"]){
header("Location: cadastro.php");
}
if($acao == sair){
setcookie("usuario");
setcookie("senha");
header("location: cadastro.php");
}
?>

Bem, aí estão os códigos. Espero que possam me ajudar

Link to comment
Share on other sites

  • 0

O lance do erro:

Warning: Cannot modify header information - headers already sent by (output started at /home/acapes/public_html/lorentino/cadastro.php:9) in /home/acapes/public_html/lorentino/verifica.php on line 11
Eu tirei os header("location: cadastro.php"); e resolveu :lol: Já para efetuar logoff, logout, usa session_destroy
session_start();
session_destroy();

:D

estou modificando o script que você postou, já tá sem erros.

Link to comment
Share on other sites

  • 0

Poisé cara... o lance do erro do header eu ví em outro post para usar uma função em javascript que faça redirecionamento.

Mas agora eu estava pensando no seguinte.

o header("location: cadastro.php"); (ou qualquer outra função que faça redirecionamento) vai redirecionar a pessoa exclusivamente para cadastro.php. Eu queria saber se existe alguma maneira de que essa pessoa fosse redirecionada para a página que ele estava antes de fazer o login.

Pois eu quero permitir que ela faça o login em qualquer parte do site e seria estranho ela efetuar o login em pagina1.php e ser transferida para pagina2.php após login.

Será que tem como?

Vou esperar as modificações no script. Quando eu chegar em casa eu vejo como ficou, pois agora to trabalhando.

Valeu []'s

Link to comment
Share on other sites

  • 0

Você pode colocar, no link ou formulário de login, um campo dizendo a pagina que se está atualmente. Tipo.

<form...>
<input type="hidden" name="paginaatual" value="<?=$_SERVER['PHP_SELF']?>">
.....
</form>

Daí, quando a pessoa enviar o fomulário, na página que verifica o login, é só colocar pro redirecionamento ir pra variável $_POST['paginaatual'].

Entendeu?

EDIT:

Se você usa Query String, é só substituir, no formulário ou link, $_SERVER['PHP_SELF'] por $_SERVER['QUERY_STRING'] e, claro, tratar a string, para o caso de haver várias informações depois do ?.

Link to comment
Share on other sites

  • 0

Se eu fosse usar javascript para redirecionamento, você sabe como usar uma variável do PHP em JavaScript?

Será que um simples comando de "Refresh de página" não resolveria o meu problema?

Gutto, não deu pra postar o script modificado?!

EDIT

Caramba... to quase conseguindo!

Só falta saber uma função que pega o nome da página atual para usar no header, porque isso que o ikkinet disse eu não consegui fazer.

Alguém aí sabe como pegar o nome da página atual?

quando eu estiver com tempo eu coloco o código com minhas modificações!

Link to comment
Share on other sites

  • 0

Bem... vou colocar os códigos que sofreram modificações aqui!

cadastro.php

<?php include ('verifica.php');?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=">
<title>Untitled Document</title>
<link rel="stylesheet" href="styles/emx_nav_left.css" type="text/css">
<script type="text/javascript">
<!--
var time = 3000;
var numofitems = 7;

//menu constructor
function menu(allitems,thisitem,startstate){ 
  callname= "gl"+thisitem;
  divname="subglobal"+thisitem;  
  this.numberofmenuitems = 7;
  this.caller = document.getElementById(callname);
  this.thediv = document.getElementById(divname);
  this.thediv.style.visibility = startstate;
}

//menu methods
function ehandler(event,theobj){
  for (var i=1; i<= theobj.numberofmenuitems; i++){
    var shutdiv =eval( "menuitem"+i+".thediv");
    shutdiv.style.visibility="hidden";
  }
  theobj.thediv.style.visibility="visible";
}
                
function closesubnav(event){
  if ((event.clientY <48)||(event.clientY > 107)){
    for (var i=1; i<= numofitems; i++){
      var shutdiv =eval('menuitem'+i+'.thediv');
      shutdiv.style.visibility='hidden';
    }
  }
}
// -->
</script>
</head>
<body onmousemove="closesubnav(event);"> 
<div class="skipLinks">skip to: <a href="#content">page content</a> | <a href="pageNav">links on this page</a> | <a href="#globalNav">site navigation</a> | <a href="#siteInfo">footer (site information)</a> </div>
<div id="masthead"> 
  <h1 id="siteName">Site Name</h1> 
  <div id="utility"> 
    <a href="#">Utility Link</a> | <a href="#">Utility Link</a> | <a href="#">Utility
    Link</a> 
  </div> 
  <div id="globalNav"> 
    <img alt="" src="images/gblnav_left.gif" height="32" width="4" id="gnl"> <img alt="" src="images/glbnav_right.gif" height="32" width="4" id="gnr"> 
    <div id="globalLink"> 
      <a href="#" id="gl1" class="glink" onmouseover="ehandler(event,menuitem1);">global 
      link</a><a href="#" id="gl2" class="glink" onmouseover="ehandler(event,menuitem2);">global
      link</a><a href="#" id="gl3" class="glink" onmouseover="ehandler(event,menuitem3);">global
      link</a><a href="#" id="gl4" class="glink" onmouseover="ehandler(event,menuitem4);">global
      link</a><a href="#" id="gl5" class="glink" onmouseover="ehandler(event,menuitem5);">global
      link</a><a href="#" id="gl6" class="glink" onmouseover="ehandler(event,menuitem6);">global
      link</a><a href="#" id="gl7" class="glink" onmouseover="ehandler(event,menuitem7);">global
      link</a> 
    </div> 
    <!--end globalLinks-->      
  </div> 
  <!-- end globalNav --> 
  <div id="subglobal1" class="subglobalNav"> 
    <a href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1
    link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1 link</a> | <a href="#">subglobal1
    link</a> | <a href="#">subglobal1 link</a> 
  </div> 
  <div id="subglobal2" class="subglobalNav"> 
    <a href="#">subglobal2 link</a> | <a href="#">subglobal2 link</a> | <a href="#">subglobal2
    link</a> | <a href="#">subglobal2 link</a> | <a href="#">subglobal2 link</a> | <a href="#">subglobal2
    link</a> | <a href="#">subglobal2 link</a> 
  </div> 
  <div id="subglobal3" class="subglobalNav"> 
    <a href="#">subglobal3 link</a> | <a href="#">subglobal3 link</a> | <a href="#">subglobal3
    link</a> | <a href="#">subglobal3 link</a> | <a href="#">subglobal3 link</a> | <a href="#">subglobal3
    link</a> | <a href="#">subglobal3 link</a> 
  </div> 
  <div id="subglobal4" class="subglobalNav"> 
    <a href="#">subglobal4 link</a> | <a href="#">subglobal4 link</a> | <a href="#">subglobal4
    link</a> | <a href="#">subglobal4 link</a> | <a href="#">subglobal4 link</a> | <a href="#">subglobal4
    link</a> | <a href="#">subglobal4 link</a> 
  </div> 
  <div id="subglobal5" class="subglobalNav"> 
    <a href="#">subglobal5 link</a> | <a href="#">subglobal5 link</a> | <a href="#">subglobal5
    link</a> | <a href="#">subglobal5 link</a> | <a href="#">subglobal5 link</a> | <a href="#">subglobal5
    link</a> | <a href="#">subglobal5 link</a> 
  </div> 
  <div id="subglobal6" class="subglobalNav"> 
    <a href="#">subglobal6 link</a> | <a href="#">subglobal6 link</a> | <a href="#">subglobal6
    link</a> | <a href="#">subglobal6 link</a> | <a href="#">subglobal6 link</a> | <a href="#">subglobal6
    link</a> | <a href="#">subglobal6 link</a> 
  </div> 
  <div id="subglobal7" class="subglobalNav"> 
    <a href="#">subglobal7 link</a> | <a href="#">subglobal7 link</a> | <a href="#">subglobal7
    link</a> | <a href="#">subglobal7 link</a> | <a href="#">subglobal7 link</a> | <a href="#">subglobal7
    link</a> | <a href="#">subglobal7 link</a> 
  </div> 
  <div id="subglobal8" class="subglobalNav"> 
    <a href="#">subglobal8 link</a> | <a href="#">subglobal8 link</a> | <a href="#">subglobal8
    link</a> | <a href="#">subglobal8 link</a> | <a href="#">subglobal8 link</a> | <a href="#">subglobal8
    link</a> | <a href="#">subglobal8 link</a> 
  </div> 
</div> 
<!-- end masthead --> 
<div id="pagecell1"> 
  <!--pagecell1--> 
  <img alt="" src="images/tl_curve_white.gif" height="6" width="6" id="tl"> <img alt="" src="images/tr_curve_white.gif" height="6" width="6" id="tr"> 
  <div id="breadCrumb"> 
    <?php include ('bemvindo.php'); ?>
  </div> 
  <div id="pageName"> 
    <h2>Page Name</h2> 
    <img alt="small logo" src="" height="59" width="66"/> 
  </div> 
  <div id="pageNav"> 
    <div id="sectionLinks"> 
      <a href="#">Section Link</a> <a href="#">Section Link</a> <a href="#">Section
      Link</a> <a href="#">Section Link</a> <a href="#">Section Link</a> <a href="#">Section
      Link</a> 
    </div> 
    <div class="relatedLinks"> 
      <h3>Related Link Category</h3> 
      <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> 
    </div> 
    <div class="relatedLinks"> 
      <h3>Related Link Category</h3> 
      <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> <a href="#">Related Link</a> <a href="#">Related Link</a> <a href="#">Related
      Link</a> 
    </div> 
    <div id="advert"> 
      <img src="" alt="" width="107" height="66" /> Advertisement copy goes here.
      Advertisement copy goes here.
    </div> 
  </div> 
  <div id="content"> 
    <div class="feature"> 
      <?php include ('cadastrar.php'); ?>
    </div> 
    <div class="story"> 
      
    </div> 
    <div class="story"> 
      
    </div> 
  </div> 
   <div id="siteInfo"> 
    <img src="" width="44" height="22"> <a href="#">About Us</a> | <a href="#">Site
    Map</a> | <a href="#">Privacy Policy</a> | <a href="#">Contact Us</a> | &copy;2003
    Company Name
  </div> 
</div> 
<!--end pagecell1--> 
<br> 
<script type="text/javascript">
    <!--
      var menuitem1 = new menu(7,1,"hidden");
            var menuitem2 = new menu(7,2,"hidden");
            var menuitem3 = new menu(7,3,"hidden");
            var menuitem4 = new menu(7,4,"hidden");
            var menuitem5 = new menu(7,5,"hidden");
            var menuitem6 = new menu(7,6,"hidden");
            var menuitem7 = new menu(7,7,"hidden");
    // -->
    </script> 
</body>
</html>
verifica.php
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
####################################
#           Não altere               #
####################################
if($acao == sair){
setcookie("usuario");
setcookie("senha");
header("location: cadastro.php");
}
?>
bemvindo.php
<?
include("config.php");
include("include.php");

if(!$HTTP_COOKIE_VARS["usuario"] && !$HTTP_COOKIE_VARS["senha"]){
include("login.php");
}else{
echo"
<font face=$fonte size=$tfonte>
Bem vindo <b>$usuario</b>!&nbsp;&nbsp;&nbsp;<a href=?acao=sair>Sair</a>";
}
?>
login.php
<?
####################################
#    Protegendo páginas v. 2.5     #
#  Script desenvolvido por |paes|  #
####################################
include("config.php");
include("include.php");


$query = mysql_query("Select * From users where login='$login_' and senha='$senha_'");
$valida = mysql_fetch_array($query);

$user = $valida["login"];
$pass = $valida["senha"];

if($login_ == '' || $senha_ == ''){
echo"
<HTML>
<title>$nsite</title>
<font face=\"$fonte\" size=\"$tfonte\">
<form action=\"login.php\" method=\"post\">
<table align=\"center\" width=\"90%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr><td height=\"25\"><font face=$fonte size=$tfonte>Bem vindo <b>visitante</b>!</td>
<td height=\"25\"><font face=\"$fonte\" size=\"$tfonte\">CPF/CNPJ:</font></td><td><input name=\"login_\" type=\"text\"></td>
<td height=\"25\"><font face=\"$fonte\" size=\"$tfonte\">Repita CPF/CNPJ:</font></td><td><input name=\"senha_\" type=\"password\"></td>
<td height=\"25\">&nbsp;</td><td><input name=\"logar\" type=\"submit\" value=\"Logar\"></td></tr>
</table>
</form>
</HTML>";
} elseif($login_ == $user && $senha_ == $pass){
setcookie("usuario", $login_);
setcookie("senha", $senha_);
header("Location: cadastro.php");
} elseif($login_ != $valida["login"] || $senha_ != $valida["senha"]){
echo "<font face=\"$fonte\" size=\"$tfonte\">Usuário ou senha inválido.<br><a href=mailto:$admine>Contate o administrador</a> se você tem certeza de que os dados estão corretos.<br><br>
<a href=login.php>«« Voltar</a></font>";
}
?>

Bem, esses foram os códigos que tiveram mudanças.

Aparentemente está tudo perfeito, mas agora vem o grande desafio...

Vocês podem ver que sempre depois do login/logoff o header é direcionado para a página cadastro.php. Mas como eu havia citado anteriormente, eu quero que seja possível efetuar o login em qualquer página do site, então não ficaria legal fazer login na pagina1.php e parar na pagina2.php.

Alguém sabe como poderei capturar a página anterior ao login/logoff, e armazenar em uma variável global que poderia ser utilizada no header tanto em login.php quanto em verifica.php?!

Vou colocar aqui o link de onde está hospedado temporariamente todo esse sistema acima. Assim dá pra ver como que tá funcionando +-.

http://www.acap-es.org.br/lorentino/cadastro.php

usem o cpf 45761613506 para teste

EDITANDO:

Bem galera... achei esse tópico aqui que fala sobre o assunto do que estou precisando.

http://scriptbrasil.com.br/forum/index.php...pturar+anterior

Mas não consegui botar em prática o que foi dito pelo beraldo.

Usando header("Location: $_SERVER[HTTP_REFERER]"); até que funcionou direitinho, mas como foi citado que ele não é confiável, prefiro usar o que foi explicado pelo beraldo!

Tem como alguém editar o código aí pra mim?!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...