Visualizzazione risultati 1 fino 4 di 4

Discussione: Php non rieso a far visualizzare il nome utente reggistrato

  1. #1
    Guest

    Predefinito Php non rieso a far visualizzare il nome utente reggistrato

    Salve gente ho iniziato da poco a studiare il php e devo dire che sto facento grandi passi , come prima cosa ho imparato a creare il login e la reggistrazione del utente , però non riesoco propio a far visualizzare il nome dell'utente reggistrato nella paggina home vi posto il codice HTML - PHP per vedere insieme a voi come poter risolvere il problema , grazie in anticipo :)

    Aggiungi_Utente.php


    Codice HTML:
    	<form action="php/GestioneUtenti/aggiungi_utente.php" method="POST">
    		  <input type="hidden" name="controllo" value="1">
        <span> Nome : </span>
        <input type="text" name="nome" class="input"  >
        <br />
        <span> Cognome: </span>
        <input type="text" name="cognome" class="input">
        <br />
        <span> Email: </span>
        <input type="text" name="email" class="input" placeholder="Campo obbligatorio">
        <br />
        <span> Password: </span>
        <input type="password" name="password" class="input" placeholder="Campo obbligatorio">
        <br />
        <input type="submit" value="Registrati" class="inputbotton" >
    	</form>
       </div>
    	<?php
    		//se ho inviato la form e l'email non è vuota
    		if ($_POST['controllo'] == '1' && $_POST['email'] != ""   )
    		{
    			$nome =  mysqli_real_escape_string($conn, $_POST['nome']);
    			$cognome =  mysqli_real_escape_string($conn, $_POST['cognome']);
    			$email =  mysqli_real_escape_string($conn, $_POST['email']);
    
    			$password =  mysqli_real_escape_string($conn, $_POST['password']);
    
    			$query ="
    				INSERT INTO  Utenti
    				( nome, cognome, email, password )
    				VALUES
    				( '".$nome."', '".$cognome."', '".$email."',  '".md5($password)."' )";
    			
    			echo $query;
    			mysqli_query($conn, $query);
    		?>
    
    		<?php
    		//altrimenti, se ho inviato solo la form (ma l'email è vuota)
    		} else if ($_POST['controllo'] == '1') {
    		?>
    			<h4>Impossibile reggistrarsi controlla se hai inserito bene l'email</h4>
    		<?php
    		}
    	?>
        

    il database si chiama : Utenti e all'interno e strutturato cosi :

    utenti
    cognome
    password
    email

    Ripeto funziona tutto solo che non riesco a capire come poter ad esempio aggiungere affianco a "Benvenuto" il nome dell'utente reggistrato ... Aiutatemi grazie in anticipo :=)

    se devo postare altri codici ditemelo ;)
    un ultima cosa se qualcuno mi fa capire pure se io devo in ogni paggina che creo in php
    devo aggiungere la voce :

    include('connessione.php');
    session_start();


    Servono per recuperare file dal database appunto per prendere ad esempio il nome del utente loggato giusto??
    Grazie ragazzi :)

  2. #2
    Guest

    Predefinito

    A primo impatto vedo cose che non mi convincono però se dici che funziona ok, anche se ad essere precisi un login si fa con una form come hai fatto tu, ma un invio dati con ajax ed un recupero di risposta gestito in php, però se funziona, ribadisco ok.
    Ti posto un esempio di convalida login creato per SQLite, ti posto solo la fase finale, sperando ti sia utile capire la session.La session recupera i dati relativi a quel determinato utente loggato, in poche parole, il classico BENVENUTO FRACTALCOSMO per intenderci o benvenuto pippo, quando parte una session recupera l'identificazione dei dati passati in get o post o dei cookie, se parte una sessione e l'utente si connette fino a quando la sessione è aperta rimarrano i dati...a intenderci guardalo come il classico RESTA CONNESSO.

    esempio di convalida php in ciclo...se l'utente è presente in tabella recupero i suoi dati avendo messo ad inizio file SESSION_START()

    Codice PHP:
    <?php
    //parte la sessione per un login a form di inserisci utente e password

    session_start();

    //gestiamo i casi definiti nell'ajax in questo caso utente vuoto

    if( !isset($_GET['username']) || empty($_GET['username']) || trim($_GET['username'])=='')
    {
    echo
    "USER_VUOTO";
    exit;
    }

    //caso password vuota
    if(!isset($_GET['password']) || empty($_GET['password']) || trim($_GET['password'])=='')
    {
    echo
    "PASS_VUOTA";
    exit;
    }

    //apriamo la connessione
    $db = new PDO("sqlite:miodatabase.db");

    //session_start(); non c'è bisogno qui, si mette ad inizio file

    //selezioniamo gli utenti dalla tabella utenti
    $sql = ("SELECT * FROM utenti");

    //creiamo un ciclo foreach per recuperare i dati dell'utente
    foreach ($db->query($sql) as $row)
    {
    if (
    $row['username']==$_GET['username'] && $row['password']==md5($_GET['password']))
    {
    $idUtente=$row['id'];
    $profilo=$row['profilo'];
    $username = $_GET['username'];
    $password = $_GET['password'];

    //inseriamo in un array quello che vogliamo recuperare nella session
    $datiUtente = array('id'=>$idUtente,
    'username'=>$username,
    'profilo'=>$profilo);
    //definiamo la session
    $_SESSION['datiUtente']=$datiUtente;

    echo
    "OK";
    exit;
    }
    }

    $db=null;

    echo
    'UTENTE_ASSENTE';

    ?>
    adesso una volta che hai inserito i dati nella session li potrai recuperare nelle tue pagine in questo modo:

    Codice PHP:
    <?

    session_start
    ();

    //se entri nella pagina di login senza effettuare l'accesso vieni reindirizzato al login
    if (!isset($_SESSION['datiUtente'])) {
    echo(
    'Non sei loggato, clicca il link sottostante per loggarti :' . '<br>');
    print(
    '<a href="HomeLogin.php">Login</a>');
    exit ;
    }

    //i nostri datiUtente
    $datiUtente = $_SESSION['datiUtente'];

    print(
    "Benvenuto" .$datiUtente['username']);
    print(
    "Profilo" .$datiUtente['profilo']); //profilo = amministratore, utente etc....

    ?>
    Ultima modifica di karl94 : 04-03-2015 alle ore 18.48.20 Motivo: Formattazione del codice PHP

  3. #3
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Fractalcosmo: per piacere formatta il codice usando gli appositi tag BBcode, come ha fatto correttamente Eugeniodesign.

  4. #4
    Guest

    Predefinito

    Ciao Karl, sorry, non avevo visto i BB quote...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •