Ir para conteúdo

Arquivado

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

Carlos Louvato

Gerar nova Senha :Warning: mysqli_query() expects parameter 1 to be

Recommended Posts

Olá, estou ativando um antigo código PHP.  Já tentei resolver com a troca de mysql_query()  para mysqli_query().

Onde iniciou erro que não consigo arrumar. Sei que no caso de mysqli_query() devo colocar o parametro no início: $conecta( no meu caso).

Se alguem puder me dar um paremetro para estudar , eu agradeço.

A finalidade é gerar uma nova senha. Manda automaticamente uma senha randômica e já troca automaticamente no banco de dados.

 

ERRO: 

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 35

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 36
Este email não é cadastrado em nosso banco de dados.

Segui código:

 

<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){

	if(!isset($email)){

        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 

		include "formulario_senha_perdida.html";

		exit();

	}

	// Checando se o email informado está cadastrado
		
	$sql_check = mysqli_query($conecta, "SELECT * FROM usuario WHERE email='{$email}'");
	$sql_check_num = mysqli_num_rows($sql_check);

	if($sql_check_num == 0){

		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";

		include "formulario_senha_perdida.html";

		exit();

	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!

	function makeRandomPassword(){

		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
		srand((double)microtime()*1000000);

		$i = 0;

		while ($i <= 7){

			$num = rand() % 33;
			$tmp = substr($salt, $num, 1);
			$pass = $pass . $tmp;
			$i++;

		}

		return $pass;

	}

	$senha_randomica = makeRandomPassword();

	$senha = md5($senha_randomica);

	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL

	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />

	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />

	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />

	Obrigado!<br /><br />

	Carlos Louvato (Organização)<br /><br /><br />


	Esta é uma mensagem automática, por favor não responda!";

	mail($email, $subject, $message, $headers);

	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";


}

?>

Lembrando que o email de recuperação vem de um formulario HTML.

Grato a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique:

1. se esta instalada a extensao mysqli (pesquise sobre phpinfo());

2. o que ha na variavel $conecta

(poste o arquivo conecta.php ou pesquise sobre mysqli_connect)

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, Fernando C disse:

verifique:

1. se esta instalada a extensao mysqli (pesquise sobre phpinfo());

2. o que ha na variavel $conecta

(poste o arquivo conecta.php ou pesquise sobre mysqli_connect)

Olá,  segui codigo $conecta

 

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conecta = "localhost";
$database_conecta = "copam957_****";
$username_conecta = "copam957_root";
$password_conecta = "*******";
$conecta = mysqli_connect($hostname_conecta, $username_conecta, $password_conecta) or trigger_error(mysql_error(),E_USER_ERROR); 
mysqli_set_charset($conecta, "utf8");
?>

Grato Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie um arquivo com qualquer nome em .php e coloque no arquivo: 

phpinfo();

 

Após, abra o arquivo no seu site, e procure pela extensão mysqli, se houver e tiver ativo, beleza, menos mau.

 

Seguindo seu código, deixe-o assim:

 

<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
	function makeRandomPassword(){
		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
		srand((double)microtime()*1000000);
		$i = 0;
		while ($i <= 7){
			$num = rand() % 33;
			$tmp = substr($salt, $num, 1);
			$pass = $pass . $tmp;
			$i++;
		}
		return $pass;
	}

	$senha_randomica = makeRandomPassword();
	$senha = md5($senha_randomica);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro ocorre pois no PHP variáveis globais não são acessíveis em outros escopos(http://php.net/manual/en/language.variables.scope.php) e você está tentando acessar a variável global $conecta no escopo da função recupera_senha.

 

Para que ela seja acessível você deve declarar a intenção de uso com a palavra chave global.

//...
function recupera_senha($email){
    global $conecta;
//...

 

Porem saliento que o uso de variáveis globais é desencorajado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 at 17:49, Jhess disse:

Crie um arquivo com qualquer nome em .php e coloque no arquivo: 


phpinfo();

 

Após, abra o arquivo no seu site, e procure pela extensão mysqli, se houver e tiver ativo, beleza, menos mau.

 

Seguindo seu código, deixe-o assim:

 


<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
	function makeRandomPassword(){
		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
		srand((double)microtime()*1000000);
		$i = 0;
		while ($i <= 7){
			$num = rand() % 33;
			$tmp = substr($salt, $num, 1);
			$pass = $pass . $tmp;
			$i++;
		}
		return $pass;
	}

	$senha_randomica = makeRandomPassword();
	$senha = md5($senha_randomica);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 

 Olá Jhess, Esta ativo a Extensão! Tenho algumas páginas trabalhando com mysqlI.

Apresentou o erro:

Citar

Parse error: syntax error, unexpected 'switch' (T_SWITCH) in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 9

 

Grato Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 at 20:16, HwapX disse:

O erro ocorre pois no PHP variáveis globais não são acessíveis em outros escopos(http://php.net/manual/en/language.variables.scope.php) e você está tentando acessar a variável global $conecta no escopo da função recupera_senha.

 

Para que ela seja acessível você deve declarar a intenção de uso com a palavra chave global.


//...
function recupera_senha($email){
    global $conecta;
//...

 

Porem saliento que o uso de variáveis globais é desencorajado.

 Olá, estou incluindo no escopo a informação. Devo incluir apenas o codigo: global $conecta; ?

Grato pela ajuda

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 11/05/2018 at 17:49, Jhess disse:

Crie um arquivo com qualquer nome em .php e coloque no arquivo: 


phpinfo();

 

Após, abra o arquivo no seu site, e procure pela extensão mysqli, se houver e tiver ativo, beleza, menos mau.

 

Seguindo seu código, deixe-o assim:

 


<?php

include "conecta.php";
mysqli_set_charset($conecta, "utf8");

$recupera = $_POST['recupera'];
$email = $_POST['email'];

switch($recupera){

	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu⳩o!
	function makeRandomPassword(){
		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
		srand((double)microtime()*1000000);
		$i = 0;
		while ($i <= 7){
			$num = rand() % 33;
			$tmp = substr($salt, $num, 1);
			$pass = $pass . $tmp;
			$i++;
		}
		return $pass;
	}

	$senha_randomica = makeRandomPassword();
	$senha = md5($senha_randomica);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 

image.thumb.png.701b7449c119b84a3c1524b9a479d269.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, vamos corrigir primeiro sua conexão com o banco:

 

<?php
//Comentarios sao dispensaveis
$hostname_conecta = "localhost";
$database_conecta = "copam957_****";
$username_conecta = "copam957_root";
$password_conecta = "*******";

//Na conexao que você havia feito, esqueceu de especificar a database no link de conexao
$conecta = new mysqli($hostname_conecta, $username_conecta, $password_conecta, $database_conecta);

if ($conecta->connect_error) {
    die("Erro de conexao: " . $conecta->connect_error);
} 

mysqli_set_charset($conecta, "utf8");
?>

 

Algum erro deve estar ocorrendo antes do seu switch, vamos tratar, então:

 

<?php

$recupera = addslashes($_POST['recupera']);
// echo $recupera; // Pra verificar o que está vindo
$email = addslashes($_POST['email']);

include "conecta.php"; // Verifique se o arquivo está correto e tem permissões no seu FTP / Host
//mysqli_set_charset($conecta, "utf8"); -- Como ja foi definido no arquivo conecta.php nao existe razao pra setar charset de novo

switch($recupera){
	case "recupera": //Verifique se é isso mesmo que está recebendo da sua variável $_POST['recupera']
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Jhess disse:

Ok, vamos corrigir primeiro sua conexão com o banco:

 


<?php
//Comentarios sao dispensaveis
$hostname_conecta = "localhost";
$database_conecta = "copam957_****";
$username_conecta = "copam957_root";
$password_conecta = "*******";

//Na conexao que você havia feito, esqueceu de especificar a database no link de conexao
$conecta = new mysqli($hostname_conecta, $username_conecta, $password_conecta, $database_conecta);

if ($conecta->connect_error) {
    die("Erro de conexao: " . $conecta->connect_error);
} 

mysqli_set_charset($conecta, "utf8");
?>

 

Algum erro deve estar ocorrendo antes do seu switch, vamos tratar, então:

 


<?php

$recupera = addslashes($_POST['recupera']);
// echo $recupera; // Pra verificar o que está vindo
$email = addslashes($_POST['email']);

include "conecta.php"; // Verifique se o arquivo está correto e tem permissões no seu FTP / Host
//mysqli_set_charset($conecta, "utf8"); -- Como ja foi definido no arquivo conecta.php nao existe razao pra setar charset de novo

switch($recupera){
	case "recupera": //Verifique se é isso mesmo que está recebendo da sua variável $_POST['recupera']
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

 

Olá, Jhess , antes de mais nada obrigado pela ajuda.

Fiz a mudança na conexão do Banco como solicitou. Tudo Certo!

 

Fiz  passa a passo o tratamento. O único erro

Citar

Parse error: syntax error, unexpected '}' in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 18

 

Fui acompanhando a abre e fecha das chaves, mais não achei o motivo do erro.

 

Verifiquei tb o arquivo e suas permissões no seu FTP / Host. Está com todas as permissões.

 

Vou postar código html do Formulário de senha perdida. Pelo que observei esta mandando as informações corretas.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formul&aacute;rio Nova Senha</title>
<style type="text/css">
@import url("css/estilos.css");
</style>
</head>
<div align="center"><iframe src="topointerno.html" width="800" height="400" align="middle" scrolling="no" frameborder="0"></iframe></div>
<body>
</form>
<form id="form2" name="form2" method="post" action="">
  <div align="center"></div>
</form>
<form name="form1" method="post" action="gerar_nova_senha.php">

  <div align="center">
    <p>Por favor digite o seu email que est&aacute; cadastrado em nosso banco de dados;<br />
      
      <input name="email" type="text" id="email" />
      <input name="recupera" type="hidden" id="recupera" value="recupera" />
    </p>
    <p>
      <input type="submit" name="Submit2" value="Gerar Senha" id="Submit2" />
    </p>
  </div>
</form>

</body>
</html>

Em algumas mudanças ele chegou a enviar o email de alteração. Mais não faz a mudança no banco pelo comando UPDATE.

Então pq deve ter erro como você falou antes do switch.

Grato pela ajuda. E vou tentando até conseguir acertar.

Grato Carlos Louvato

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 14/05/2018 at 17:26, Carlos Louvato disse:

Fiz  passa a passo o tratamento. O único erro

 

Tente tirar todos os comentários que eu coloquei.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 16/05/2018 at 14:11, Jhess disse:

 

Tente tirar todos os comentários que eu coloquei.

Olá JHESS.

Refiz todos os passos e corrigi o erro de sintaxe.

Codigo ficou:

 

<?php

$recupera = addslashes($_POST['recupera']);
$email = addslashes($_POST['email']);

include "conecta.php";

switch($recupera){
	case "recupera":
		recupera_senha($email);
		break;

	default:
		include "formulario_senha_perdida.html";
		break;
}

function recupera_senha($email){
	if(!isset($email)){
        echo "Você esqueceu de preencher seu email.<br />
			<strong>Use o mesmo email que utilizou em seu cadastro.</strong><br /><br />"; 
		include "formulario_senha_perdida.html";
		exit();
	}

	// Checando se o email informado está cadastrado
		
	if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){
    	$sql_check_num = $sql_check->num_rows;
    }

	if($sql_check_num == 0){
		echo "Este email não é cadastrado em nosso banco de dados.<br /><br />";
		include "formulario_senha_perdida.html";
		exit();
	}
	
	// Se tudo OK vamos gerar uma nova senha e enviar para o email do usu?o!
	function makeRandomPassword(){
		$salt = "abchefghjkmnpqrstuvwxyz0123456789";
		srand((double)microtime()*1000000);
		$i = 0;
		while ($i <= 7){
			$num = rand() % 33;
			$tmp = substr($salt, $num, 1);
			$pass = $pass . $tmp;
			$i++;
		}
		return $pass;
	}

	$senha_randomica = makeRandomPassword();
	$senha = md5($senha_randomica);
	$sql = mysqli_query($conecta, "UPDATE usuario SET senha='{$senha}' WHERE email ='{$email}'");

	$headers = "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "From: MKYS - 1Copa MKYS de Jiu Jitsu.<contato@copamkys.com.br>"; //COLOQUE TEU EMAIL
	$subject = "Sua nova senha no site COPA MKYS";
	$message = "Olá, redefinimos sua senha.<br /><br />
	<strong>Nova Senha</strong>: {$senha_randomica}<br /><br />
	<a href='http://www.copamkys.com.br/copa1/index.php'>http://www.copamkys.com.br/copa1/index.php</a><br /><br />
	Obrigado!<br /><br />
	Carlos Louvato (Organização)<br /><br /><br />
	Esta é uma mensagem automática, por favor não responda!";
	mail($email, $subject, $message, $headers);
	echo "<script language=javascript>alert( 'EMAIL ENVIADO COM SUCESSO! VERIFIQUE SEU E-MAIL!!' );location.href='index.php';</script>";
}
?>

 Voltou apresentar o erro:

Citar

Fatal error: Call to a member function query() on null in /home/copam957/public_html/copa1/gerar_nova_senha.php on line 28

 

Na linha :

 

if($sql_check = $conecta->query("SELECT * FROM usuario WHERE email = '{$email}'")){

 

Estou experimentando outras formas de solicitar novas senhas. mais ainda gosto de receber pelo email.

Obrigado pela ajuda.

Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

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