-
Conteúdo Similar
-
Por Luiz Henrique
Olá pessoas.
Segue code depois explico.
class Usuario { public $email; private $senha; public function alteraSenha($senha) { $this->senha = md5($senha); } } class Cliente extends Usuario { public function __construct($email = null, $senha = null) { $this->email = $email; $this->senha = ($senha); } } $cliente = new Cliente("mail@mail.com","123456"); o retorno disso é: mail@mail.com / 123456. OK
Porém preciso tratar a senha e passar pela função alteraSenha e já tentei:
$cliente = new Cliente("mail@mail.com"); $cliente->alterSenha('12346'); Também assim dentro da classe Cliente:
public function setSenha($senha) { parent::alteraSenha($senha); } Dentro do __construct:
$this->senha = alteraSenha($senha);
E em todas as opções, o retorno da senha fica vazio, não dá erro mas volta vazio.
A única forma de funcionar é fazendo a declaração diferente:
$cliente = new Cliente(); $cliente->email = "mail@mail"; $cliente->setSenha('12356'); Dessa forma funciona, mas eu queria a declaração da outra forma para otimizar linhas.
O que estou fazendo errado.
Obrigado
-
Por Sapinn
Boa pessoal. Então, estou fazendo um sistema para uma loja de manutenção de aparelhos eletrônicos, e eu tenho um formulário de cadastro onde eu posso inserir os dados de um cliente e os dados do seu aparelho. E eu consigo cadastrar simultaneamente cada um em suas respectivas tabelas. O que eu gostaria de fazer era assim que cadastra-se o cliente pega-se o seu id( Nesse caso o ultimo id inserido) e inserisse na tabela serviços junto. No PDO tem um jeito de fazer isso que é usando o lastInsertId() mas eu não estou sabendo como retornar esse ultimo id para fazer essa inserção
-
Por Sapinn
Iai galera beleza? Estou com um erro simples aqui como eu faço para estender minha conexão para outros arquivos ? Estou tentado fazer mas está dado um erro aqui
arquivo connection.php
<?php
class Conexao{
public $db_name = 'pessoa';
public $host = 'localhost';
public $user = 'root';
public $pass = '';
public function __construct()
{
try {
$pdo = new PDO("mysql:db_name=".$this->db_name.";host=".$this->host,$this->user,$this->pass);
} catch (PDOException $e) {
echo "Erro no banco ".$e->getMessage();
exit();
}
}
}
arquivo Pessoa.php
<?php
include 'connection.php';
class Pessoa {
private $pdo;
public function __construct()
{
$this->pdo = new Conexao();
}
public function buscarDados(){
$stmt = [];
$sql = $this->pdo->query("SELECT * FROM pessoa
order by id desc");
$stmt = $sql->fetchAll(PDO::FETCH_ASSOC);
return $stmt;
}
}
arquivo index.php
<?php
require_once 'models/Pessoa.php';
$p = new Pessoa();
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="assets/css/style.css">
<title>Crud PDO </title>
</head>
<body>
<section id="esquerda">
<form action="">
<h2>Cadastrar Pessoa</h2>
<label for="nome">Nome: </label>
<input type="text" name="nome" id="nome">
<label for="telefone">Telefone: </label>
<input type="text" name="telefone" id="telefone">
<label for="email">Email:</label>
<input type="text" name="email" id="email">
<input type="submit" value="Cadastrar">
</form>
</section>
<section id="direita">
<?php
$p->buscarDados();
?>
<table>
<tr id="titulo">
<td>Nome</td>
<td>Telefone</td>
<td colspan="2">Email</td>
</tr>
<tr>
<td>Maria</td>
<td>00000000</td>
<td>maria@gmail.com</td>
<td><a href="">Editar</a> <a href="">Excluir</a></td>
</tr>
</table>
</section>
</body>
</html>
Erro que é apresentado:
Fatal error: Uncaught Error: Call to undefined method Conexao::query()
-
Por Sapinn
Estou com dificuldade para chamar um arquivo CSS usando a configuração de um arquivo php. O bootstrap também não surte efeito na paginas
Vejam só
Config.php
<?php define('APP_NOME','Projeto GIBI'); define('URL','http://localhost/bora_php');
index.php
<?php include './../app/configuracao.php'; include './../app/Libraries/Rota.php'; include './../app/Libraries/Controller.php'; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="<?=URL?>/public/css/estilos.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" > <title><?= APP_NOME?></title> </head> <body> <?php $rotas = new Rota(); ?> <script src="https://code.jquery.com/jquery-3.5.1.min.js" ></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" ></script> <script src="<?=URL?>/public/css/script.js" ></script> </body> </html> estilo.css
html{ background-color: red; }
Estou tentando seguir a padronização MVC(que por sinal eu tenho certa dificuldade), então não consigo achar onde estou errando
-
Por lucascientista
Boa noite pessoal, sou iniciante no php e tenho uma dúvida que eu acho que pode ser bem simples para vocês que estão mais avançados do que eu. Bom, eu gostaria de saber como usar a orientação ao objeto para cadastro no banco de dados - mysql, só que eu não sei fazer da maneira orientada ao objeto e gostaria de saber.
<?php class Pessoa { $nome; $sobrenome; $endereço; } gostaria de saber como usar uma classe parecida a de cima com o banco de dados
Muito obrigado, toda ajuda é bem vinda
-