prova pagina ad ogni utente la sua

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti ragazzi,

Ho un nuovo problemino, spero che mi posso aggangiare a questo post senza dover aprirne un'altro, in quanto dovrebbe essere concatenato al precedente problema. Dunque, partendo dal presupposto, che la pagina di login, la paginaris, la pagina di attivautente (che verifica e manda il messaggio che l'account e stato attivato) e che la pagina d'iscrizioni funzionino tutti correttamente, fatto ducentomila prove e sembra che vadano a gonfie vele. Ora il problema è assegnare ad ogni utente la sua pagina. Come fare ??? Visto che l'utente viene identificato con un id ed è legato a quel numero assegnato dal db, ho pensato di creare una pagina chiamata infoutenti.php, strutturata in questa maniera:

PHP:
<?php

require_once("connetti.php");
require_once("paginaris.php");




session_start();

if(isset($_SESSION['nome'])) {

 $array ="SELECT * FROM utenti WHERE id=".$_POST['$id'];
echo "$array";
}
         
        ?>

E la paginaris.php, modificata leggermente in quest'altra maniera qua:

PHP:
session_start();

if(isset($_SESSION['nome'])) {

$array = mysql_query("SELECT * FROM utenti WHERE id=".$_SESSION['id']." '");

         
 header("Location: infoutenti.php?id=" . $_POST['id']);   
 
$array=mysql_fetch_array($array);  
    
}


  ?>
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>benvenuto</title>

<body>
    
<?php



$array =  strtoupper($_SESSION['nome'] );     
 if(isset($_SESSION['nome']))  {   

    echo "<div class=\"messaggio\"><h1>";

    
echo "BENVENUTO ".$array."<br />";
    
    echo $me;
    echo "</h1></div>";
    echo "</body></html>";

}else{
    header("Location:failed.php");      
    exit();   
 
//}

}
 ?> 
 
<html>
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
  

<center>  <br> <br>
    

<input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />
 
ciao
 
</center>
 </body>
</html>

L'unica riga che ho aggiunto è la seguente:

PHP:
 header("Location: infoutenti.php?id=" . $_POST['id']);   //O qua ci va il dollaro ???? " $_POST['$id']" in questo modo ???? Non ricordo mai scusate....

Ora loggandomi, mi va direttamente alla pagina infoutenti, ma con il risultato negativo. Ossia non la trova. Vi invio un'immagine per capire cosa mi visualizza sulla barra del broweser quando si collega. Notare il cerchietto azzurro sulla barra degli indirizzi. In pratica non mi leggel'id. Mi potreste dire cortesemente dove sbaglio ???? Grazie
 
Ciao,
qui c'è un errore
PHP:
$array = mysql_query("SELECT * FROM utenti WHERE id=" . $_SESSION['id'] . " '");
hai messo un apice in piu (') che ti manderà in errore la query
correggi
PHP:
$array = mysql_query("SELECT * FROM utenti WHERE id=" . $_SESSION['id']);
qui l'id non lo devi recuperare da $_POST ma da $_SESSION
PHP:
header("Location: infoutenti.php?id=" . $_POST['id']);
correggi
PHP:
header("Location: infoutenti.php?id=" . $_SESSION['id']);
$array contiene gia il risultato della query perche qui gli cambi valore?
PHP:
$array = strtoupper($_SESSION['nome']);

$me non è valorizzato

non puoi aprire e chiudere i tag html head e body piu di una volta

qui non è necessario mettere window
HTML:
<input type="button" onClick="window.location.href='logout.php';" style='padding:10px' value="Logout" />
puoi semplicemente scrivere
HTML:
<input type="button" onClick="location.href='logout.php';" style='padding:10px' value="Logout" />

in ogni caso tutto il codice di questa pagina non ti serve visto che all'inizio rimandi l'utente ad un altra pagina
PHP:
header("Location: infoutenti.php?id=" . $_SESSION['id']);
a questo punto puoi mandarli direttamente a infoutenti.php senza passare da paginaris.php

il fatto che non ti trova la pagina è perche il percorso è sbagliato, controlla meglio il nome del file e delle cartelle
 
Ciao

Ciao,

Grazie per la risposta. Difatti mi sono accorto che non è infoutenti, ma è infoutente. MMa come soluzione per "ogni utente la sua pagina", potrebbe andare ??? Oppure è balorda ????
 
Ciao

Ciao cricric,

Graie dei suggerimenti li ho corretti. Oltre ad aver sbagliato il nome della pagina, coretto con il nome giusto, ecco perchè non mi reindirizzava alla pagina, ora mi lancia questo messaggio:

"Questa pagina non reindirizza in modo corretto







Firefox ha rilevato che il server sta reindirizzando la richiesta per questa pagina in modo che non possa mai essere completata.





Questo problema spesso è causato dal blocco o dal rifiuto dei cookie."

Cosa mi sta ad indicare ???? Dov'è lo sbaglio ??? Tu dici che posso rimandare direttamente alla pagina infoutente.php, senza dover passare da paginaris ??? Un ultimo chiarimento la variabile $me, dove dovrebbe essere valorizzata ??? E sopratutto come ?? Scusa ma mi eprdo nelle piccole cose.
 
Ciao

Ciao cricric,


Allora, ho risolto il problema del reindirizzamento. Ho fatto in questa maniera qua. Una volta che mi loggo va direttamente alla paginaris.php, dove sopra in alto alla barra del browser viene visualizzata la seguente scritta:

"http://utenti/provalogin/paginaris.php?id=1"

Ovviamente se cambio utente mi modifica il numero dell'id. Ora quello che volevo sapere da te, secondo la tua esperienza, ho ottenuto lo scopo o è stato un lavoro inutile ??? Ti mando in allegato l'immagine completa di ciò che mi appare.

P.S.: La variabile è stata valorizzata nella seguente rigas che non avevo postato:

PHP:
  <?php
require_once("connetti.php");
    session_start();
if(isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];
    $me= "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie ("ultimoaccesso", $valore_cookie, time() + 365 *24*3600);
    $me= "Non ti sei mai collegato a questa pagina";     //ecco la variabile $me 
}

session_start();

if(isset($_SESSION['nome'])) {

$array = mysql_query("SELECT * FROM utenti WHERE id=" . $_SESSION['id']);  

$array=mysql_fetch_array($array);  
    
}



$array =  strtoupper($_SESSION['nome'] );     
 if(isset($_SESSION['nome']))  {   

    echo "<div class=\"messaggio\"><h1>";

    
echo "BENVENUTO ".$array."<br />";
    
    echo $me;

      echo "</div> </h1>";

}else{
    header("Location:failed.php");      
    exit();   
 
//}

}
 ?>

Ho dovuto cambiare il nome, in quanto sennò non mi visualizzava l'ora e la data dell'ultimo accesso. Questa che ti ho postato è la paginaris.php modificata.
 
Ultima modifica:
secondo me è stato un lavoro inutile:
non hai bisogno di passare l'id via get se lo hai gia in sessione
l'indirizzo basta cosi
http://utenti/provalogin/paginaris.php

nel codice che hai postato inizializzi 2 volte la sessione con session_start() : devi metterlo una volta sola e a inizio pagina
questo non ti serve
PHP:
if(isset($_SESSION['nome'])) {

$array = mysql_query("SELECT * FROM utenti WHERE id=" . $_SESSION['id']);  

$array=mysql_fetch_array($array);  
    
}
perche subito dopo lo annullli con
PHP:
$array =  strtoupper($_SESSION['nome'] );
che tra l'altro non ti serve
basta cosi:
PHP:
if (isset($_SESSION['nome'])) {

    echo "<div class=\"messaggio\"><h1>";


    echo "BENVENUTO " . strtoupper($_SESSION['nome']) . "<br />";

    echo $me;

    echo "</div> </h1>";
}
 
ma come hai fatto va bene

devi solo inserire nella tabella utenti piu informazioni sull'utente esempio l'avatar , la provenienza e tutto quello che vuoi
estrarli con la query che ti fatto notare che annulli e mostrarli

ogni utente vedra i suo dati personali
cosi il codice ha un po piu senso:
PHP:
<?php

session_start();
require_once("connetti.php");

if (isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie("ultimoaccesso", $valore_cookie, time() + 365 * 24 * 3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];
    $me = "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie("ultimoaccesso", $valore_cookie, time() + 365 * 24 * 3600);
    $me = "Non ti sei mai collegato a questa pagina";     //ecco la variabile $me 
}

if (isset($_SESSION['id'])) {

    $array = mysql_query("SELECT username,avatar FROM utenti WHERE id=" . $_SESSION['id']);
    $infoUtente = mysql_fetch_assoc($array);

    echo "<div class=\"messaggio\">";
    echo "<img src='/immagini/avatar/" . $infoUtente['avatar'] . "/><h1>" . $infoUtente['username'];
    echo $me;

    echo "</div> </h1>";
} else {
    header("Location:failed.php");
    exit();
}
?>
 
Ultima modifica:
Ciao

Ciao Cricric,

Stavo girando intorno alla pozzanghera e non ci sono cascato inm pratica o sbaglio ???' Devo solo allungare la brodaglia del db se non ho capito male e copiare il codice che mi hai postato. Giusto ???
 
ma come hai fatto va bene

devi solo inserire nella tabella utenti piu informazioni sull'utente esempio l'avatar , la provenienza e tutto quello che vuoi
estrarli con la query che ti fatto notare che annulli e mostrarli

ogni utente vedra i suo dati personali
cosi il codice ha un po piu senso:
PHP:
<?php

session_start();
require_once("connetti.php");

if (isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie("ultimoaccesso", $valore_cookie, time() + 365 * 24 * 3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];
    $me = "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie("ultimoaccesso", $valore_cookie, time() + 365 * 24 * 3600);
    $me = "Non ti sei mai collegato a questa pagina";     //ecco la variabile $me 
}

if (isset($_SESSION['id'])) {

    $array = mysql_query("SELECT username,avatar FROM utenti WHERE id=" . $_SESSION['id']);
    $infoUtente = mysql_fetch_assoc($array);

    echo "<div class=\"messaggio\">";
    echo "<img src='/immagini/avatar/" . $infoUtente['avatar'] . "/><h1>" . $infoUtente['username'];
    echo $me;

    echo "</div> </h1>";
} else {
    header("Location:failed.php");
    exit();
}
?>

Si,

credo che ci sia un errore su mysql_fetch_array()
Non so se hai già modificato il post ma mi sembra di si.
 
Ciao

Scusa l'ignoranza,

Ho due pulsanti (button), come li posso nascondere da un file chiamato infoutenti.php ??? I pulsanti sono nel file paginaris.php, c'è il metodo per far ciò ???
 
si l'ho cambiato con mysql_fetch_assoc() che restituisce comne chiave il nome del campo della tabella
 
Ciao

si l'ho cambiato con mysql_fetch_assoc() che restituisce comne chiave il nome del campo della tabella

Ecco perchè mi da errore: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /volume1/web/utenti/provalogin/infoutente.php on line 24

Ma invece per quanto riguarda i tasti come posso risolvere a nasconderli dal rom precedente ???
 
ti da errore perche probabilmente hai lasciato la query cosi
SELECT username,avatar FROM utenti WHERE id=" . $_SESSION['id']
senza aggiornare i campi della tabella

per i tasti non ti ho capito
 
Ciao

ti da errore perche probabilmente hai lasciato la query cosi
SELECT username,avatar FROM utenti WHERE id=" . $_SESSION['id']
senza aggiornare i campi della tabella

per i tasti non ti ho capito

Si per quanto riguarda la tabella non l'ho aggiornata. Difatti avevo intuito.

Ho due tasti che stanno situati su paginaris: uno logout e uno modifica. Cliccando su modifica mi va alla pagina infoutenti.php, però si sovrappone sotto, allora mi chiedevo se c'era la possibilità di renderli invisibile anche se stanno su un altro file. Ti mando due immagini che così comprendi quello che intendo dire. Non badare a quello che c'è scritto devo ancora modificarla per bene. Però se sbaglio procedimento per inserire l'immagine nell'avatr me lo dici per favore ???
 
Caricamento immagine avatar

ma come hai fatto va bene

devi solo inserire nella tabella utenti piu informazioni sull'utente esempio l'avatar , la provenienza e tutto quello che vuoi
estrarli con la query che ti fatto notare che annulli e mostrarli

ogni utente vedra i suo dati personali
cosi il codice ha un po piu senso:
PHP:
<?php

session_start();
require_once("connetti.php");

if (isset($_COOKIE["ultimoaccesso"])) {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie("ultimoaccesso", $valore_cookie, time() + 365 * 24 * 3600);
    $ultimo_cookie = $_COOKIE["ultimoaccesso"];
    $me = "Il tuo ultimo accesso è stato il:  $ultimo_cookie";
} else {
    $valore_cookie = date("d/m/Y - H:i:s");
    setcookie("ultimoaccesso", $valore_cookie, time() + 365 * 24 * 3600);
    $me = "Non ti sei mai collegato a questa pagina";     //ecco la variabile $me 
}

if (isset($_SESSION['id'])) {

    $array = mysql_query("SELECT username,avatar FROM utenti WHERE id=" . $_SESSION['id']);
    $infoUtente = mysql_fetch_assoc($array);

    echo "<div class=\"messaggio\">";
    echo "<img src='/immagini/avatar/" . $infoUtente['avatar'] . "/><h1>" . $infoUtente['username'];
    echo $me;

    echo "</div> </h1>";
} else {
    header("Location:failed.php");
    exit();
}
?>

Ciao,


Ma come faccio a caricare l'avatar e a memorizzarla nel db ?? Ho pravo in duecento mila modi ma non ci so riuscito :(
 
Ciao

Una domanda mi rivolgo a tutti e sopratutto a Longo, Borgo, Cricric, e Ale:

Come far sparire due bottoni una volta che su uno ci si clicca sopra ????

Ho logout e Modifica, vorrei che una volta che clicco su "modifica" scomparissero entrambi i pulsantini. E' fattibile ??? Mando l'immagine per comprenderem meglio. Grazie dell' aiuto siete preziosi.
 
ciao
Ma come faccio a caricare l'avatar e a memorizzarla nel db ?
tempo fa avevi fatto, se non ricordo male, un form che ti caricava le immagini e salvava il nome nel db: nella stessa maniera

poi perche vuoi far sparire un pulsante? e se uno volesse uscire a metà modifica?
 
Caricamento immagine

Ciao borgo,

Be' come hai potuto vedere i pulsanti stanno subito dopo il riquadro di benvenuto. Il punto è o spostarli a lato o fondo pagina, oppure se deve abbandonare la modifica fa il solito "x" sul browser. ma non è la soluzione che mi piace. Allora secondo te come dovrei fare ???? Per me sono troppo appicciati. Se hai visto l'immagine allegata. Quindi per quanto riguarda l'immagine posso sfruttare qullo script che avevo postato poco tempo fa. Tanto è uguale la procedura giusto ??? Un ultima cosa, in genere l'avatar è messo sulla sinistradovrebbe andarci automaticamente (spero giusto ????). Hai soluzioni migliri della mia al riguard ??? (sicuramente si....).
 

Discussioni simili