Ir para conteúdo

POWERED BY:

Arquivado

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

Alfredo B.

Erro Sistema De Cadastro de usuarios

Recommended Posts

Alguem sabe o porque desse erro? e como resolve-lo??

cadastrouser.php ----- http://pastebin.com/T1V7TyV9

formulario.php ----- http://pastebin.com/NyDbjbjG

conexão.php --- http://pastebin.com/ciM3hBSr

erro logo abaixo

Warning: include(lib/conexao.php): failed to open stream: No such file or directory in C:Program Files (x86)EasyPHP-DevServer-14.1VC11datalocalwebprojectsProjeto Weblibcadastrouser.phpon line 3

Warning
: include(): Failed opening 'lib/conexao.php' for inclusion (include_path='.;C:phppear') in C:Program Files (x86)EasyPHP-DevServer-14.1VC11datalocalwebprojectsProjeto Weblibcadastrouser.php on line 3

Deprecated
: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:Program Files (x86)EasyPHP-DevServer-14.1VC11datalocalwebprojectsProjeto Weblibcadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro erro é o diretório do arquivo que estar errado, verifique o caminho e se estar escrito corretamente.

 

O segundo eu não entendi direito mas vc pode da uma olhada nesse link -> http://stackoverflow.com/questions/62658/getting-pear-to-work-on-xampp-apache-mysql-stack-on-windows

 

Ja o terceiro é porq você estar usando mysql_query que ja estar obsoleta, então sera bom você usar ou msqli ou PDO. Eu recomendo o PDO.

 

Nesse site tem o basico do PDO para o CRUD -> http://www.devmedia.com.br/crud-com-php-pdo/28873

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui consertar o primeiro erro, mas agora ele está me mostrando esse erro

 

 

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 2

Warning: mysql_connect(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 2

Warning: mysql_connect(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 2

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 3

Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os dois primeiros erros são falhas nos diretórios dos arquivos. Verifique se os diretórios existem e estão escritos corretamente. Procure utilizar o caminho absoluto também, caso prefira maior precisão nisso (exemplo de diretório absoluto: /home/nome_da_minha_conta/public_html/minha_pagina.php). Inserindo o caminho absoluto nos seus includes e requires esse tipo de erro vai desaparecer, além de outras vantagens.

 

O terceiro erro, o rapaz acima já respondeu. Acrescentando, PDO é mais complicado, porém mais rápido que mysqli ainda (uma diferença que nem se pode levar em consideração de tão mínima, mas é mais rápido). Já o mysqli_ é bastante completo também e extremamente simples de se trabalhar, principalmente pra quem já tem costume de usar o antigo mysql.

 

Vou deixar abaixo uma classe razoavelmente simples pra você usar o mysqli_ se quiser e uns exemplos também:

<?php
$host = "localhost";
$usuario = "root";
$senha = "";
$banco = "meu_db";
class Conexao extends mysqli {
    private static $_connected = false;
    private static $_instance = null;
    public function  __destruct() {
        $this->close();
    }
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function connect() {
		global $host, $usuario, $senha, $banco;
        if(!self::$_connected) {
            parent::__construct(
                    $host,
                    $usuario,
                    $senha,
                    $banco
            );
            if(mysqli_connect_errno()) {
                throw new Exception('A Conexao falhou: '.mysqli_connect_error());
            }
            self::$_connected = true;
        }
    }
    public function close() {
 
        if(self::$_connected) {
            parent::close();
            self::$_connected = false;
        }
    }
    public function query($sql) {
        $this->connect();
        $result = parent::query($sql);
        if($result) {
            return $result;
        }
        else {
            throw new Exception('Query Exception: '.mysqli_error($this).' numero:'.mysqli_errno($this));
        }
    }
    public function ping() {
        if(@mysqli_ping($this)) {
            return true;
        }
        else {
            return false;
        }
    }
}

// SELECT SIMPLES EM UMA TABELA COM OS CAMPOS id E nome
try{
	$con = Conexao::getInstance();
	$res = $con->query("SELECT * FROM tabela");
	while($m=$res->fetch_array(MYSQLI_ASSOC)){
		echo $m["id"];
		echo "<hr>";
		echo $m["nome"];
	}
	
	// OBTÉM O TOTAL DE LINHAS SELECIONADAS
	$totalRegistros = $res->num_rows;
	
}catch(Exception $e){
	echo $e->getMessage();
}

// SELECT COMPLEXO EM UMA TABELA COM OS CAMPOS id E nome
try{
	$con = Conexao::getInstance();
	$res = $con->query("SELECT * FROM tabela WHERE id='1' ORDER BY nome ASC LIMIT 1,5");
	while($m=$res->fetch_array(MYSQLI_ASSOC)){
		echo $m["id"];
		echo "<hr>";
		echo $m["nome"];
	}
	$totalRegistros = $res->num_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// UPDATE EM UMA TABELA
try{
	$con = Conexao::getInstance();
	$res = $con->query("UPDATE tabela SET nome='Meu Nome' WHERE id='1'");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// DELETE EM UMA TABELA
try{
	$con = Conexao::getInstance();
	$res = $con->query("DELETE FROM tabela WHERE id='1'");
}catch(Exception $e){
	echo $e->getMessage();
}

/*
Além disso, você pode fazer quaisquer outras consultas normalmente, como faria no mysql_query antigo.
Este é o modo orientado a objetos, torna a conexão mais simples e confiável, além do método try{}catch(){}
que irá lhe avisar sobre quaisquer erros que tenham ocorrido na sua query. Desta forma, torna inútil e desnecessária
a utilização do OR DIE();
*/
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E, antes que pergunte: sim, você é obrigado a trocar o seu mysql_ pelo mysqli_ ou PDO, senão simplesmente nada vai funcionar nas suas páginas. Como diz o próprio erro: A extensão mysql_ está depreciada e será removida no PHP 7 e posteriores, utilize mysqli_ ou PDO em vez disso.

 

Uma outra observação também é que você não é obrigado a instanciar a conexão toda vez que for fazer uma query, pode fazer isso uma só vez, mesmo fora do try catch, assim:

<?php
$con = Conexao::getInstance();

// SELECT COMPLEXO EM UMA TABELA COM OS CAMPOS id E nome
try{
	$res = $con->query("SELECT * FROM tabela WHERE id='1' ORDER BY nome ASC LIMIT 1,5");
	while($m=$res->fetch_array(MYSQLI_ASSOC)){
		echo $m["id"];
		echo "<hr>";
		echo $m["nome"];
	}
	$totalRegistros = $res->num_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// UPDATE EM UMA TABELA
try{
	$res = $con->query("UPDATE tabela SET nome='Meu Nome' WHERE id='1'");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}

// DELETE EM UMA TABELA
try{
	$res = $con->query("DELETE FROM tabela WHERE id='1'");
}catch(Exception $e){
	echo $e->getMessage();
}
?>

Isso também funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sou muito ruim com PhP não entendi praticamente nada do seu codigo kkkkkkk, você pode traduzir o codigo meu que está lá em cima para o MySQLI ou PDO de uma forma que funcione? to quebrando a cabeça com isso a dias, antigamente era mais facil agora tá foda viu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu atualizei o codigo, não sei se está certo, ou o que está errado mas ele retornou um erro pra mim

 

conexão.php

<?php
$host = "http://127.0.0.1:8888/modules/phpmyadmin414x151009205647";
$usuario = "root";
$senha = "";
$banco = "amarenaacai";
class Conexao extends mysqli {
    private static $_connected = false;
    private static $_instance = null;
    public function  __destruct() {
        $this->close();
    }
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function connect() {
		global $host, $usuario, $senha, $banco;
        if(!self::$_connected) {
            parent::__construct(
                    $host,
                    $usuario,
                    $senha,
                    $banco
            );
            if(mysqli_connect_errno()) {
                throw new Exception('A Conexao falhou: '.mysqli_connect_error());
            }
            self::$_connected = true;
        }
    }
    public function close() {
 
        if(self::$_connected) {
            parent::close();
            self::$_connected = false;
        }
    }
    public function query($sql) {
        $this->connect();
        $result = parent::query($sql);
        if($result) {
            return $result;
        }
        else {
            throw new Exception('Query Exception: '.mysqli_error($this).' numero:'.mysqli_errno($this));
        }
    }
    public function ping() {
        if(@mysqli_ping($this)) {
            return true;
        }
        else {
            return false;
        }
    }
}

cadastrouser.php


				
                
          <?php
		  
		  try{
	$con = Conexao::getInstance();
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

ele retornou esse erro pra mim

 

Fatal error: Class 'Conexao' not found in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo eu não mexo muito com classe.

 

Faça um arquivo php, cole esse script e configure de acordo.

<?php
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = '';
// Conecta-se ao banco de dados MySQL
$mysqli = new mysqli($servidor, $usuario, $senha, $banco);
// Caso algo tenha dado errado, exibe uma mensagem de erro
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());

Depois é so incluir ele onde vc quiser fazer conexão.

 

Ou use o link de conexão diretamente.

$con= new mysqli('localhost', 'root', '', 'mydb');

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz dessa forma e continua dando erro

 

Warning: mysqli::mysqli(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 7

Warning: mysqli::mysqli(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line 7

Notice: php_network_getaddresses: getaddrinfo failed: Este host n�o � conhecido. in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line9

Notice: Undefined variable: con in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Fatal error: Call to a member function query() on a non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

 

 

conexao.php

<?php
$servidor = 'http://127.0.0.1:8888/modules/phpmyadmin414x151009205647';
$usuario = 'root';
$senha = '';
$banco = 'amarenaacai';
// Conecta-se ao banco de dados MySQL
$mysqli = new mysqli($servidor, $usuario, $senha, $banco);
// Caso algo tenha dado errado, exibe uma mensagem de erro
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());

?>

cadastrouser.php

				
                
          <?php
			include "conexao.php";
		  try{

	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo usa desse jeito aqui e me fiz o que retorna. Não esquece de configura.

<?php
		  
		  try{
	$con = new mysqli('localhost', 'root', '', 'bd');
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o erro que ele te retornou. Basta que você faça um include() ou require(), require_once(), include_once(), o que quiser na sua página cadastrouser.php e o problema vai deixar de existir. Recomendo grandemente que use a classe que te enviei, é extremamente simples e os disparos de erros estão bem trabalhados nela. Acredite, vai facilitar a sua vida depois que aprender a usar e vale o esforço.

 

Coloque a página conexao.php na mesma pasta que a cadastrouser.php e insira exatamente isso na primeira linha do seu código: require_once("conexao.php");

 

Eu atualizei o codigo, não sei se está certo, ou o que está errado mas ele retornou um erro pra mim

 

conexão.php

<?php
$host = "http://127.0.0.1:8888/modules/phpmyadmin414x151009205647";
$usuario = "root";
$senha = "";
$banco = "amarenaacai";
class Conexao extends mysqli {
    private static $_connected = false;
    private static $_instance = null;
    public function  __destruct() {
        $this->close();
    }
    public static function getInstance() {
        if (null === self::$_instance) {
            self::$_instance = new self ();
        }
        return self::$_instance;
    }
    public function connect() {
		global $host, $usuario, $senha, $banco;
        if(!self::$_connected) {
            parent::__construct(
                    $host,
                    $usuario,
                    $senha,
                    $banco
            );
            if(mysqli_connect_errno()) {
                throw new Exception('A Conexao falhou: '.mysqli_connect_error());
            }
            self::$_connected = true;
        }
    }
    public function close() {
 
        if(self::$_connected) {
            parent::close();
            self::$_connected = false;
        }
    }
    public function query($sql) {
        $this->connect();
        $result = parent::query($sql);
        if($result) {
            return $result;
        }
        else {
            throw new Exception('Query Exception: '.mysqli_error($this).' numero:'.mysqli_errno($this));
        }
    }
    public function ping() {
        if(@mysqli_ping($this)) {
            return true;
        }
        else {
            return false;
        }
    }
}

cadastrouser.php


				
                
          <?php
		  
		  try{
	$con = Conexao::getInstance();
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

ele retornou esse erro pra mim

 

Fatal error: Class 'Conexao' not found in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Amigo usa desse jeito aqui e me fiz o que retorna. Não esquece de configura.

<?php
		  
		  try{
	$con = new mysqli('localhost', 'root', '', 'bd');
	$res = $con->query("INSERT INTO usuarios (nome, email, senha, nascimento, telefone, endereco) 									                     values
					
					 ('".$_POST['nome']."','".$_POST['email']."','".$_POST['senha']."','".$_POST['nascimento']."','".$_POST['telefone']."','".$_POST['endereco']."',)");
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
		  
		  ?>

eu fiz da forma que você mostrou acima e ai o arquivo conexao.php deixou de existir, ficou só o cadastrouser.php

e ele deu esse erro agora...

 

Warning: mysqli::mysqli(): in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 4

 

Warning: mysqli::query(): Couldn't fetch mysqli in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 7

 

Notice: Trying to get property of non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\cadastrouser.php on line 9

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste o código desse jeito aqui:

<?php
require_once("conexao.php");
try{
	$con         = Conexao::getInstance();
	$nome        = $_POST["nome"];
	$email       = $_POST["email"];
	$senha       = $_POST["senha"];
	$nascimento  = $_POST["nascimento"];
	$telefone    = $_POST["telefone"];
	$endereco    = $_POST["endereco"];
	
	$campos      = "nome, email, senha, nascimento, telefone, endereco";
	$valores     = "'$nome', '$email', '$senha', '$nascimento', '$telefone', '$endereco'";
	$query       = "INSERT INTO usuarios (".$campos.") VALUES(".$valores.")";
	
	$res = $con->query($query);
	
	// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE
	$totalLinhasAfetadas = $res->affected_rows;
}catch(Exception $e){
	echo $e->getMessage();
}
?>

Coloque a página conexao.php na mesma pasta que a cadastrouser.php. Vale lembrar que esse código aqui é pra usar com a classe que te passei anteriormente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teste o código desse jeito aqui:

<?phprequire_once("conexao.php");try{	$con         = Conexao::getInstance();	$nome        = $_POST["nome"];	$email       = $_POST["email"];	$senha       = $_POST["senha"];	$nascimento  = $_POST["nascimento"];	$telefone    = $_POST["telefone"];	$endereco    = $_POST["endereco"];		$campos      = "nome, email, senha, nascimento, telefone, endereco";	$valores     = "'$nome', '$email', '$senha', '$nascimento', '$telefone', '$endereco'";	$query       = "INSERT INTO usuarios (".$campos.") VALUES(".$valores.")";		$res = $con->query($query);		// RETORNA O TOTAL DE LINHAS AFETADAS PELO UPDATE	$totalLinhasAfetadas = $res->affected_rows;}catch(Exception $e){	echo $e->getMessage();}?>

Coloque a página conexao.php na mesma pasta que a cadastrouser.php. Vale lembrar que esse código aqui é pra usar com a classe que te passei anteriormente.

 

 

 

agora deu esse erro

 

 

Strict Standards: Declaration of Conexao::connect() should be compatible with mysqli::connect($host = NULL, $user = NULL, $password = NULL, $database = NULL, $port = NULL, $socket = NULL) in[/size]C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line [/size]58

[/size]

Warning: mysqli::mysqli(): in [/size]C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line [/size]26

 

Warning: mysqli::mysqli(): in [/size]C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\Projeto Web\lib\conexao.php on line [/size]26

A Conexao falhou: php_network_getaddresses: getaddrinfo failed: Este host n�o � conhecido.[/size]

 

 

to achando que o problema tá no servidor do PhpMyAdmin vou tentar upar em algum host pra ver se funciona[/size]

 

tentei em outro host e mesmo assim da o mesmo erro não to entendendo.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Das duas, uma: ou a versão do seu PHP é incompatível, ou o seu host não funciona direito. Esse é o código que uso em 70% dos sites que administro, e é uma quantidade bastante razoável de sites. Em nenhum dá esse problema, todos rodam a versão 5.3 ou 5.5 nativa do PHP.

 

Mas repara em uma coisa:

 

 

trict Standards: Declaration of Conexao::connect() should be compatible with mysqli::connect($host = NULL, $user = NULL, $password = NULL, $database = NULL, $port = NULL, $socket = NULL)

Esse erro diz que o host, user, password, database, port e socket estão indo vazios pra sua conexão. Você tá tentando rodar esse script em qual hospedagem? Ou é sem servidor local?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então antes ele estava local agora eu hospedei ele e deu esse erro

 

A Conexao falhou: Access denied for user '1027537'@'localhost' (using password: YES)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então antes ele estava local agora eu hospedei ele e deu esse erro

 

A Conexao falhou: Access denied for user '1027537'@'localhost' (using password: YES)

 

Erro de parâmetro.

 

Verifique o host, user, password e banco de dados no seu site de hospedagem.

 

Quando tiver duvida crie um topico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • 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
×

Informação importante

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