estrazione mysql in base al login

NON so bene come fare, questa è la table registrazione che salva i dati in database

Campo Tipo Null Predefinito Commenti
id int(65) No
username varchar(65) No
password varchar(65) No
nome varchar(65) No
cognome varchar(65) No
Indirizzo varchar(65) No
citta varchar(65) No
provincia varchar(65) No
sesso varchar(65) No
anno varchar(4) No
mese varchar(2) No
giorno varchar(2) No
email varchar(65) No
attivo enum('0', '1') No 0
data_registrazione timestamp No CURRENT_TIMESTAMP
useronline int(30) No


Indici: Nome chiave Tipo Cardinalità Campo
PRIMARY PRIMARY 3 id
username UNIQUE 3 username
email UNIQUE 3 email
password FULLTEXT 1 password


Spazio utilizzato: Tipo Utilizzo
Dati 176 B
Indice 5,120 B
Totale 5,296 B
Statistiche righe: Istruzioni Valore
Formato dinamico
Righe 3
Lunghezza riga ø 58
Dimensione riga ø 1,765 B
Prossimo Autoindex 667
Creazione 03 Mag, 2012 at 10:12 PM
Ultimo cambiamento 12 Mag, 2012 at 03:30 PM
Ultimo controllo 23 Giu, 2012 at 08:04 AM


questa è la table images:

Campo Tipo Null Predefinito Commenti
id int(11) No
id_utente int(11) No
Titolo varchar(255) No
Descrizione varchar(255) No
Nome varchar(255) No
Tipo varchar(255) No


Indici: Nome chiave Tipo Cardinalità Campo
PRIMARY PRIMARY 4 id


Spazio utilizzato: Tipo Utilizzo
Dati 436 B
Indice 2,048 B
In eccesso 212 B
Effettivo 2,272 B
Totale 2,484 B
Statistiche righe: Istruzioni Valore
Formato dinamico
Righe 4
Lunghezza riga ø 56
Dimensione riga ø 621 B
Prossimo Autoindex 307
Creazione 03 Mag, 2012 at 07:16 PM
Ultimo cambiamento 07 Lug, 2012 at 04:57 PM
Ultimo controllo 23 Giu, 2012 at 08:04 AM
 
ciao
ho visto che
nella tabella registrazione hai messo
id int(65)
quante migliaia di milardi di utenti pensi di avere? (nemmeno il sito in blu arriva a tanto)
metti
id int(11) con 11 puoi avere 99.999.999.999 circa 100 milardi
puoi dagli l'autoincrement
anche nella tabella images
all'id primaru key dagli l'autoincrement

poi posta le due select di insert
sia quaella relativa alla registrazione che all'images
 
questa salva i dati di registrazione

mysql_query("INSERT INTO ".$tbl_name."
(username,password,nome,cognome,indirizzo,citta,provincia,sesso,anno,mese,giorno,email) VALUES ('$username','$password','$nome','$cognome','$indirizzo','$citta','$provincia','$sesso','$anno','$mese','$giorno','$email')",$db) || die(mysql_error());


Questa per la foto utente che salva nel database

$query = "INSERT INTO images (Titolo,Descrizione,Nome,Tipo) VALUES('$titolo','$descrizione','$nome','$tipo')";
$res = @mysql_query($query) or die (mysql_error());
@mysql_close($cn);
 
ciao
infatti nella seconda query di insert non vedo dove inserisci id_utente int(11) No
se non inserisci quel dato come fai a collegare l'utente con le sue foto?

edit
devi fare in questa maniera
quando l'utente si logga per inseririe una foto, oppure se sei tu che inserisci una foto per l'utente, dalla tabella registrazione devi prelevare il suo id
poi per l'insert in immages
$query = "INSERT INTO images (id_utente, Titolo,Descrizione,Nome,Tipo) VALUES('$id_utente','$titolo','$descrizione','$nome','$tipo')";
dove $id_utente può essere la sessione contentente il suo idi quando si logga
 
Ultima modifica:
ho fatto Borgo, ma l errore rimane,
il fatto è che lID DELL UTENTE DELLA TABLE registrazione, NON viene riportato nella table IMAGES nel
campo id_utente
 
insomma devo collegare le due tabelle in mysql.

in images id_utenterimane a 0, invece deve diventare l'id della table registrazione

grazie
 
se metto manualmente il valore giudto all id_utente in mysql, dovrebbe andare, invece no.
non capisco perchè.

grazie
 
ciao
fai una verifica col solito var_dump sulla query di inserimento

PHP:
//.....
$query = "INSERT INTO images (id_utente, Titolo,Descrizione,Nome,Tipo) VALUES('$id_utente','$titolo','$descrizione','$nome','$tipo')";
var_dump($query);
//.....
e guarda cosa ti risulta

ti faccio un esempio
l'utente ha id = 33
il titolo è pinco
la descrizione pallo
il nome due.jpg
il tipo quello che ti pare
il var dump dovrebbe darti
string (119)INSERT INTO images (id_utente, Titolo,Descrizione,Nome,Tipo) VALUES('33','pinco','pallo','due.jpg','quello che ti pare'
se non ti da qualcosa del genere l'errore è nella trasmissione dell'id_utente
 
fatto e non cambia nulla, non riesco a far prendere a id_utente, il valore di id della tabela registrazione.

infatti non cè nulla che invii sto dato.
come collego i 2 campi tabelle?

grazie
 
ciao
ripartiamo quesi da zero.
l'utente loggato arriva nella home. e sin qui se non erro va bene. quindi la $_SESSION['id'] esiste, altrimenti non si logga.
preme sul link per vedere le sue immagini e qui ti da errore perche non riesce ad estrarre giusto?
se quardi con phpadmin la tab immges risulta per l'utente un immagine col suo id_utente?
domanda?
chi carica le immagini, tu o l'utente?
1) se le carichi tu dovresti farti un form in cui (oltre agli altrti dati dell'immagine) avere una select con i dati dell'utente proprietario dell'immagine
esempio

HTML:
<form ...........>
<!-- ..... nella select id dell'utente e suo nome
è evidente che devi farti la select dinamica estraendo i dati dalla tabella registrazione
<option value="id dell'utente">nome dell' utente</option>
-->
<select name="utente">
  <option value="33">pinco</option>
  <option value="17">sempronio</option>
  <option value="22">zuzzurro</option>
</select>
<!-- ..... -->
</form>
poi nella pag php dove fai il caricamento e l'inser in tabella images

PHP:
<?php
//... dati connessione ecc...
$id_ut=$_POST['utente'];
//e tutti gli altri post per gli altri dati
//quindi la query
$query = "INSERT INTO images (id_utente, Titolo,Descrizione,Nome,Tipo) VALUES('$id_ut','$titolo','$descrizione','$nom e','$tipo')";
// eccetera
?>
2) se l'immagine la carica l'utente è evidente che deve essere loggato (deve esistere la $_SESSION['id']) quindi nel form non serve la select e la pag di caricamento
PHP:
<?php
session_start();//questa ci vuole sempre
//...........
$id_ut=$_SESSION['id'];
//gli altri post per i dati e la solita query di prima
//.....
?>
 
Ciao Borgo eccomi,
allora, si un utente loggato arriva alla home e fin qui ok, funziona tutto.
poi clicca su "foto" e deve vedere la sua foto, invece appare NULL syntax error ...order by id at line 1

la sua foto la carica l utente insieme ai suoi dati che vuole mettere, ho un form che carica la foto, e funziona, infatti la mette nella tabella images del database, insieme a quelle di altri.
 
ciao
allora arrivi alla home dove c'è il link alle immagini (ok)
se l'utente si è loggato qui devi poter vedere anche il sui nella sessione , quindi metti il solito var_dump
nella pagina home hai qualcosa del genere?
PHP:
<?php
session_start();
var_dump($_SESSION['id']);//subito dopo session_start metti il var dump
    //...........
    echo "Benvenuto! sei nella home";
    echo "<a href=\"foto.php\">vedi le tue immagini</a>";
    //e altri contenuti......
?>
il var_dump dovrebbe darti l'id dell'utente

poi hai verificato con phpadmin se nella tabella images assieme agli altri dati del record c'è anche l'id dell'utente?
 
provo a mettere session_id anche nella home, ma non dovrebbe essere nalla pagina foto.php?

nella tabella images ho un campo id_utente, ma rimane sempre o
 
ciao
nella tabella images DEVI avere (tralascio descrizione titolo e tipo)
1 33 pinco.jpg
2 27 pallo.jpj
3 33 sempronio.jpg
4 25 sofonoissba.jpg
5 33 asdrubale.jpg
6 88 attanasio.jpg
ecc...
dove il primo numero è l'id del record il secondo l'id_utente per cui quendo devi vedere le immagini (es. dell'utente 33)
la query ti estrarrà
pinco.jpg
sempronio.jpg
asdrubale.jpg

PHP:
$query= "SELECT * FROM images WHERE id_utente=".$_SESSION['id']." ORDER BY id";//non confondere l'id dell'order by che è l'id del record
dove $_SESSION['id'] deve contenere l'id dellutente (nel caso sopra 33) se la tabella images non è fatta così non estrarrai mai le foto dell'utente 33

edit
domani se ho un minuto ti metto giu uno schema completo da seguire
 
Ultima modifica:
Ciao Borgo, ti avevo scritto ieri ma sto sito mi funziona una volta su dieci.....

è come dici tu, a parte che nella colonna id_utente sopra da tè riportata, il 33 (per esempio) deve sempre
corrispondere a pinco, non ad altri.

il fatto è che non riesco a far prendere quegli id della table registrazione, alla table images.
ma se anche metto manualmente gli id_utente in images, continua a darmi l errore di syntax nell estrazione.


ciao
 
Ciao cricric,

Ho bisogno di te, sempre se sei disponibile. Sto impazzando per cercare una soluzione sul login. Il punto è questo. Faccio delle prove, ma non funzionano. Mi entranto oppure mi danno errore di connessione. Non so più come fare. Ho la password criptata in md5, penso che il problema sia la. Ma non solo, c'è il metodo di ricerca dei dati nel db. Insomma, una volta l'avevo fatto e andava bene, adesso purtroppo me lo sono perso. Mi puoi aiutare per favore ???? Sto impazzendo e non so più cosa fare. Grazie.
 
Ciao,
forse ci conviene ripartire da dove sei arrivato con una nuova discussione
 
Ciao

Ciao,

Se sei d'accordo, c'é giá una nuova discussione. Se domani ci sei, ti mando il link della discussione che avevo aperto. Comunque basta che cerchi paperini4 e laf trovi. In totale sono se non ricordo male, o 5 o 8 di discussioni aperte da me. Sono con l'ipad e non riesco a mandarti il link stasera. Perdonami. Spero che comunque, sei sempre disponibile per aiutarmi. Grazie. Ecco il link, ho fatto una cosa al volo. http://forum.mrwebmaster.it/php/30817-problema-login-password.html#post115588

Qua c'è la nuova discussione sulle sessioni. Ciao e grazie. Buona serata. A domani.
 
Ultima modifica:

Discussioni simili