Ir para conteúdo

POWERED BY:

Arquivado

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

Jefferson andre

Erro no contador de linhas de um login

Recommended Posts

Saudações,

estou com um programa de login apresentando erro e nao estou determinando o motivo, sei que nao consegue determinar a quantidade de linhas da pesquisa.

 

Mensagem de rro:

Fatal error: Uncaught Error: Call to undefined method mysqli_result::fetchColumn() in C:\xampp\htdocs\xcompbrasil\logar.php:39 Stack trace: #0 {main} thrown in C:\xampp\htdocs\xcompbrasil\logar.php on line 39

 

O banco de dados abre normalmente e o erro esta na linha $rowCount = (int) $rs1->fetchColumn();

 

Agradeço a ajuda

<?php 
// session_start inicia a sessão
session_start();

// as variáveis login e senha recebem os dados digitados na página anterior
// rotinas de seguranca contra ataques via input colocados abaixo
$email_login = $_POST['email_login'];
$senha_login = $_POST['senha_login'];
$senha_login = sha1(md5($senha_login));
$email_login = filter_var($email_login, FILTER_SANITIZE_STRIPPED);


/*
$user_input = "<script>alert('Your site sucks!');</script>";
echo "<script>alert('Your site sucks!');</script>";
*/

//$nome     = $MySQL_real_escape_string(strip_tags(trim($email_login)));

if(empty($_POST['email_login']) || empty($_POST['senha_login'])) {
	echo "<script>alert('O email e a senha são obrigatorios!');</script>";
	
	header('Location: login.php');
	exit();
}

include("conexao.php");

//$query = "select cliente from clientes where cliente = '{$cliente}' and senha = md5('{$senha}')";

//$consultar_usuarios = $arquivo->query("SELECT * FROM usuarios_admin WHERE email = '{$email_login}'");
//$sql = "SELECT * FROM usuarios_admin WHERE email = {'$email_login'} AND senha = {'$senha_login'}";
$sql = "SELECT * FROM usuarios_admin WHERE email = '$email_login'";
if ($res = $arquivo->query($sql)) {

	 echo "<script>alert('Filtro: 1');</script>";

$rs1 = $arquivo->query('SELECT FOUND_ROWS()');
$rowCount = (int) $rs1->fetchColumn();

echo $rowCount;

    /* Check the number of rows that match the SELECT statement */
    if ($res->fetchColumn() > 0) {
		$_SESSION['email_login'] = $email_login;
		$_SESSION['senha_login'] = $senha_login;
		header('location:logado.php');

     }  
	 	  else {
		 unset ($_SESSION['email_login']);
		 unset ($_SESSION['senha_login']);

		 $user_input = "<script>alert('Acesso invalido!'+'Digite novamente o seu email e a senha!');</script>";
		 echo "<script>alert('Acesso invalido!');</script>";
		 echo $user_input;

   	}
}
	else {
			 echo "<script>alert('222222');</script>";
}

$sql = null;
$arquivo = null;

?>

Segue a estrutura da tabela usuarios_admin


id    int(11)    NO    PRI    NULL    auto_increment    
ativo    int(1)    NO        NULL        
email    varchar(60)    NO        NULL        
senha    varchar(50)    NO        NULL    

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente isso

Em 11/10/2019 at 18:50, Jefferson andre disse:

$sql = "SELECT * FROM usuarios_admin WHERE email = '$email_login'";

por isso 

$sql= "SELECT SQL_CALC_FOUND_ROWS * FROM usuarios_admin WHERE email = '$email_login'";

 

Exemplo de usar

veja se vai dar certo

assim

 

$query = "SELECT SQL_CALC_FOUND_ROWS * FROM usuarios_admin WHERE email = '$email_login' LIMIT 1";
$result = mysqli_query($link, $query);

$query = "SELECT FOUND_ROWS() AS count";
$result2 = mysqli_query($link, $query);

$row = mysqli_fetch_array($result2);

echo $row['count'];

 

Caso ajudar acesse o LINK AQUI

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 14/10/2019 at 11:27, Jack Oliveira disse:

Tente isso

por isso 

$sql= "SELECT SQL_CALC_FOUND_ROWS * FROM usuarios_admin WHERE email = '$email_login'";

 

Exemplo de usar

veja se vai dar certo

assim

 


$query = "SELECT SQL_CALC_FOUND_ROWS * FROM usuarios_admin WHERE email = '$email_login' LIMIT 1";
$result = mysqli_query($link, $query);

$query = "SELECT FOUND_ROWS() AS count";
$result2 = mysqli_query($link, $query);

$row = mysqli_fetch_array($result2);

echo $row['count'];

 

Caso ajudar acesse o LINK AQUI

Vou tentar suas dicas, obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por eduardodsilvaq
      Erro retornado no console do navegador: 400 bad request
      Rastreei o erro ate essa parte no arquivo admin-ajax.php mudando o valor de resposta de 0 para 1:
      if ( is_user_logged_in() ) { // If no action is registered, return a Bad Request response. if ( ! has_action( "wp_ajax_{$action}" ) ) { wp_die( '0', 400 ); } Tentei de tudo, mas infelizmente nao entendi oq realmente significa esse login e como ele funciona.
      Vi algumas pessoas tendo problema com o host, no meu caso estou usando hostinger. (Nao creio que isso e relevante mas ta ai.)
       
      Código utilizado:
       
      Javascript
      function formValidation() { event.preventDefault(); var name = document.forms["contactForm"]["name"].value; var email = document.forms["contactForm"]["email"].value; var subject = document.forms["contactForm"]["subject"].value; var message = document.forms["contactForm"]["message"].value; document.getElementById('status').innerHTML = ''; var errorMessage="<span class='error'>All fields are required.</span>"; var regEx = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (name.trim() == "" ||email.trim() == "" || subject.trim() == "" || message.trim() == "") { document.getElementById('status').innerHTML = errorMessage; return false; } if (!regEx.test(email)) { var errorMessage="<span class='error'>Invalid email.</span>"; document.getElementById('status').innerHTML = errorMessage; return false; } processContactSubmit(); return true; } function processContactSubmit() { var request = new XMLHttpRequest(); request.open("POST", "/wp-admin/admin-ajax.php?action=process_contact_form"); request.onreadystatechange = function() { if(this.readyState === 4 && this.status === 200) { document.getElementById("status").innerHTML = this.responseText; } }; var myForm = document.getElementById("contactForm"); var formData = new FormData(contactForm); request.send(formData); } functions.php
      add_action('wp_ajax_nopriv_process_contact_form', 'process_contact_form'); add_action('wp_ajax_process_contact_form', 'process_contact_form'); //Retirar essa parte para error no console, no contrario ira aparecer no navegador o numero 0. function process_contact_form() { $to = "Recipient Email Address"; $subject = $_POST["subject"]; $headers = "Testing"; $message = $_POST["message"]; $attachments = ""; $sent = wp_mail($to, $subject, $message, $headers, $attachments); if (! $sent) { echo "<span class='error'>Problem in sending mail.</span>"; } else { echo "<span class='success'>Hi, thank you for the message.</span>"; } wp_die(); } Html
      <form name="contactForm" id="contactForm" method="post" onsubmit="return formValidation()" action=""> <p class="comment-form-comment"><textarea id="message" name="message" required="" placeholder="" aria-required="true"></textarea></p> <p class="comment-form-author"><label for="author">Nome: </label> <input id="name" name="name" required="" size="30" type="text" value=" " /></p> <p class="comment-form-author about"><label for="author">Assunto: </label> <input id="subject" name="subject" required="" size="40" type="text" value=" " /></p> <p class="comment-form-email"><label for="email">Email: </label> <input id="email" name="email" required="" size="30" type="text" value="" /></p> <p class="form-submit"><input id="submit" class="submit" name="email_contato" type="submit" value="Enviar" /></p> </form>&nbsp; <h3><div id="status"></div></h3>  
    • Por belann
      Olá!
       
      Eu tentar logar no wordpress que instalei em minha máquina usando localhost e logando com wp-login.php, está dando uma mensagem que o banco de dados não pode ser acessado.
      Estou usando o xampp. O que pode estar errado.
    • Por acdestefani
      Olá pessoal!
      Peguei alguns códigos na internet para para estudar um pouco e aproveitei para desenvolver um sisteminha simples aqui onde eu trabalho. Consegui desenvolvê-lo usando esse arquivo de conexão:
      <?php /************************************************************************************************************* * @author William F. Leite * * Data: 20/06/2014 * * Descrição: Classe elaborada com o objetivo de auxlilar nas operações CRUDs em diversos SGBDS, possui * * funcionalidades para construir instruções de INSERT, UPDATE E DELETE onde as mesmas podem ser executadas * * nos principais SGBDs, exemplo SQL Server, MySQL e Firebird. Instruções SELECT são recebidas integralmente * * via parâmetro. * *************************************************************************************************************/ /* * Constantes de parâmetros para configuração da conexão */ define('SGBD', 'mysql'); define('HOST', 'localhost'); define('DBNAME', 'contratos_rh'); define('CHARSET', 'utf8'); define('USER', 'tonhao'); define('PASSWORD', '100375'); define('SERVER', 'linux'); class conexao { /* * Atributo estático de conexão */ private static $pdo; /* * Escondendo o construtor da classe */ private function __construct() { // } /* * Método privado para verificar se a extensão PDO do banco de dados escolhido * está habilitada */ private static function verificaExtensao() { switch(SGBD): case 'mysql': $extensao = 'pdo_mysql'; break; case 'mssql':{ if(SERVER == 'linux'): $extensao = 'pdo_dblib'; else: $extensao = 'pdo_sqlsrv'; endif; break; } case 'postgre': $extensao = 'pdo_pgsql'; break; endswitch; if(!extension_loaded($extensao)): echo "<h1>Extensão {$extensao} não habilitada!</h1>"; exit(); endif; } /* * Método estático para retornar uma conexão válida * Verifica se já existe uma instância da conexão, caso não, configura uma nova conexão */ public static function getInstance() { self::verificaExtensao(); if (!isset(self::$pdo)) { try { $opcoes = array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'); switch (SGBD) : case 'mysql': self::$pdo = new \PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD, $opcoes); break; case 'mssql':{ if(SERVER == 'linux'): self::$pdo = new \PDO("dblib:host=" . HOST . "; database=" . DBNAME . ";", USER, PASSWORD, $opcoes); else: self::$pdo = new \PDO("sqlsrv:server=" . HOST . "; database=" . DBNAME . ";", USER, PASSWORD, $opcoes); endif; break; } case 'postgre': self::$pdo = new \PDO("pgsql:host=" . HOST . "; dbname=" . DBNAME . ";", USER, PASSWORD, $opcoes); break; endswitch; self::$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { print "Erro: " . $e->getMessage(); } } return self::$pdo; } public static function isConectado(){ if(self::$pdo): return true; else: return false; endif; } } O sistema está funcionando perfeitamente, porém gostaria de incluir a necessidade de fazer login para acessá-lo. Usei o código abaixo, que também consegui na internet:
      <?php session_start(); include('conexao.php'); if(empty($_POST['usuario']) || empty($_POST['senha'])) { header('Location: index.php'); exit(); } $usuario = mysqli_real_escape_string($conexao, $_POST['usuario']); $senha = mysqli_real_escape_string($conexao, $_POST['senha']); $query = "SELECT usuario FROM tab_usuarios WHERE usuario = '{$usuario}' AND senha = md5('{$senha}')"; $result = mysqli_query($conexao, $query); $row = mysqli_num_rows($result); if($row == 1) { $_SESSION['usuario'] = $usuario; header('Location: painel_professor.php'); exit(); } else { $_SESSION['nao_autenticado'] = true; header('Location: index.php'); exit(); } Porém esse login só funciona usando esse arquivo de conexão:
      <?php define('HOST', '127.0.0.1'); define('USUARIO', 'tonhao'); define('SENHA', '100375'); define('DB', 'contratos_rh'); $conexao = mysqli_connect(HOST, USUARIO, SENHA, DB) or die ('Não foi possível conectar'); Como poderia adaptá-lo para que funcione com o primeiro arquivo de conexão? Tentei por vários dias, mas como tenho pouca experiência com programação, não consegui.
      Desde já agradeço a ajuda de todos
       
    • Por Sapinn
      Fala galera!!! Preciso de um contador regressivo que vá de horas minutos e segundos até zero e mesmo que seja atualizada a pagina o contador não é reiniciado. 
    • Por feasso
      É possível criar um sistema de cadastre-se ou logue-se usando LinkedIn ? Não achei nada na web que seja novo... apenas postagem de 2013!
×

Informação importante

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