- Home
- Categorie
- Coding e Sistemistica
- PHP
- Area riservata per ogni singolo utente!
-
@ginolatino said:
(mi sa che manca l'associazione dell'id utente?)
infattiprivata.php
[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: index.php');
exit;
}
$id=$_SESSION['login'];
$sql="SELECT id, descrizione, stato FROM pratiche WHERE id_user='$id'"; //l'$id lo recuperi dalla sessione
$query = @mysql_query ($sql) or die (mysql_error());
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Area privata</title>
</head>
<body>
<table border="1">
<tr><th>Pratica n.</th><th>Descrizione</th><th>Stato</th></tr>
<?
while ($array= mysql_fetch_array($query)) // raccogliamo il risultato della query in un array e usciamo fuori tutto il suo contenuto a video
{
echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td></tr>";
}
?>
</table>
<a href="logout.php">Logout</a><br />
</body>
</html>[/php]Prova così
-
niente da fare, ho aggiunto la sessione, ma non mi mostra i risultati...
senti stavo pensando che c'è un problema nella tabella del database:
allora ricapitolando...
ho creato questa tabella per le pratiche:
CREATE TABLE `pratiche` ( `id` int(11) NOT NULL auto_increment, `id_user` INT(11) NOT NULL, `descrizione` VARCHAR(255) NOT NULL, `stato` VARCHAR(10) NOT NULL, PRIMARY KEY (`id`) );
poi in seguito al tuo consiglio ho aggiunto il record:
INSERT INTO pratiche (id_user, descrizione, stato) VALUES ('1', 'Casellario giudiziale', 'evasa')
Quindi, fin qui siamo al punto che:
la pratica che si chiama casellario giudiziale e lo stato è evasa...
nella tabella utenti risulta che lo username ginolatino è associato all'id=1...
...quando effettuo il login con ginolatino, mi dovrebbe venire fuori a video: casellario giudiziale = evasa...perchè nel record della tabella pratiche abbiamo aggiunto questo, giusto?
mentre se effettuo il login con un altro utente dato che non è stato inserito nessun recor non dovrebbe venire fuori niente, giusto il ragionamento?
ulteriormente:
il login riconosce l'id 1 o username ginolatino?(quindi devo cambiare il record nella tabella pratiche da id_user >int >11 a id_user >varchar >25 e scrivere ginolatino??????ti prego fammi un pò di chiarezza!:?...se no altrimenti ti posto tutto lo script e le tabelle...è una minaccia!
-
ce l'ho fattaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!!!!
sei un grande, grazie veramente!!!!!
ho riportato la tabella pratiche come era prima, ossia con id_user=1, quindi quando mi loggo con ginolatino (id=1) mi viene fuori finalmente:
pratica n.|descrizione |stato |
1 |casellario giudiziale|evasa|ok, ora se non mi vuoi lasciare ti chiedo l'ultimo favore:
vorrei far visualizzare al cliente (quello che mi è stato chiesto dall'avvocato) che si logga la lista delle sue pratiche esempio:
|pratica numero|descrizione |stato |
|1 |casellario giudiziale.doc|in lavorazione|
|2 |denuncia.doc |lavorata |ma invece di visualizzare solo il testo ci dovrebbe essere un collegamento per aprire la pratica in formato .doc e leggerla
se mi aiuti per questa cosa ti mando un camion di pizze margherite con spedizione veloce
-
Puoi aggiungere un campo alla tabella pratiche dove ti salvi il path del documento e quindi far visualizzare all'utente, nella tabella, il link al documento
Due consigli:- fai gestire tutto con dei pdf non con dei .doc, .txt, .xls, etc etc.
- dati i contenuti di questi documenti fossi in te starei molto attento a come/dove li salvi ne va del tuo lavoro e di quello dell'avvocato
In giro ci dovrebbero essere degli script per evitare i download
-
sì, in effetti stavo pensando che per la sicurezza dei dati, non è il caso creare dei collegamenti a dei file pdf, contenuti in delle cartelle...
ma più che altro allora a questo punto sarebbe meglio far visualizzare a video una volta loggati, l'intera pratica che ne dici?
-
Se trovi uno script che ti blocca il DL dei file stai, più o meno, apposto.
Senno' inserisci tutto su Db (volendo puoi usare la libreria FPDF per creare online dei PDF con i dati contenuti nel tuo Db )P.S. ah, in tutto questo ovviamente servirà una pagina ad accesso esclusivo dell'avvocato per caricare i record delle pratiche sul Db e poi metterei anche la tracciatura dei log degli utenti con tanto di IP ed altro
-
Sì in effetti mi sa che è la soluzione migliore...
comunque in altra situazione meno delicata, volendo usare la soluzione del campo aggiunto nella tabella inserendo il path....
la cartella si chiama pratiche, digitando ww.miosito/pratiche/pratica.pdf non si accede direttamente all'url?
era questo che mio stavi dicendo con...@Samyorn said:
Se trovi uno script che ti blocca il DL dei file stai, più o meno, apposto.
-
Si, praticamente tramite .htaccess blocchi il DL diretto, ed il Dl avverrà tramite uno script
Un qualcosa del genere almeno, ricordo di averlo visto tempo fa ma non l'ho usato
-
http://www.giorgiotave.it/forum/php-mysql/87179-proteggere-dei-file.html
può esservi utile...
-
Ah, thank you, thedark...
Molte grazie Samyor faccio un pò di prove e se ho bisogno, faccio un fischio
-
ciao samyor...
ho creato un campo "pratiche" nella tabella "pratiche" e ho insreito il nome del pdf...pratica n.1.pdfora il problema è che non riesco a far visualizzare a video il link, dopo il login dell'utente...come lo devo impostare nella pagina?
ricordo la mia pagina privata.php:
[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: index.php');
exit;
}
$id=$_SESSION['login'];
$sql="SELECT id, descrizione, stato FROM pratiche WHERE id_user='$id'"; //l'$id lo recuperi dalla sessione
$query = @mysql_query ($sql) or die (mysql_error());
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Area privata</title>
</head>
<body>
<table width="972" border="1">
<tr><th><div align="left"><u>Pratica</u></div></th><th><div align="left">Descrizione</div></th><th><div align="left">Stato</div></th></tr>
<?
while ($array= mysql_fetch_array($query)) // raccogliamo il risultato della query in un array e usciamo fuori tutto il suo contenuto a video
{
echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td></tr>";
}
?>
</table>
<p> </p>
<p> </p>
<p> </p>
<p><a href="logout.php">Logout</a><br />
</p>
</body>
</html>
[/php]
-
[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: index.php');
exit;
}
$id=$SESSION['login'];
$sql="SELECT id, descrizione, stato, pratiche FROM pratiche WHERE id_user='$id'";
$query = @mysql_query ($sql) or die (mysql_error());
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Area privata</title>
</head>
<body>
<table width="972" border="1">
<tr><th><div align="left"><u>Pratica</u></div></th><th><div align="left">Descrizione</div></th><th><div align="left">Stato</div></th></tr><tr><th>Visualizza</th></tr>
<?
while ($array= mysql_fetch_array($query))
{
echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td><td><a href="".$array['pratiche']."">Apri</a></tr>";
}
?>
</table>
<p> </p>
<p> </p>
<p> </p>
<p><a href="logout.php">Logout</a><br />
</p>
</body>
</html>
[/php]
Dovrebbe essere qualcosa del genere se non mi è sfuggito nulla
Un consiglio, nel nome dei file non mettere spazi o altre robe del genere, magari chiamalo [id][iduser] (per esempio la pratica 6 dell'utente 2 si chiamerà 6_2.pdf...poi fai te, ma non mettere spazi, è altamente sconsigliato
-
funzionaaaaa!!!!!!
Grazie veramente, sei stato un grande...non sarei riuscito a fare niente senza il tuo aiuto e sto imparando più così che con i tutorial!anche se ancora mi sfugge una cosina...
...non ho capito dove imposto il path del file, se è in un altra cartella...
cioè, mi ha funzionato il tutto perchè il pdf è nella stessa directory dello script php, ma se lo stesso pdf lo volessi mettere in una cartella chiamata pratiche, dove la imposto questa cosa?
non sono riuscito perchè non capisco quello slash al contrario nella stringa...sarebbe il backslash forse
-
@ginolatino said:
cioè, mi ha funzionato il tutto perchè il pdf è nella stessa directory dello script php, ma se lo stesso pdf lo volessi mettere in una cartella chiamata pratiche, dove la imposto questa cosa?
basta modificare dove andarlo a cercare
[php]echo "<tr><td>".$array['id']."</td><td>".$array['descrizione']."</td><td>".$array['stato']."</td><td><a href="pratiche/".$array['pratiche']."">Apri</a></tr>";[/php]> non sono riuscito perchè non capisco quello slash al contrario nella stringa...sarebbe il backslash forseYesse
-
Grazie, risolto!
Stavo pensando a quando mi hai consigliato un libro sul php e che tu facendo così avevi imparando "qualcosina in generale"...alla faccia!!!!
Comunque veramente troppo gentile e se sei siculo come ho letto, portiamo in alto la bandiera della trinacria...io sto al nord, ma sono di mazara
-
@ginolatino said:
... e se sei siculo come ho letto, portiamo in alto la bandiera della trinacria...io sto al nord, ma sono di mazara
Conterraneo sei ?
beviamo alla nostra alloraE' stato un piacere
e comunque per il libro non scherzavo, il PHP fondamentalmente non è difficile da comprendere, forse è più complesso lo studio degli operatori logici e cicliAlla prossima
-
Salve,
a questo script, per collegare il la pratica A al cliente 1, funziona a meraviglia, solo che mi devo ricordare l'id_user... come posso fare per poter scrivere direttamente il nome del cliente 1?
Grazie
-
Ciao allcolors62 e benvenuto nel Forum GT.
Intendi stampare a video il nome dell'user?
Avendo l'user_id estrai quanto ti serve dalla tabella user e stampi quello che ti serve....se ho capito bene cosa ti serve.
-
[.....]
Ciao e grazie del benvenuto,
mi sono spiegato malissimo io.
Il mio problema è questo, devo inserire delle pratiche ed ognuna associarle ad un cliente specifico. Questo funziona perfettamente. Il problema è che mi devo ricordare gli id_user mentre vorrei inserire gli user che mi ricordo meglio e ho minor possibilità di assegnare pratiche ai clienti sbagliati.
I dati vengono inseriti nel database attraverso un semplice form che, ripeto, con gli id_user funziona a meraviglia.
Intuisco che è una cosa semplice, solo che sono agli inizi con php e mi sono perso....Grazie mille
-
Immagino che ti basti inserire nel form una select che ti mostri i nomi degli utenti, valorizzi le option con l'id utente...ed il gioco è fatto.