[PHP] registrazione utente in un database sql con confronto

Azalyn

Nuovo Utente
20 Ago 2019
1
0
1
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
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";
}
?>
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
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> &nbsp; Create Account
            </button>
          </div>
        </form>
      </div>
    </div>
  </div>
</div>
allego anche dbconf.php nel caso servisse a qualcosa
PHP:
<?php
$dbhost = "127.0.0.1";
$dbuser = "root";
$dbpass = "ascent";
$accdb = "auth";
$chardb = "characters";

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $accdb);
?>
un grazie anticipato a chi cercherá di aiutarmi.
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.439
338
83
@Azalyn
Quando posti del codice non devi usare sempre il tag
Codice:
ma va usato il tag
PHP:
per il codice PHP e il tag
HTML:
per il codice HTML.
Il tag CODE va usato per il codice generico
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Controllo nome utente form di registrazione PHP 4
D Problema script registrazione utente php mysql PHP 14
F [PHP]Errore registrazione PHP 8
Tommy03 Generare file PHP dopo registrazione PHP 2
G [PHP] Revisione codice per registrazione PHP 8
B [PHP] Mail di Avvenuta registrazione PHP 4
damiano.f [PHP] variabili su immagine e registrazione dati su db PHP 0
L [PHP] Registrazione/Logina la psw deve contenere.. PHP 3
ANDREA20 [PHP] problema registrazione PHP 50
P [PHP] come criptare una password in un form di registrazione PHP 4
F Codic e php visibile su form registrazione utenti PHP 2
P Problema con file di registrazione in php, non funziona e dà continui errori PHP 0
I Registrazione PHP PHP 14
G Inserimento array proveniente da un modulo di registrazione con PHP e MySQL PHP 6
F script php form registrazione PHP 13
M Pagina di registrazione e login in php PHP 4
A form registrazione + php + alert javascript Javascript 6
G phpmailer e php 8.1 con estensione mysqli PHP 5
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0

Discussioni simili