Problema estrazione e visualizzazione immagine da database

alo

Utente Attivo
22 Dic 2011
53
0
0
24
Salve a tutti,
ho un problema. Ho scritto il seguente script PHP per estrarre e visualizzare un immagine da un database, ma non funziona e non so il perchè.
PHP:
<?php 
//vis_image.php 
include('configurazione_database.php'); 
$id_user_profile = $_GET['id']; 
$select_user_image_sql = "SELECT * FROM immagini WHERE id_user = '$id_user_profile'"; 
$select_user_image = mysql_query($select_user_image_sql) or die(mysql_error()); 
$select_user_image_row = mysql_fetch_array($select_user_image); 
$type = $select_user_image_row['type']; 
$image = $slect_user_image_row['immagine']; 
Header("Content-type: ".$type); 
echo $image; 
?>
e lo richiamo da un tag html <img>
PHP:
echo "<img src='vis_image.php?id=$profile_id'>";
Qualcuno potrebbe darmi una mano?
Grazie in anticipo!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova a guardare qui
$image = $slect_user_image_row['immagine'];
non dovrebbe essere
$image = $select_user_image_row['immagine'];
 

alo

Utente Attivo
22 Dic 2011
53
0
0
24
Si grazie hai ragione... Ma non me la visualizza comunque...
L'ho usato in diverse pagine uno script simile e funziona... Non so perchè qui mi fa questi problemi...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova in questo modo

PHP:
header("Content-type: $type");
dimenticavo la H di header divrebbe essere minuscola
 
Ultima modifica:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Hai provato a fare dei controlli sulle variabili?
Per esempio:
-la variabile $profile_id viene passata correttamente?
-la query da il risultato cercato?
-le variabili $type e $image contengono qualcosa? E se si, contengono quello che desidero?

Per il resto quel metodo che stai usando per stampare l'immagine non l'ho mai utilizzato quindi non ti so aiutare più di tanto.
 

alo

Utente Attivo
22 Dic 2011
53
0
0
24
Vi ringrazio molto per le risposte!
(borgo italia) ho cambiato come mi hai suggerito ma ancora niente!
(Longo8) tu che metodo usi?
Sono due giorni che tento di capire dove sbaglio perchè in precedenza funzionava... Sto realizzando una sorta di pagina-profilo dove in una tabella vengono stampati su una colonna i dati dell'utente e su un altra l'immagine che lui ha inserito... Per la colonna dei dati tutto a posto, ma nella colonna dell'immagine mi fa vedere la classica icona "rotta, spezzata"...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
per verificare le variabili il metodo migliore è mettere dei var_dump che ti restituiscono il tipo ed il valore della variabile
poi li togli
PHP:
<?php
//vis_image.php 
include('configurazione_database.php'); 
$id_user_profile = $_GET['id']; 
var_dump($_GET['id']);// se NULL non riceve il get
$select_user_image_sql = "SELECT * FROM immagini WHERE id_user = '$id_user_profile'"; 
$select_user_image = mysql_query($select_user_image_sql) or die(mysql_error());
var_dump($select_user_image);//se Bool (FALSE) la query non è andata a buon fine
$select_user_image_row = mysql_fetch_array($select_user_image); 
$type = $select_user_image_row['type']; 
var_dump($type);//vedi se il tipo è quello che ti serve, dovrebbe essere image/jpg (o gif o png)
$image = $select_user_image_row['immagine'];
var_dump($image);//solo per vedere che non sia vuoto, altrimenti ti da una serie di caratteri
//commenta l'header perchè, dati i var_dump, hai un output html quindi dovrebbe darti errore
//header("Content-type: $type"); 
echo $image; 
?>
 

alo

Utente Attivo
22 Dic 2011
53
0
0
24
Nemmeno... Mi connetto alla pagina (p.e.: vis_image.php?id=3) e mi da una pagina bianca, vuota, come se non ci fosse scritto nulla nel file php. E' molto strano... Come se il file non esistesse... Non c'è un altro metodo per estrarre e visualizzare immagini da un db??
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
strano, i var dump non ti restituiscono niente?

negli articoli di php ci deve essere qualcosa (in home linguaggi del web->php->articoli)
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Cioè tu con un tag di questo tipo:
PHP:
echo "<img src='vis_image.php?id=$profile_id'>";
Ho letto qualcosa su quello che vorresti fare e ho trovato tutti gli esempi scritti nel modo che suggeriva borgo:
PHP:
    header("Content-Type: $type");
Anche se la 'h' è sempre minuscola negli esempi. Non so se faccia differenza.


Io semplicemente non uso un altra pagina per fare ciò ma faccio tutto quello che tu hai fatto nell'altra pagina, in quella dove usi il tag sopra postato.
Cioè in questo caso io farei (direttamente nella pagina dove ci sta il tag):
PHP:
<?php  
include('configurazione_database.php');  
$select_user_image_sql = "SELECT * FROM immagini WHERE id_user = '$profile_id'";  
$select_user_image = mysql_query($select_user_image_sql) or die(mysql_error());  
$select_user_image_row = mysql_fetch_array($select_user_image);  
$type = $select_user_image_row['type'];  
$image = $slect_user_image_row['immagine'];  
$path = "cartella/".$image.".".$type;
echo "<img src='$path'>";
?>

Ditemi se ho scritto qualcosa di errato ma mi potrete capire, sono le ore 1.36 AM :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
@longo8
da come ho capito che è strutturato lo script, non serve
img scr
ma il file immagine è dentro un campo blob (almeno così dovrebbe essere) per cui con, prima lheader, poi con l'eco stampa il file, cioè l'immagine
 

alo

Utente Attivo
22 Dic 2011
53
0
0
24
ciao e grazie delle risposte, vedo anche a tarda ora.
borgo nella sezione articoli del sito c'è un articolo che usa lo stesso metodo mio.
longo8 fammi capire, l'immagine che un utente sceglie la salvi sia in una cartella sia in un database e poi alla connessione dell'utente prendi i dati dal database e in base a i dati richiami l'immagine dalla cartella giusto??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
col sistema di longo8 nella cartella salvi o carichi l'immagine e nel db metti il suo nome (es pinco.jpg), quindi potresti fare il semplice (anche se poi lo scrivi usando php) html

PHP:
//....
$image = $select_user_image_row['nome_immagine']; //il campo nome_immaginae sarà un sempliche varchar
$nome_immagine=$path.$image;
echo "<img src=\"$nome_immagine\">";
//....

da molti punti di vista questo sistema da meno rogne di quello di inserire il file immagine nel db, però è molto più facile per un malintenzioanto carpirle
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Si è proprio quello il metodo che utilizzo.
Non conosco i pro e i contro di ognuno perché ho sempre utilizzato quello.
Ovviamente se l'utente ha alcuni diritti sui file della cartella devi fare una cartella diversa per ogni utente in base alla chiave con cui distingui gli utenti.
Per esempio distingui l'utente per USERNAME [es.'PINO']. Il path dell'immagine sarà:
immagini/pino/1234.jpg
E nel database basta salvare l'estensione e il nome per poi assemblare il path e richiamarlo nella IMG SRC come ti ha mostrato Borgo.
 

alo

Utente Attivo
22 Dic 2011
53
0
0
24
Ho capito, proverò ad usare questo metodo. Metto in una cartella tutte le immagini che gli utenti caricano e nel database le rispettive informazioni. Alla connessione ricavo l'id dell'utente e prendo dal database il nome e il tipo dell'immagine e la corrispondente nella cartella!
Grazie mille per avermi aiutato e per aver seguito la discussione!! Mi ha fatto veramente tanto piacere!
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
O [PHP] problema estrazione immagine da db PHP 12
M Problema con estrazione coordinate da google geocoding PHP 1
A problema estrazione singolo valore e memorizzazione in variabile PHP 1
H Problema riguardo l'estrazione di record dal DB tramite codice univoco PHP 7
M problema con estrazione dati da più tabelle MySQL 1
A problema: estrazione dati da query mysql e assegnazione ad una variabile PHP 2
P Problema acquisizione clienti Webdesign e Grafica 0
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 7
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1
M Problema Wi-Fi Linux Linux e Software 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
Daniele_Carrara Problema Aperture Mailup Email Marketing 5
F PROBLEMA ACCESSO INSTAGRAM Discussioni Varie 2
R Problema connessione db PHP 7
M problema if PHP 2
G Problema con Get page PHP 4
N Problema passaggio variabili tra pagine PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
H problema carrello woocommerce PHP 2
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
M Problema su query JOIN in tre tabelle PHP 0
S Problema esportazione tabelle Mysql in Excel PHP 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1

Discussioni simili