- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial] Area privata
-
Ciao,
come un paio di giorni fa...Non mi permette di incollare il codice, ma perché? E' un problema di privilegi?
-
Eccola:
[php]<?php
require('config');
// Se non è stata definita la variabile manda l'utente alla homepage
if(!isset($_SESSION['login']))
{
header('Location: index');
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" w3.org/TR/xhtml1/DTD/xh>
</>
<head>
<-8" />
<title>Area privata</title>
</head>
<center>
<form name=login>
<table width=500 border=10 cellpadding=20>
<tr><td colspan=2><center><font size="+2"><b>CARTELLA</b></font></center></td></tr><tr><td><a href="">ACCETTAZIONE<a href="">ELENCO</td><
<tr><td><a href="">RILEVA</a></td><td> href="">VISUALIZZA</a></td></table>
</form>
<br />
<br />
<br />
<a href="logout.php">Logout</a><br />
</body>
</html>[/php]Ho tagliato molto per via del premium...
-
Si, se non sei utente premium non ti fà postare link, bisogna tagliarli...
-
Questo è il codice da inserire per recuperare l'utente loggato...
$id=$_SESSION['login'];
$sql="SELECT id, user, mail FROM utenti WHERE id ='$id' "; // selezioniamo dal DB l'utente recuperandolo dall'$id dalla sessione
$query = @mysql_query ($sql) or die (mysql_error());
-
altra parte del codice (manca la parte di sopra con gli include...)
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Area privata</title>
</head>
<body><?php
$id = $_SESSION['login'];
$sql = "SELECT * FROM utenti WHERE id = '$id'";
$do_sql = @mysql_query($sql) or die('Errore con la query: ');
$array = mysql_fetch_array($do_sql);?>
<form id="FormName" action="updated.php" method="post" name="FormName">
<table width="448" border="0" cellspacing="2" cellpadding="0">
<tr><td width="150"><div align="right">
<label for="User">User</label></div>
</td>
<td>
<input id="User" name="User" type="text" size="25" value="<?php echo $array['user'] ?>" maxlength="255"></td>
</tr>
<tr><td width="150"><div align="right">
<label for="mail">Mail</label></div>
</td>
<td>
<input id="mail" name="mail" type="text" size="25" value="<?php echo $array['mail'] ?>" maxlength="255"></td>
</tr><tr>
<td width="150"></td>
<td><input type="submit" name="submitButtonName" value="Update"><input type="hidden" name="id" value="<?php echo $id ?>"></td>
</tr>
</table>
</form>
-
Grazie! Ma perchè lo dovresti recuperare? Io ho la lista con tutti gli utenti, che cambia? sicuramente qualcosa cambia...
-
Forse non sto capendo cosa chiedi, io ti espongo quello che ho fatto e mi dici se fa al caso tuo:
Sono un utente iscritto e voglio, quando sono loggato, visualizzare in modalità Edit i miei dati estraendoli dal database e stampandoli all'interno di input box.
Morale della favola...Quando ti logghi un controllo sull'ID di sessione che viene confrontato con quelli presenti sul Db fa si che tu venga indirizzato alla pagina privata.php che stamperà però i dati dell'utente loggato (quindi la pagina e sempre la stessa ma i dati son diversi a seconda di chi si logga...).
-
Capito, grazie!
-
Sim devi fare una query select, e fai un ciclo.
-
Fabrizio che parte hai tagliato?
-
Ho tagliuzzato la parte di una table...c'erano link su link dentro la table.
-
Ma hai fatto require('config'); non dovrebbe essere config.php?
-
Ho tolto il .php per paura che non mi prendesse il messaggio, ma in realtà c'è
-
Eccolo meno tagliato:
[PHP]<?php
require('config.php');
// Se non è stata definita la variabile manda l'utente alla homepage
if(!isset($_SESSION['login']))
{
header('Location: index.php');
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Area privata</title>
</head>
<center>
<form name=login>
<table width=500 border=10 cellpadding=20>
<tr><td colspan=2><center><font size="+2"><b>CARTELLA</b></font></center></td></tr><tr><td><a href="ht">ACCETTAZIONE</a></td><td><a href="ht">ELENCO</td></tr></a>
<tr><td><a href="ht">RILEVA</a></td><td><a href="ht">VISUALIZZA</a></td></tr>
<tr><td><a href="link4">CORREZIONI</a></td><td><a>
</table>
</form>
</center>
<center>
<br />
<br />
<br />
<a href="logout.php">Logout</a><br />
</body>
</html>[/PHP]
-
Fai una cosa prendi tutti i file php dell'area privata li comprimi in zip, li hosti da qualche parte e mi mandi in privato il link per scaricare il file.
E appena ho un attimo guardo e posto qui cosa ho trovato.
-
Ok fatto
Grazie!
-
Ciao! Grazie per il messaggio privato e per aver visionato il file...ma cosa è cambiato? L'unica cosa che ho visto è che nella pagina privata le prime righe sono scritte tutte su unica riga. Era quello l'errore o il problema?
Grazie!
-
Ci sono anche dei quadratini in mezzo al codice l'hai fatto con word?
-
Io uso gedit, l' editor di testo linux.
Francamente cosa è cambiato non lo sò, perchè mi sembrava tutto corretto, ho provato a ricreare i file pensando ad un problema di codifica del file ma non era quello.
Alla fine ho cancellato la parte php del file privata.php, e l'ho riscritta a mano. Cosi facendo a funzionato, riguardando il file con problemi e quello funzionante non ho notato alcuna differenza, quindi non saprei indicarti un motivo.
-
Vero sono uguali, però la prima riga (cioè quella php) sono su unica riga..sicuramente è stato quello...boh?
Una cosa che avevo in mente di chiederti era:
Io e utenti ora entriamo tramite nome user e pass (poi cambierò con nome e cognome, cambiando anche la lunghezza di limite), se uno vede che dopo il login entra in pagina PINCO.php e digita subito PINCO.php non bypass il login?