-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenviar_criar_user.php
More file actions
132 lines (115 loc) · 5.51 KB
/
enviar_criar_user.php
File metadata and controls
132 lines (115 loc) · 5.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
ini_set("display_errors", "on");
//usar estilo CSS na pág. PHP
echo '<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="custom_style.css" />';
require("./db_connect.php");
//verifica se a sessão está iniciada
require('sessao.php');
require("./PHPMailer-master/PHPMailerAutoload.php");
//verificar se o input=submit foi usado = variavel $_POST['submit'] existe
if (isset($_POST['submit'])){
//apenas efetuando o login com conta de admin é possivel enviar dados
if ($tipo_conta == 2){
//converter email para minusculas
$emailowercase = strtolower($_POST['email']);
if (mb_strlen($emailowercase, "UTF-8") < 5){
die('Erro na criação da conta' . $emailowercase . '<a href = "./perfil_admin.php">Voltar atrás</a>');
}
else {
/*Funcao usada p/ criar string valida em SQL usada por um "statment" de SQL.
The string is encoded to an escaped SQL string, taking in account the current character set of the connection*/
$nome = mysqli_real_escape_string($db_connect, $_POST['nome_socio']);
$email = mysqli_real_escape_string($db_connect, $emailowercase);
$pass = mysqli_real_escape_string($db_connect, $_POST['pass1']);
$contacto = mysqli_real_escape_string($db_connect, $_POST['contacto']);
$morada = mysqli_real_escape_string($db_connect, $_POST['morada']);
$cc = mysqli_real_escape_string($db_connect, $_POST['cc']);
$nif = mysqli_real_escape_string($db_connect, $_POST['nif']);
$nib = mysqli_real_escape_string($db_connect, $_POST['nib']);
$nr_socio = mysqli_real_escape_string($db_connect, $_POST['nr_socio']);
//$tipo = mysqli_real_escape_string($db_connect, $_POST['tipo']);
//$ficheiro = mysqli_real_escape_string($db_connect, $_FILES['fotografia']['tmp_name']);
//fotografia para ser inserida na BD
/*$fp = fopen($ficheiro, "rb");
$ficheiro_conteudo = fread($fp, filesize($_FILES['fotografia']['tmp_name']));
$foto_conteudo = mysqli_real_escape_string($db_connect, $ficheiro_conteudo);
fclose($fp);*/
//segurança: password hashing
$options = ['cost' => 10, ];
$passhash = password_hash($pass, PASSWORD_BCRYPT, $options);
$mail = new PHPMailer;
// Modo de debug, 1-erros e mensagens; 2-mensagens
$mail->SMTPDebug = 0;
$mail->isSMTP();
//desativa verificação ssl(secure socket layers), visto que nao tenho nenhum certificado
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'pie.pesta@gmail.com'; // SMTP username
$mail->Password = 'pesta1100363'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->setFrom('pie.pesta@gmail.com', 'Gym');
$mail->addAddress($email, $nome); // Add a recipient
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Bem vindo(a) ao Gym';
$mail->Body = 'Bem vindo(a) ao Gym ' . $nome . ', qualquer dúvida ou esclarecimento necessário pode ser feita através deste email.';
$mail->AltBody = 'Bem vindo(a) ao Gym ' . $nome . ', qualquer dúvida ou esclarecimento necessário pode ser feita através deste email.';
//enviar dados para base de dados
/*$sql = "START TRANSACTION;
INSERT INTO rinte.cliente (idCliente, nomeCliente, cc, nif, nib, moradaCliente, telefoneCliente)
VALUES('$nr_socio', '$nome', '$cc', '$nif', '$nib', '$morada', '$contacto');
SELECT LAST_INSERT_ID() INTO @userIDinsert;
INSERT INTO rinte.autcliente (clientes_idClientes, emailCliente, passwordCliente)
VALUES(@userIDinsert,'$email', '$passhash');
COMMIT;";*/
mysqli_begin_transaction($db_connect, MYSQLI_TRANS_START_READ_WRITE);
mysqli_query($db_connect, "INSERT INTO rinte.cliente (nomeCliente, cc, nif, nib, moradaCliente, telefoneCliente)
VALUES('$nome', '$cc', '$nif', '$nib', '$morada', '$contacto');");
mysqli_query($db_connect, "INSERT INTO rinte.autcliente (clientes_idClientes, emailCliente, passwordCliente)
VALUES('$nr_socio','$email', '$passhash');");
$exeTransc = mysqli_commit($db_connect);
//caso de sucesso no envio if(mysqli_query($db_connect, $sql)){
if ($exeTransc) {
if ($mail->send()){
echo 'Conta criada com sucesso. Email enviado para: ' . $email .'.';
echo '<br><a href = "./perfil_admin.php">Perfil Admin</a>';
}
else {
echo 'Conta criada com sucesso. Mas ocorreu um erro no envio do email para: ' . $email . '<br><a href = "./perfil_admin.php">Perfil Admin</a>';
}
//caso de insucesso no envio
}
else {
echo 'Erro na criação da conta ' . $tipo_conta . ' <br> <a href = "./perfil_admin.php">Voltar atrás</a>';
}
mysqli_close($db_connect);
}
} else {
echo 'Erro na criação da conta . ' . $tipo_conta . ' <br> <a href = "./perfil_admin.php">Voltar atrás</a>';
}
}
//se a variavel submit nao estiver definida algo correu mal, então o user é redirecionado para pagina de criação de conta outra vez
else {
header("location:./logout.php");
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>GymLife</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="custom_style.css" />
</head>
<body>
</body>
</html>