Salve, sono nuovo e premetto che non so una ceppa sia di php che di sql.
Ho trovato tutto online e funziona tutto correttamente ma vorrei aggiungere una funzione in fase di registrazione tipo "l'utente che ti ha fatto conoscere il sito". Nella pagina dedicata di registrazione web ho gia inserito la casella per l'immissione del nome utente ma adesso mi servirebbe da "aggiungere la funzione" al file register.php che allego
Mi servirebbe che mi cercasse nel database sql, se in fase di registrazione del nuovo utente (lo chiamo Pippo e si registra con username Pippo1) ha inserito nella casella Recruit un username di un altra persona (Gianni, username Gianne22 e ha ID=1). Nel caso Pippo avesse messo nella casella Recruit Gianne22 ( non é obbligatorio che vada a vedere maiuscole o minuscole) gli venga inserito nell intersezione riga e colonna "recruit del database l'Id di Gianni.
allego spiegazione in inglese che forse é piu chiara
allego anche dbconf.php nel caso servisse a qualcosa
un grazie anticipato a chi cercherá di aiutarmi.
Ho trovato tutto online e funziona tutto correttamente ma vorrei aggiungere una funzione in fase di registrazione tipo "l'utente che ti ha fatto conoscere il sito". Nella pagina dedicata di registrazione web ho gia inserito la casella per l'immissione del nome utente ma adesso mi servirebbe da "aggiungere la funzione" al file register.php che allego
PHP:
<?php
include('../config/dbconf.php');
function encrypt($user, $pass) {
$user = strtoupper($user);
$pass = strtoupper($pass);
return sha1($user.':'.$pass);
}
if($_POST['pass'] != $_POST['pass2']){
echo "The passwords don't match.<br/>";
}
$username = $_POST['user'];
$password = encrypt($username, $_POST['pass']);
$email = $_POST['email'];
$count = 0;
$stmt = $conn->prepare("SELECT * FROM account WHERE username=?");
$stmt->bind_param("s", $username);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows > 0) {
$count = 1;
}
if($count == 0) {
$sql = "INSERT INTO account (username,sha_pass_hash, email) VALUES(?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sss", $username, $password, $email);
if($stmt->execute()) {
echo "registered";
}else{
echo "Failed to register<br>" . $stmt->error;
}
}else{
echo "username already taken";
}
?>
allego spiegazione in inglese che forse é piu chiara
PHP:
That is, lets say there is an account called Alice (account id 10) and she recruits Bob (account id 20). The following SQL query would do the trick.
update account set recruiter = 10 where id = 20;
HTML:
<div class="signin-form">
<div class="container">
<div class="row">
<div class="col-lg-4 col-md-6 col-sm-8 col-xs-12">
<div class="mytitle">Account Registration</div>
<div id="error"></div>
<div id="success"></div>
<form action="functions/register.php" class="form-signin" method="POST" id="register-form">
<div class="form-group">
<label for="user">Username:</label>
<input type="text" id="user" class="form-control" name="user" required>
<span id="check-e"></span>
</div>
<div class="form-group">
<label for="pass">Password:</label>
<input type="password" id="pass" class="form-control" name="pass" required>
</div>
<div class="form-group">
<label for="pass2">Confirm Password:</label>
<input type="password" id="pass2" class="form-control" name="pass2" required>
</div>
<div class="form-group">
<label for="email">Email:</label>
<input type="email" id="email" class="form-control" name="email" required>
</div>
<div class="form-group">
<label for="ecruit">Recruit:</label>
<input type="recruit" id="recruit" class="form-control" name="recruit">
</div>
<div class="form-group">
<button type="submit" class="btn btn-default" name="btn-save" id="btn-submit">
<span class="glyphicon glyphicon-log-in"></span> Create Account
</button>
</div>
</form>
</div>
</div>
</div>
</div>
PHP:
<?php
$dbhost = "127.0.0.1";
$dbuser = "root";
$dbpass = "ascent";
$accdb = "auth";
$chardb = "characters";
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $accdb);
?>
Ultima modifica di un moderatore: