Ogni utente la sua pagina personale

Si scusa, fai una piccola modifica nella if in questo modo:
PHP:
//...
if(mysql_num_rows($q) > 0){
        $riga=mysql_fetch_array($q);//aggiungi questa e

        $_SESSION['id'] = $riga['id'];
        
        $_SESSION['nome'] = $riga['nome'];
    
        header("location: paginaris.php");
    }
//...
Ho appena visto che ti avevo detto io di sostituire la riga che setta il nome nella sessione. Sarà stato l'orario :) prova in questo modo.
 
Ciao

Si scusa, fai una piccola modifica nella if in questo modo:
PHP:
//...
if(mysql_num_rows($q) > 0){
        $riga=mysql_fetch_array($q);//aggiungi questa e

        $_SESSION['id'] = $riga['id'];
        
        $_SESSION['nome'] = $riga['nome'];
    
        header("location: paginaris.php");
    }
//...
Ho appena visto che ti avevo detto io di sostituire la riga che setta il nome nella sessione. Sarà stato l'orario :) prova in questo modo.

Ora va, L'errore era proprio su quella riga. Ed è sparito l'errore ch em'indicava all'inizio. Grazie Longo.Volevo sapere, è possibile fare una paginariservata dinamica per ogni utente che si registra ??? Se si come ???
 
Bè di ogni utente hai il suo id che è un qualcosa che lo identifica. Sfrutta questo fatto per personalizzare la pagina.
Se nella pagina riservata inserisci:
PHP:
echo "Benvenuto ".$_SESSION['nome'];
Hai già "personalizzato" la pagina.
Ovviamente dipende tutto dal tipo di personalizzazione che vuoi mettere in atto.
 
Ciao

Ad esempio, sulla paginaris.php, come hai potuto vedere, ho messo un tastino logout e vicino un "ciao". ora se io entro come paperini4 vedo il tastino logout con affianco ciao, se io entro come batman, vedo il tastino logout e vicino sempre ciao. Invece dovrei fare in modo tale che se entro come batman non vedio il ciao che sta vicino a logout oppure viceversa. Se entro come paperinik4 non vedo il ciao che sta vicino al tastino logout. Questo è quello che non riesco a fare. Strutturata così, la paginaris se dipende da lei, mi fa vedere entrambi con i due nick sia batman che paperinik il tastino logout con ciao a fianco al tastino. però vorrei se è possibile fare anche in modo tale che non debba costruire duecentomila pagine per ogni utente, diventerebbe assurdo e uno spreco di spazio. Cosa ci si pùò inventare in proposito ????? Spero di essermi spiegato meglio. Ti mando in allegato le due pagine di cui sopra ti ho citato come esempio. Da qui ti potrai rendere conto te e tutto lo staff di cosa vorrei fare io. Grazie.
 
Ti faccio un esempio:
PHP:
<input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />
 <?php
if($_SESSION('nome')!="FABIO")
echo "ciao";
else
echo "non stampo ciao";  
 ?>
</center>
 </body>
</html>
In questo modo controlli tramite il nome, di solito si utilizza l'id perchè è univoco (era solo un esempio).
Con il codice che vedi stampa "ciao" se l'utente si chiama FABIO altrimenti stampa "non stampo ciao".
 
Ciao

Ciao,

Avevo fatto una prova di questo genere, ma mi da sempre lo stesso risultato che vede la scritta a fianco del tasto logout. Posto il codice, magari sbaglio in qualche cosa io:

PHP:
 $usn=htmlspecialchars(trim($_POST['username']));
    $pas=md5(trim($_POST['password']));
   
  //$nome = mysql_real_escape_string(strtolower(trim ($_POST['nome'])));
 
 
    $q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' AND attivo = 1");  
    
    if(mysql_num_rows($q) > 0){

       if(mysql_num_rows($q) > 0){
      
           $riga=mysql_fetch_array($q);
           
        $_SESSION['id'] = $riga['id'];
        
        $_SESSION['nome'] = $riga['nome'];
    
        //header("location: paginaris.php");
 header("location: paginaris.php?usn='$usn'");

Dimmi per favore se otrebbe funzionare una cosa del genere, o se ci sono sbagli. Grazie.
 
A parte le parentesi delle condizioni (IF) che non si chiudono mai e a parte una condizione messa due volte per non so quale motivo non ci sono altri errori sintattici.
C'è un errore di logica però. Che ti serve passare un dato tramite metodo get all'altra pagina quando ce l'hai già nelle variabili di sessione?
Puoi sempre risalire all'user tramite l'ID che hai in sessione.
 
Ciao

Ciao Longo,

Per quanto riguarda le due condizioni doppie che ho messo è stata na svista mia, secondo quale parentesi ti riferisci dell'if che ho chiuso e non vanno chiuse ???? Poi perdonami, ma non ho capito a cosa ti riferisci in questa frase:


"Che ti serve passare un dato tramite metodo get all'altra pagina quando ce l'hai già nelle variabili di sessione?" Dov'è sta l'errore ???? Nel link ???

Ora senza il doppio if (che ripeto è stata na svista mia), l'editor s'inkazza. T iposto quello che ho fatto:


PHP:
  $q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' AND attivo = 1");  
    
    if(mysql_num_rows($q) > 0){

           
           $riga=mysql_fetch_array($q);
           
        $_SESSION['id'] = $riga['id'];
        
        $_SESSION['nome'] = $riga['nome'];
    
        //header("location: paginaris.php");
 header("location: paginaris.php?usn= . $_POST['email'] .'");
    }
        
    }else{
       header("location: failed.php");
    exit();
}else{     //qua mi da errore

Dove sbaglio ?????
 
Ultima modifica:
Ciao

Avevo visto un'esempio, per avere le pagine persnalizzate ad ogni utente che s'iscriveva, e speravo nella mia ignoranza che quella poteva essere la soluzione più semplice, ma da come mi sembra che mi dici tu è na cavolata o sbaglio ??? E il fatti di quell'errore tolto il secondo if come se rimedia ??? I non sono riuscito a sistemarlo, forse mi sfugge qualcosa.
 
Quale errore? Non avevi detto che ora va?
Comunque si in generale è il metodo più semplice ma in questo caso stai già usando le sessioni e le puoi usare nell'altra pagina.
 
Ciao

Tu mi hai fatto notare che c'era un doppio if (ed era una svista mia), io l'ho tolto e mi da l'errore sull'ultimo else. Ora ti posto la parte incriminata:

PHP:
 $q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' AND attivo = 1");  
    
    if(mysql_num_rows($q) > 0){

           if(mysql_num_rows($q) > 0){  //con questo andava bene, tolto questo mi da l'errore su else ultimo

           $riga=mysql_fetch_array($q);
           
        $_SESSION['id'] = $riga['id'];
        
        $_SESSION['nome'] = $riga['nome'];
    
        //header("location: paginaris.php");
 header("location: paginaris.php?usn= . $_POST['email'] .'");
    }
        
    }else{
       header("location: failed.php");
    exit();
}else{       // qua mi da errore se tolgo l'if che ho segnalato

PHP:
if(mysql_num_rows($q) > 0){

}else{    //errore

Qua niente errore, in questo modo:

PHP:
if(mysql_num_rows($q) > 0){
if(mysql_num_rows($q) > 0){

}else{
 

Discussioni simili