- Home
- Categorie
- Coding e Sistemistica
- PHP
- profilo per utente nel propio sito
-
profilo per utente nel propio sito
ciao a tutti,
vorrei includere un profilo per ogni utente nel mio sito web come posso fare ?
grazie
-
Ciao max-98,
la domanda è molto generica.
Devi avere una tabella(Ma puoi averne anche di più) del database con tutte le informazioni che ti interessano, successivamente crei una pagina php che utilizza una variabile GET per sapere quale profilo vuoi vedere, e fà la query per ottenere le informazioni di quello specifico utente ed infine genera la pagina da mostrare al visitatore.
-
così ? correggimi se trovi errori
[PHP]<?/per vedere il profilo:.php?id=/<?php if(isset($_SESSION['Nome'])) { $my_id = userId($_SESSION['Nome']); ?> <a href="user.php?id=<?php echo $my_id; ?>">clicca per vedere il tuo profilo </a> <a href="edit_profilo.php">clicca per modificare il tuo profilo</a> <?php } else { ?> <a href="index.php">home</a> <?php } ?>// Nome$Nome = $_GET['Nome'];$Nome = mysql_query("SELECT Nome FROM membri WHERE Nome = '$Nome'");$recordset = mysql_fetch_row($Nome);$Nome = $recordset[0];// Cognome $Cognome = $_GET['Cognome']; $cognome = mysql_query("SELECT cognome FROM membri WHERE cognome = '$cognome'");$recordset = mysql_fetch_row($cognome);$cognome = $recordset[0];//Immagine$Img = $_GET['img'];$foto = mysql_query("SELECT foto FROM membri WHERE foto = '$foto' ") // Stampo tutti i dati$datiUtente = mysql_fetch_array(mysql_query("SELECT * FROM membri WHERE Nome LIKE '$Nome'")); ?><!--form che visualizza l'utente nel profilo--><center><h2>Profilo di <?php echo $datiUtente['Nome']; ?></h2><p><strong>Nome: </strong><?php echo $datiUtente['Nome']; ?></p><p><strong>Cognome: </strong><?php echo $datiUtente['cognome']; ?>'</p><p><strong>Descrizione: </strong><?php echo $datiUtente['Descrizione']; ?></p></center><?/*ovviamente ho copiato la tabella da phpmyadmin (quindi copia e incolla */
//tabella my_sql
Campo Tipo Collation Attributi Null id int(11) No auto_increment Nome varchar(60) latin1_swedish_ci data _iscrizione varchar(60) latin1_swedish_ci Cognome varchar(60) latin1_swedish_ci Descrizione varchar(60) latin1_swedish_ci foto int (60) latin1_swedish_ci
PRIMARY("id") ;
?>[/PHP]
-
non pensavo che si visualizzasse così
<?
/*
per vedere il profilo:
.php?id=
*/
<?php
if(isset($_SESSION['Nome'])) {
$my_id = userId($_SESSION['Nome']);
?>
<a href="user.php?id=<?php echo $my_id; ?>">clicca per vedere il tuo profilo </a> <a href="edit_profilo.php">clicca per modificare il tuo profilo</a>
<?php
} else {
?>
<a href="index.php">home</a>
<?php
}
?>// Nome
$Nome = $_GET['Nome'];
$Nome = mysql_query("SELECT Nome FROM membri WHERE Nome = '$Nome'");
$recordset = mysql_fetch_row($Nome);
$Nome = $recordset[0];
// Cognome
$Cognome = $_GET['Cognome'];
$cognome = mysql_query("SELECT cognome FROM membri WHERE cognome = '$cognome'");
$recordset = mysql_fetch_row($cognome);
$cognome = $recordset[0];
//Immagine
$Img = $_GET['img'];
$foto = mysql_query("SELECT foto FROM membri WHERE foto = '$foto' ")
// Stampo tutti i dati
$datiUtente = mysql_fetch_array(mysql_query("SELECT * FROM membri WHERE Nome LIKE '$Nome'"));?>
<!--form che visualizza l'utente nel profilo-->
<center>
<h2>Profilo di <?php echo $datiUtente['Nome']; ?></h2>
<p><strong>Nome: </strong><?php echo $datiUtente['Nome']; ?></p>
<p><strong>Cognome: </strong><?php echo $datiUtente['cognome']; ?>'</p>
<p><strong>Descrizione: </strong><?php echo $datiUtente['Descrizione']; ?></p>
</center>
<?
/*
ovviamente ho copiato la tabella
da phpmyadmin (quindi copia e incolla
*///tabella my_sql
Campo Tipo Collation Attributi Null id int(11) No auto_increment Nome varchar(60) latin1_swedish_ci data _iscrizione varchar(60) latin1_swedish_ci Cognome varchar(60) latin1_swedish_ci Descrizione varchar(60) latin1_swedish_ci foto int (60) latin1_swedish_ci
PRIMARY("id") ;
?>
-
Mi sembra un pò confuso, ad esempio non capisco perchè 3 query sulla tabella membri.
-
perchè ? tu come avresti fatto ?
-
Solitamente si utilizza l'id, anche perchè la chiave primaria di norma utilizzata è l'id. Poi perchè fare 3 query sulla stessa tabella?
-
pensavo che si facesse così quindi come devo ricrearla ?
-
Fai la query con WHERE id = $id, e $id ha come valore l'id passato mediante variabile GET.
-
SELECT * FROM user WHERE id = '$id'
$id = $GET['user']
così ?
-
Sostanzialmente si, è quello che devi fare.
-
così ?
<html>
<br/><br/>
<!-- FORM REGISTRATI -->
<form name="registrati" method="GET" action="">
Nome:<br/><input type="text" name="Nome"><br/>
Cognome:<br/><input type="text" name="Cognome"> <br/>
Descrizione:<br/><input type="text" name="Descrizione"><br/>
<button>invia</button><br/>
<?
// PROFILO :
print " profilo di $Nome"
<?php echo htmlspecialchars($_GET['Nome']); ?>
(mysql_query("SELECT Nome FROM users")<?php echo htmlspecialchars($_GET['Cognome']); ?>
(mysql_query("SELECT Cognome FROM users")
<?php echo htmlspecialchars($_GET['Descrizione']);
(mysql_query("SELECT Descrizione FROM users")
?>