pagina dinamica PHP

FoxWorn3365

Nuovo Utente
22 Set 2020
6
0
1
Ciao a tutti, oggi volevo chiedere risposta ad un dubbio
Io avevo intenzione di, quando un utente si logga nel sito di modificare la pagina secondo i suoi dati (Nickname)
Il mio login.php raccoglie i dati con $username e $password (tutto su MySQL). Ma quando io vado a mettere nel messaggio <h2>Benvenuto $username nella tua dashboard</h2> il testo viene fuori così: "Benvenuto $username nella tua dashboard" nonostante io abbia messo nella parte superiore del sito

PHP:
<?php include('server.php') ?>  // server.php è la pagina dove è presente la connessione al database MySQL, lo script del Login e lo script del Sigup
Per favore aiutatemi

Server.php:

PHP:
<?php
session_start();

// iniziamo con le variabili!
$username = "";
$email    = "";
$errors = array(); 

// ora ci connettiamo al nostro database
$db = mysqli_connect('localhost', 'non', 'mi fregare', 'l'host!');
// (NOTA PER IL FORUM) il "non mi fregare l'host" è solo per non mettere la vera password ;)

// registrazione utente
if (isset($_POST['reg_user'])) {
  // ricevo tutti gli imput del form
  $username = mysqli_real_escape_string($db, $_POST['username']);
  $email = mysqli_real_escape_string($db, $_POST['email']);
  $password_1 = mysqli_real_escape_string($db, $_POST['password_1']);
  $password_2 = mysqli_real_escape_string($db, $_POST['password_2']);

  // per la validazione controlliamo che sia tutto giusto
  // aggiungendo (array_push()) verrebbe fuori $errors array
  if (empty($username)) { array_push($errors, "Inserisci un Username!"); }
  if (empty($email)) { array_push($errors, "Inserisci l'Email"); }
  if (empty($password_1)) { array_push($errors, "Insersci la Password"); }
  if ($password_1 != $password_2) {
    array_push($errors, "Le password non corrispondono!");
  }

  // Controlliamo sul database per esserne sicuri al 100% 
  // mamma mia! Un' utente risulta con questa mail! Disdetta!
  $user_check_query = "SELECT * FROM users WHERE username='$username' OR email='$email' LIMIT 1";
  $result = mysqli_query($db, $user_check_query);
  $user = mysqli_fetch_assoc($result);
  
  if ($user) { // if user exists
    if ($user['username'] === $username) {
      array_push($errors, "L'username è gia in uso");
    }

    if ($user['email'] === $email) {
      array_push($errors, "Esiste gia un'account con questa email");
    }
  }

  // fianlmente mentre si logga controlliamo che sia tutto giusto
  if (count($errors) == 0) {
      $password = md5($password_1);//cripta la password prima di salvarla nel database... sai la sicurezza non è mai troppa

      $query = "INSERT INTO users (username, email, password) 
                VALUES('$username', '$email', '$password')";
      mysqli_query($db, $query);
      $_SESSION['username'] = $username;
      $_SESSION['success'] = "Sei finalmente entrato!";
      header('location: index.php');
  }
}

// ... 

// FINALMENTE LOGINNNNN!
if (isset($_POST['login_user'])) {
  $username = mysqli_real_escape_string($db, $_POST['username']);
  $password = mysqli_real_escape_string($db, $_POST['password']);

  if (empty($username)) {
      array_push($errors, "Username is required");
  }
  if (empty($password)) {
      array_push($errors, "Password is required");
  }

  if (count($errors) == 0) {
      $password = md5($password);
      $query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
      $results = mysqli_query($db, $query);
      if (mysqli_num_rows($results) == 1) {
        $_SESSION['username'] = $username;
        $_SESSION['success'] = "You are now logged in";
        header('location: index.php');
      }else {
          array_push($errors, "Wrong username/password combination");
      }
  }
}

?>
Grazie

:)
 

FoxWorn3365

Nuovo Utente
22 Set 2020
6
0
1
Inoltre mi servirebbe (se potete) un codice che indica che alla creazione di un'utente si crea una cartella con lo stesso nome della variabile $username
Grazie
 

Max61

Utente Attivo
2 Mar 2014
694
3
18
Inoltre mi servirebbe (se potete) un codice che indica che alla creazione di un'utente si crea una cartella con lo stesso nome della variabile $username
Grazie
Ciao, io per creare la cartella faccio così, ho un campo di nome linkcartella dove ci registro il percorso della cartella creata.
Codice
PHP:
$linkcartella="percorso_dove_vuoi_la_cartella/".(addslashes($username))."";
    mkdir("$linkcartella", 7777);
 

zorro

Utente Attivo
20 Ott 2014
249
11
18
ROMA
<h2>Benvenuto $username nella tua dashboard</h2>
Ciao, credo che il problema sia proprio quì: se tu scrivi '<h2>Benvenuto $username ...' lui scrive esattamente quello che si trova tra gli apici cioè Benvenuto $username. Per ottenere quello che vuoi tu devi scrivere
PHP:
"Benvenuto '.$username.'..........."
non ricordo se tra singoli o doppi apici