Last active
September 28, 2021 22:21
-
-
Save marcelomx/14c5a86c1a5b899a5fdc21519ecb54c8 to your computer and use it in GitHub Desktop.
Cadastro de usuario simples
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class UserController | |
{ | |
protected $config; | |
public function __construct(array $config) | |
{ | |
$this->config = $config; | |
$this->conn = mysqli_connect($config['host'], $config['user'], $config['password'], $config['database']); | |
if (!$this->conn) { | |
die('Ocorreu um erro ao conectar no banco'); | |
} | |
} | |
public function cadastrar() | |
{ | |
$dados = $_POST; | |
$erro = ''; | |
if (empty($dados['email'])) { | |
$erro = 'Informe o email'; | |
} else { | |
if (empty($dados['senha'])) { | |
$erro = 'Informe a senha'; | |
} else { | |
if (strlen($dados['senha']) < 6) { | |
$erro = 'A senha é muito curta'; | |
} else { | |
$res = mysqli_query($this->conn, "SELECT * FROM usuarios WHERE email = '" . $dados['email'] . "'"); | |
if (mysqli_num_rows($res) > 0) { | |
$erro = 'Usuario já existe com esse email'; | |
} else { | |
$res = mysqli_query($this->conn, "INSERT INTO usuarios (nome, email, senha) | |
VALUES ('" . $dados['email'] . "', '" . $dados['email'] . "', '" . $dados['senha'] . "')"); | |
if (!$res) { | |
$erro = 'Ocorreu um erro cadastrar o usuario'; | |
} else { | |
$enviado = mail($dados['email'], 'Cadastro realizado', "Oi {$dados['nome']}, seu cadastro foi realizado"); | |
if (!$enviado) { | |
$erro = 'Nao foi possível enviar o email de cadastro'; | |
} | |
} | |
} | |
} | |
} | |
} | |
if (empty($erro)) { | |
header('Content-Type: application/json'); | |
echo json_encode([ | |
'erro' => $erro | |
]); | |
} else { | |
header('Content-Type: application/json'); | |
echo json_encode([ | |
'msg' => 'Cadastro realizado com sucesso' | |
]); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment