Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235

    recupero dati da un'altra pagina php

    ciao raga
    in pratica una volta che un utente si logga al sito o si registra voglio il redirect alla home page del sito però mi servono i dati che l'utente appena loggato o registrato ha inserito per poter inserire nella home page anche il profilo personale dell'utente...
    ho visto che tutto ciò si fa attraverso le sessioni mi potreste spiegare in generale come fare, è la prima volta che uso le sessioni...
    questa è la pagina che esegue la verifica dei dati al login
    devo fare il redirect su Home.php e mettere tipo in alto profilo modifca logout
    e un benvenuto tizio....
    codice:
    <html> <head> <title>Sito Tirocinio</title> 
    <link rel="stylesheet" type="text/css" href="pannello.css"> </head> 
    <p align="center"></p>  
    <?php $connection=mysql_connect("127.0.0.1","root","") or die("Connessione DB fallita".mysql_error()); 
    mysql_select_db("archivio") or die("Selezione DB fallita".mysql_error()); 
     if (isset($_POST["user"]) && isset($_POST["pass"])){ 	
    $user=($_POST["user"]);    
     $pwd=md5($_POST["pass"]); 	
    controller($user, $pwd); 	
    }  
    $sql=mysql_close($connection);  
    
      function controller($ceck1,$ceck2){  	
    $query=mysql_query("SELECT count(*) as tot FROM users WHERE username='$ceck1' AND password = '$ceck2'"); 
    	$resultset=mysql_fetch_assoc($query); 	
    $prova=$resultset['tot']; 		
    if( $prova==1){ 				
    	echo "Login effettuato"; 		
    			redirect('http://localhost/SitoTirocinio/Home.php',2);  
    		}else echo "Username e/o password errati";  }
    
      function redirect($url,$tempo = FALSE ){
      if(!headers_sent() && $tempo == FALSE ){  
     header('Location:' . $url);  
    }elseif(!headers_sent() && $tempo != FALSE ){ 
      header('Refresh:' . $tempo . ';' . $url);  
    }else{   if($tempo == FALSE ){  
       $tempo = 0;   }   echo "<meta http-equiv=\"refresh\" content=\"" . $tempo . ";" . $url . "\">";   }
     }  
    ?> 
    </body>
     </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183
    Io faccio così:

    session_start(), messo all'inizio di ogni pagina. questa funzione crea un file salvato sul server associato all'IP dell'utente o riesuma quello già esistente se è già stato creato in un'altra pagina.

    in questo file imposti le variabile di sessione (detta così sembra difficile)
    praticamente quando devi salvarti un dato relativo all'utente usi

    $_SESSION['nome_della_variabile']="quello che devi salvare"

    ad esempio

    $_SESSION['login']=$id_login (che recuperi dal database o dal form o da dove preferisci)
    una volta fatto questo finchè l'utente resterà loggato nel suo file di sessione sarà salvata la variabile login e il valore associato.

    per differenziare utenti loggati da non loggati ti basta all'inizio di ogni pagina un
    if(isset($_SESSION['login'])){
    fai quello che devi fare per gli utenti loggati;
    } else {
    fai quello che devi per i non loggati
    }

    ad esempio se devi associare un valore per dei permessi usi

    $_SESSION['permessi']=valore del permesso

    per il nome utente
    $_SESSION['nome']=$nomeutente (variabile in cui da qualche parte salvi il nome dell'utente)

    poi nella home se vuoi scrivere Ciao NomeUtente

    farai

    $nome=$_SESSION['nome'];
    echo("Ciao $nome")

    al logout puoi fare due cose:
    session_destroy()
    che ti cancella la sessione (il tuo file sul server)

    oppure unset($_SESSION['login'])
    che ti lascia settata la sessione ma cancella il valore login e quindi rispetto al controllo di prima l'utente risulterà non loggato.

    un ultima cosa:
    se sul tuo server ci sono altri siti di altri proprietari, conviene salvare le sessioni in una cartella tua, perhè di default tutte le sessioni di tutti i siti sullo stesso server sono salvate insieme, e questo può creare problemi di sicurezza.

    questo lo fai mettendo in ogni pagina prima di session_start()
    ini_set("session.save_path","percorso della tua cartella delle sessioni");

  3. #3
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    mmm
    quindi ....
    io ho 5 file php
    il primo pagina iniziale.php è quello dove metti i dati per loggarti
    il secondo autenticazione.php è quello dove controlla username e password inseriti e fa il redirect se i dati sono corretti alla pagina iniziale che si chiama home.php che è composta dalla prima parte con il profilo dell'utente e da dei form di ricerca su un database..
    la quarta pagina si chiama registrazione.php dove si compilano i campi per la registrazione
    la quinta pagina è conferma registrazione, quella che verifica i dati immessi e li inserisce nel databse users, dopo di che fa il redirect ad home.php...

    ora, tu dici di mettere session_start() in tutte e 5 pagine?
    io per ora ho messo in autenticazione questo pezzo
    codice:
    <?php   	
     //Apro la sessione e... session_start();  
     //Salvo i dati... $_SESSION['username'] = $user; 
    $_SESSION['password'] = $psw; 
     ?>
    e in home.php
    codice:
    <?php 
    //Apro la sessione e... session_start();  
    //Recupero i dati... $username = $_SESSION['username']; 
    $password = $_SESSION['password']; 
     //facciamo una stampata a video! echo "Ciao " . $username . " la tua password è " . $password; 
    ?>
    stessa cosa fatta per conferma registrazione.php e confermaregistrazione.php

    e praticamente mi recupera l'user e la pass in md5 e qui mi va bene...
    la parte di verifica dell'utente la devo mettere ad ogni pagina perchè così quando l'utente va da una pagina all'altra risulta già loggato e quindi ha determinati permessi attivi vero??
    credo che debba aggiugnere quindi solo questa parte di differenziazione degli utenti loggati da quelli non loggati e poi il logout ed ho finito...

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183
    session_start()
    e la parte di verifica la devi mettere in ogni pagina in cui i contenuti sono differenti (sia anche solo una scritta o un'icona) per utenti loggati e non. (ad esempio se hai una pagina uguale per loggati e non loggati, ma vuoi far apparire il link per il logout anche in quella)

    la parte di verifica dell'utente la devo mettere ad ogni pagina perchè così quando l'utente va da una pagina all'altra risulta già loggato e quindi ha determinati permessi attivi vero??
    se ne hai bisogno si. vedi quello che ho scritto sopra

    se l'utente si logga, va alla pagina boh.php dove non cambia nulla per utenti loggati e non loggati e in boh.php non c'è session_start (ne tantomeno il controllo sui permessi) e poi torna alla pagina home quando torna a home risulta comunque loggato!

    p.s. se la password vuoi che si veda non in md5, salvala al login prima di passarla in md5

  5. #5
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    grazie sei stato molto chiaro se ho qualche problema ti faccio sapere..
    grazie mille

  6. #6
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    come faccio a inserie all'interno della verifica quindi in un codice php, codice html ??

    codice:
    <?
    php  session_start();
     if(isset($_SESSION['username'])){ 
     /*  *INSERIAMO I PANNELI PER IL PROFILO PERSONALE  * */ 	
    echo "ciao"; } else {
     /*  *FACCIAMO COMPARIRE L'ICONA DEI LOGIN, REGISTRAZIONE ECC...   *   */ 	 
    } 
    ?>
    se è loggato non deve comparire l'icona login e registrazione, questo è scritto in html/javascript
    codice:
    <a class="log"  href="javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'"  >
    
    login</a>  
    <div id="light" class="white_content"><div class="contenitore">  
    <FORM class="bot" name="auten" method="post" action="Autenticazione.php"> Username <INPUT type="TEXT" name="user">
    
     
    Password <INPUT  type="Password" name="pass">
    
     <span class="remeb"><input   type="checkbox" name="remember"> Remember</span> <INPUT class="invia" name="submit" type="SUBMIT" value="login"></FORM> 
     <a class="close" href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'"></a>
     Password dimenticata?Recuperala</div></div> 
    	<div id="fade" class="black_overlay"></div> 		
     <div class="link" >   
    <a class="reg"  href="http://localhost/SitoTirocinio/Registrazione.php" target="_blank" >
    register</a>  
     <a class="inf"  href="http://localhost/SitoTirocinio/info.html" target="_blank">
    help</a>   
      <a class="hp" href="http://localhost/SitoTirocinio/PaginaIniziale.php" target="_blank">
    home</a> 
    </div>

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183
    tutto ciò che è scritto in html / javascritp
    ti conviene metterlo in echo("tuocodice");
    quindi farai un codice per chi è loggato e lo metti nell'if, e uno per chi non lo è e lo metti in un echo nell'else.

    tutte le " del tuo codice html devono essere precedute da \ altrimenti php penserà che sono inizi e fine di stringhe.
    con che programma lavori?

  8. #8
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    eclipse

    dici così
    codice:
    else { 	
    echo ("<a class="log"  href="javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'"  >
    login</a> 
     <div id="light" class="white_content">
    <div class="contenitore"> 
     <FORM class="bot" name="auten" method="post" action="Autenticazione.php"> Username <INPUT type="TEXT" name="user">
    
     Password <INPUT  type="Password" name="pass">
     <span class="remeb"><input   type="checkbox" name="remember"> Remember</span> <INPUT class="invia" name="submit" type="SUBMIT" value="login">
    </FORM> 
     <a class="close" href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'"></a> Password dimenticata?
    Recuperala</div></div> 		
    <div id="fade" class="black_overlay"></div> 		
     <div class="link" >   <a class="reg"  href="http://localhost/SitoTirocinio/Registrazione.php" target="_blank" >
    register</a> 
      <a class="inf"  href="http://localhost/SitoTirocinio/info.html" target="_blank">
    help</a>    
     <a class="hp" href="http://localhost/SitoTirocinio/PaginaIniziale.php" target="_blank">
    home</a> </div>");
     /*  *FACCIAMO COMPARIRE L'ICONA DEI LOGIN, REGISTRAZIONE ECC...   *   */ 	 }

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183
    se quello è il codice per i non loggati si, dico così.
    però ricordati di anteporre ad ogni " del codice il \
    es.
    echo("<a href=\"www....\">blabla</a>");

  10. #10
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    non c'è altra soluzione?
    non mi sembra per nulla efficiente una cosa del genere..
    grazie cmq ora ci provo e vedo cosa esce

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.