Buongiorno ragazzi, vado subito al dunque io ho sviluppato un piccolo giochino che fino ad ora facevo girare su xampp quindi in locale ora ho diciamo fatto il fatidico passo e sto hostando proprio qui su altervista, il problema che riscontro è che la registrazione di una password criptata che faccio in locale(xampp) funziona benissimo mentre appena mi sposto sul sito hostato su altervista la registrazione della password mi restituisce un campo vuoto nel db sapete quale possa essere l'errore?
(non credo sia un problema di query perchè appunto in locale funziona tutto bene e i db sono gli stessi)
la funzione che mi cripta la password è password_hash()
Codice:
<body>
<?php include 'connessione.php'?>
<div class="login-form">
<div class="text-center">
<h1>SassoCartaForbice</h1>
</div>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div class="text-center"><h2>Signup:</h2></div>
<hr>
<div class="form-group"><input type="text" name="username" class="form-control" placeholder="Username" required="required"></div>
<div class="form-group"><input type="password" class="form-control" name="password" placeholder="Password" required="required"></div>
<div class="form-group"><button type="submit" class="btn btn-primary btn-lg" name="signup">Sign Up</button></div>
</form>
<div class="hint-text">Already have an account? <a href="index.php">Login here</a></div>
</div>
<?php
if (isset($_POST['signup'])) {
$username = mysqli_real_escape_string($connessione,strip_tags(substr($_POST['username'], 0,32)));
$password = mysqli_real_escape_string($connessione,strip_tags(substr($_POST['password'], 0,32)));
//la password viene crittografata
$options = ['cost' => 10];
$pswCritt=password_hash($password, PASSWORD_ARGON2I,$options);//il secondo parametro rappresenta l'algoritmo da utilizzare (alternativa è PASSWORD_BCRYPT)
$inserimentoNome = "INSERT INTO `utente` (`nomeUtente`, password) VALUES ('$username', '$pswCritt')";
if (!$connessione->query("$inserimentoNome")) {
//se l'esecuzione della query non va a buon fine viene visualizzato un messaggio di errore
echo "<div class='text-center'>
<p>Username already exist. Retry</p>
</div>";
}else{
session_start();
$_SESSION['nomeUtente'] = $username;
header("location: gioco.php");
exit;
}
}
?>
</body>
</html>