This repository has been archived on 2019-01-15. You can view files and clone it, but cannot push or open issues or pull requests.
SistemiPHP/negozioVirtuale/register.php

70 lines
2.3 KiB
PHP

<?php
include 'globals.php';
if (isset($_SESSION['cliente'])) {
header('Location: dashboard.php');
die();
} else {
$conn = @mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die(mysqli_connect_error());
}
if (isset($_GET['tok']) && isset($_GET['user'])) {
$query = 'SELECT * FROM `clienti` WHERE Username=\''.$_GET['user'].'\' AND Tok=\''.$_GET['tok'].'\'';
$ris = @mysqli_query($conn, $query) or die('Errore');
if (mysqli_num_rows($ris) != 1) {
$msg = 'Validazione mail non valida';
} else {
$query = 'UPDATE `clienti` SET Tok=\'valido\' WHERE Username=\''.$_GET['user'].'\' AND Tok=\''.$_GET['tok'].'\'';
$ris = @mysqli_query($conn, $query) or die('Errore');
header('Location: login.php');
die();
}
}
if (isset($_POST['register'])) {
$usr=$_POST['name'];
$psw=$_POST['password'];
$email=$_POST['email'];
$query = "SELECT * FROM `clienti` WHERE Username='$usr' OR Email='$email'";
$ris = @mysqli_query($conn, $query) or die('Errore');
if (mysqli_num_rows($ris) > 0) {
$msg = 'Utente già registrato';
} else {
$tok = bin2hex(random_bytes(15));
$query = "INSERT INTO `clienti` (`Username`, `Password`, `Email`, `Tok`) VALUES ('$usr','$psw','$email','$tok')";
$ris = @mysqli_query($conn, $query) or die('Errore');
$message = "Benvenuto!\r\nPer registrarti, vai al link:\r\n\r\nhttp://"
.'localhost:'.$_SERVER['SERVER_PORT'].'/register.php?tok='.htmlspecialchars($tok)
.'&user='.htmlspecialchars($usr);
mail($email, 'Registrati', $message);
header('Location: login.php');
die();
}
} ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="description" content="Negozio virtuale">
<meta name="keywords" content="php.server">
<title>Negozio Virtuale</title>
</head>
<body>
<h1>Registrati</h1>
<a href="./login.php">Login</a>
<?php if (isset($msg)) {
echo "<p>$msg</p>";
} ?>
<form action="register.php" method="post">
<input type="text" name="name" placeholder="username"/><br/>
<input type="password" name="password" placeholder="password"/><br/>
<input type="email" name="email" placeholder="indirizzo email"/><br/>
<input type="submit" class="submit" name="register" value="Registrati" />
</form>
</body>
</html>