- Home
- Categorie
- Coding e Sistemistica
- PHP
- Visualizzare dati di un utente
-
Ciao ranz,
Devi fare una query per recuperare i dati dell'utente.
-
Va bene,un esempio di sintassi?
-
[php]
$query = mysql_query("SELECT * FROM tabella WHERE id = '$id' LIMIT 1");
$dati = mysql_fetch_array($query);// Per stampare il cognome
echo $dati['cognome'];
[/php]
Al posto di $id metti al variabile di sessione con l'id dell'utente, che nel tuo caso credo sia $_SESSION['login'].
-
L'ho fatto. Ho provato a fare una stampa per il cognome.
Ecco il codice:
[PHP]$query = mysql_query("SELECT * FROM soci WHERE user_id = '$_SESSION['login']' LIMIT 1");
$dati = mysql_fetch_array($query);// Per stampare il cognome
echo $dati['cognome']; [/PHP]Tuttavia mi esce una pagina bianca.
Una domanda: ma poi, ad esempio nella casella di testo del cognome, dovrò inserire $dati,giusto?
-
Puoi incollare tutta la tua pagina?
Devi metterlo come value.
-
Allora, questa è soltanto la pagina di benvenuto all'area riservata.
Vorrei stampare Benvenuto più nome e cognome.
Il modulo lo sto rielaborando per il semplice motivo che devo aggiungere dei campi e eliminarne altri.
[HTML]<?php
// Includo la connessione al database
require('config.php');// Se non è stata definita la variabile manda l'utente alla homepage
if(!isset($_SESSION['login']))
{
header('Location: login.php');
exit;
}?>
<html>
<head>
<title>Associazione Culturale Calliope-Home Page</title><font color="#000099" face="Arial, Helvetica, sans-serif">Benvenuto </font>
<?php
$query = mysql_query("SELECT * FROM soci WHERE user_id = '$_SESSION['login']' LIMIT 1");
$dati = mysql_fetch_array($query);// Per stampare il cognome
echo $dati['cognome'];
?>
<br>
<a href="logout.php" target="_self"><font color="#000099">Logout</font> </a><p> </p>
</body>
</html>
[/HTML]
-
Allora devi fare cosi:
[php]
<?php
// Includo la connessione al database
require('config.php');// Se non è stata definita la variabile manda l'utente alla homepage
if(!isset($_SESSION['login']))
{
header('Location: login.php');
exit;
}//
$query = mysql_query("SELECT * FROM soci WHERE user_id = '$_SESSION['login']' LIMIT 1");
$dati = mysql_fetch_array($query);
?>
<html>
<head>
<title>Associazione Culturale Calliope-Home Page</title><font color="#000099" face="Arial, Helvetica, sans-serif">Benvenuto <?php echo $dati['cognome'].' '.$dati['nome'];?></font>
<br>
<a href="logout.php" target="_self"><font color="#000099">Logout</font> </a><p> </p>
</body>
</html>
[/php]
-
Ciao ranz,
prova così:[php]
$query = mysql_query("SELECT * FROM soci WHERE user_id = '" . $_SESSION['login'] . "' LIMIT 1");
[/php]Comunque in quella maniera stai cercando un ID come stringa,
solitamente trattasi di numero, è corretto?Ciao
-
Nulla da fare. Continua a uscirmi lapagina completamente bianca
-
Ho visto ora l'errore nella query, mettendola come scritto da mirkoagrati, dovrebbe funzionare.
Ma stai provando in locale? Perchè sarebbe meglio abilitare la visualizzazione degli errori.
-
Sì, sto provando in locale e usando il suggerimento di Mirko funziona.
Per il form devo fare così?[html]<input name="nome" type="text" id="nome" value="<?php echo $dati['nome']?>"</td>[/html]
-
La sintassi per l'aggiornamento è: ```
UPDATE soci SET nome='$_POST['nome']e poi via via i vari campi?
-
Si,
l'update funziona così:update tab set campo1=val1, campo2=val2
where id=id1Ciao
-
Per abilitare la visualizzazione degli errori, modifica il file php.ini impostando cosi queste 2 variabili:
error_reporting = E_ALL display_errors = On
Almeno sappiamo dov'è l'errore, invece di controllare tutto lo script ogni volta.
-
Scusate se riprendo questo post, ma stavolta houn problemacon l'update.
Non so se la logica è giusta, io ho fatto così: dopo aver controllato che l'utente non abbia lasciato nessun campo vuoto ho postato il seguente codice,ma mi esce sempre la famosa pagina bianca[php]$strSQL = "UPDATE soci SET nome='$_POST['nome']', cognome='$_POST['cognome']', data_nascita='$_POST['data_nascita', luogo_nascita='$_POST['luogo_nascita']', indirizzo='$_POST['indirizzo']',cap='$_POST['cap']', citta='$_POST['citta']', provincia='$_POST['provincia']', email='$_POST['email']', password='$_POST['password']' WHERE user_id = '$_SESSION['login']' LIMIT 1 ";
mysql_query($strSQL) OR die("Errore 003, contattare l'amministratore ".mysql_error());
[/php]Sono sicuro che sarà una stupidaggine,ma dov'è l'errore?
-
Ok, come non detto. Problema risolto e scusate
-
Ciao ranz,
ti manca una quadra s data di nascita e
prova a scrivere la stringa componendola così:[php]
$strSQL = "UPDATE soci SET nome='" . $_POST['nome'] . "', cognome='" . $_POST['cognome']. ........
[/php]Ciao