Ir para conteúdo

POWERED BY:

Arquivado

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

J.Victtor-SP

Tela em branco PHP

Recommended Posts

Toda vez que eu insiro os dados validos e aperto no botão para cadastrar aparece uma pagina em branco sem apontar em nenhum erro na minha opinião o esse esta no if pq ele n consegue entrar no if ele ja vai direto pro else sem apontar nenhum erro.






<?php

include("conexao.php");

$incorreto = Array();

if(isset($_POST['conta'])){

if( strlen($_POST['nome']) == 0 || strlen($_POST['nome']) > 60){

$incorreto[] = "Nome invalido";

}if(substr_count($_POST['email'], '@') != 1 || substr_count($_POST['email'], '.com') <= 0 || strlen($_POST['email']) > 80 || strlen($_POST['email']) == 0){

$incorreto[] = "Email invalido";

}

$sel = "SELECT cd_email FROM tb_conta WHERE cd_email = '$_POST[email]'";
$selC = mysql_query($sel, $conexao) or die(mysql_error());
$selL = mysql_num_rows($selC) or die(mysql_error());

if($selL == 1){

$incorreto[] = "Email ja existente";

}

if(strlen($_POST['senha']) < 8 || strlen($_POST['senha']) > 30){

$incorreto[] = "Senha pequena";

}if(strcmp($_POST['senha'], $_POST['csenha']) != 0){

$incorreto[] = "Senhas diferentes";

}

if ($incorreto == 0 ){//ESSA È A VERIFICAÇAO Q FAZ DA ERRADO

$ins = "INSERT INTO tb_conta(cd_conta, cd_email, cd_senha, dt_cad_conta) VALUES('','$_POST[email]', '$_POST['senha'])', NOW())";
$insC = mysql_query($ins,$conexao) or die(mysql_error());

if($insC == true){

echo "<script>location.href='login.php';</script>";

}

}else{

foreach ($incorreto as $incorreto) {

echo "<script>alert('$incorreto')</script>";

}

}

}

include("conexaoFecha.php");

?>

<!DOCTYPE html>
<html lang="pt-br">
<head>

<title>Cadastro</title>

<?php

include ('links.php');

?>

</head>
<body>

<section id="title" class="wet-asphalt">
<div class="container">
<div class="row">
<div class="col-sm-6">
<center><h1>Crie aqui sua propria conta</h1></center>
</div>
</div>
</div>
</section>

<section id="registration" class="container">
<form method="POST" class="center" role="form">
<fieldset class="registration-form">
<div class="form-group">
<div class="col-sm-2">
<label for="nome" class="labels-info">Nome</label>
</div>
<input required type="text" maxlength="60" name="nome" value="" placeholder="Nome" class="form-control" autofocus>
</div>
<div class="form-group">
<div class="col-sm-3">
<label for="email">E-mail</label>
</div>
<input required type="email" maxlength="80" name="email" value="" placeholder="E-mail" class="form-control">
</div>
<div class="form-group">
<div class="col-sm-2">
<label for="senha" class="labels-info">Senha</label>
</div>
<input required type="password" maxlength="30" name="senha" placeholder="Senha" class="form-control">
<h6>A senha deve conter entre 8 a 30 caracteres.</h6>
</div>
<div class="form-group">
<div class="col-sm-5">
<label for="csenha" class="labels-info">Confirme a Senha</label>
</div>
<input required type="password" maxlength="30" name="csenha" placeholder="Senha" class="form-control">
</div>
<div class="form-group">
<input type="submit" name="conta" value="Criar conta" class="btn btn-success btn-md btn-block">
</div>
</fieldset>
</form>
</section>

<?php

include('scripts.php');

?>

</body>
</html>


Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante

Cara, sem querer ofender, mas, o mysql está extinto, sugiro que use o PDO ou Mysqli

<?php
//O PROBLEMA ESTÁ NESTA LINHA, VEJA QUE TEM UM PARÊNTESE DEPOIS DO POST "senha", FORA ISSO, SERIA INTERESSANTE você CONCATENAR

$ins = "INSERT INTO tb_conta(cd_conta, cd_email, cd_senha, dt_cad_conta) VALUES('','$_POST[email]', '$_POST['senha'])', NOW())";     

$ins = "INSERT INTO tb_conta (cd_conta, cd_email, cd_senha, dt_cad_conta) VALUES('','".$_POST['email']."', '".$_POST['senha']."', NOW())";   

//Sugiro que migre para o Mysqli ou PDO, pois o mysql está sendo extinto
//Nada como uma pesquisa aqui dentro do fórum sobre o assunto não resolva todos os seus problemas
//Se mesmo assim se não encontrar, vá ao Youtube lá tem conteúdo vídeo-aula para iniciantes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não sabia que o mysql ja estava extinto. Mais quais são as vantagem de eu usar PDO ou mysqli alem de ser as linguagens que estao sendo usando no momento? Eu acho que eu nao expliquei direito o meu problema. Quando eu envio os dados para o PHP e eles sao validos sendo que todos os dados estao correto ele nao entra no if ele so aparece uma pagina em branco esse é o codigo:

 

if (count($incorreto) == 0){//ESSA È A VERIFICAÇAO Q FAZ DA ERRADO
$ins = "INSERT INTO tb_conta(cd_conta, cd_email, cd_senha, dt_cad_conta) VALUES('','$_POST', '$_POST[senha]', NOW())";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica seria ir no php.ini e configurar alterar a tag:

 

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

 

isso vai mostrar todos os erros e avisos do php.

 

Outro Detalhe você iniciou a variável com array(); então, mesmo que não entre mais nenhum dado ela tem que ter um array vazio. Verifique se onde você colocou o echo na variavel $incorreto está sendo executado.

 

para verificar isso coloque um echo em cada if, cada else, para ver em quais ele está entrando.

 

No caso de variaveis preenchidas com array ou objeto não use echo use var_dump($variavel);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilite todas as exibições de erro, como mostrado neste tópico, na Orientação No. 2. Isso vai exibir as mensagens de erro, em vez da tela em branco

 

 

 

PS: como já citado, funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pelas dicas Beraldo e BBim_ladem. Eu mudei as configuraçoes do php para mostrar os erro, mais agora o site apresenta esse erro:

 

string(15) "teste@teste.com" Erro na linha da pesquisa do email.

 

Onde "teste@teste.com" foi o email que eu inserir e a frase " Erro na linha da pesquisa do email. " esta nesse if:

 

$sel = "SELECT * FROM tb_conta WHERE cd_email = '$_POST'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até onde eu sei, não se usa or die para mysql_num_rows (na documentação do php fala que se der erro vai retornar false, já mysql_query se tiver falha vai retornar um mysql_error)

 

para ter certeza, retire essa parte, e teste, qualquer coisa printa o resultado de mysql_num_rows e poste aqui o resultado.

 

(string(15) é o tipo de dado com o tamanho - resultado do comando var_dump())

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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