Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Galleria immagini da mysql da visualizzare in pagina html

    Salve a tutti, mi sono appena iscritto, anche se è già da parecchio che cerco (e molto spesso trovo) aiuto su questo forum.
    il mio problema è questo:
    sto cercando di metter su un sito/applicazione per fotoamatori in cui ci dovrebbe essere una specie di galleria di immagini salvate sul database mysql. per quanto riguarda la prima pagina della galleria non ho problemi in quanto ho inserito nel tag IMG il collegamento allo script php corredato di querystring per visualizzare l'immagine il cui id del db è 1. il problema vero e proprio nasce quando devo creare i pulsanti per passare dall'immagine con id 1 all'immagine con id 2 o viceversa: infatti provavo tramite questi pulsanti a modificare il tag IMG suddetto modificando il valore della querystring, ma qualsiasi tentativo faccia o mi dà errore oppure non funziona. So che spiegata così la cosa non è chiarissima, ma dal momento che il codice è piuttosto lungo, prima di postarlo volevo almeno capire se la mia idea è fattibile o meno...
    Grazie a tutti quelli che vorranno aiutarmi.

  2. #2
    posta il codice......

    ma l'immagine la carichi in un campo blob oppure carichi solo il nome su mysql e l'immagine la metti sul server??
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  3. #3
    Il codice è questo:

    SezFoto.php
    Codice PHP:
    <?PHP
      $a 
    ="1"
     function 
    prossima() {
     
    $a$a++;
     echo 
    "[img]immagineID.php?img=<?php echo $a; ?>[/img]";}
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
     <title>Obiettivi Creativi</title>
     <meta name="description" content="" />
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     <meta name="keywords" content="" />
     <link rel="stylesheet" media="screen, projection" type="text/css" href="stile.css" />
    </head>
    <body>
    ...
    [img]immagineID.php?img=<?php echo $a?>[/img]
    //Fin qui nessun problema questa img viene visualizzata correttamente
    ...
    <div id="frecciaDx">
    [url=""][img]images/frdx1a.jpg[/img]"/>[/url]
    <script language="javascript">
        function mouseOver2()
        {
        document.getElementById( "imageX2").src = "images/frdx2a.jpg";
        }
        function mouseOut2()
        {
         document.getElementById( "imageX2").src = "images/frdx1a.jpg";
        }
        </script>
    </div>
    //questo dovrebbe essere il pulsante che va a modificare la querystring...
    ... il resto del codice funziona...
    E questo è il contenuto del file immagineID.php
    Codice PHP:
    <?PHP session_start();
    // connessione e selezione del database
    mysql_connect('localhost''root''root')
    or die(
    'Connessione non riuscita: ' mysql_error());

    if(!
    mysql_select_db('lpw'))
    die(
    'Selezione database fallita!');
    $_COOKIE["img"];
    $immagine $_GET['img'];
    // query per recuperare il file
    $query "SELECT * FROM images WHERE Id =".$_GET['img']."";
    $risultato mysql_query($query) or die('Query non valida:'.mysql_error());
    $tmp mysql_fetch_array($risultato);

    // invio una intestazione contenente il tipo MIME
    header('Content-Type: '.$tmp['Tipo']);

    // invio il contenuto del file
    echo $tmp['Dati'];
    ?>
    Per quanto riguarda le immagini sono salvate direttamente nella tabella del db come longblob.

  4. #4
    Allora.....l'evento onclick è riservato all'esecuzione di codice javascript.....quindi dovresti scrivere:
    Codice PHP:
    [url="<?php prossima(); ?>"][img]images/frdx1a.jpg[/img][/url]
    poi $_COOKIE["img"]; a che serve???

    altro poi...non ti conviene caricare l'immagine in un campo blob....ti conviene copiare il nome dell'immagine sul database e l'immagine la metti sul server....i database non sono infiniti quindi comprare un dominio con un grande database (visto che carichi delle immagini lo riempi in 1 mese) costa parecchio e soprattutto il db è piu lento rispetto al caricare immagine che stanno direttamente sul server
    V.I.S.T.A. --> Virus Inside, Switch To Apple

  5. #5
    Allora ti dico, innanzitutto grazie per l'auito che mi stai dando... poi passiamo al problema:
    facendo come mi hai suggerito al click sull'immagine mi da questo errore "You don't have permission to access /Progetto2/<img id='foto' src='immagineID.php on this server."

    Per quello che riguarda il database ho fatto cosi perchè si tratta solo di un progetto per l'università che dovrò discutere in locale e con una quantità limitata di immagini, quindi per il momento non mi interessa della grandezza del db... oltretutto non so come caricare su server solo il path e non il file cosi com'è... magari poi, se hai tanta pazienza, me lo spieghi..

    il cookie è un residuo di un tentativo precedente (lo settavo nella pagina SezFoto.php)...

    Altri suggerimenti?

  6. #6
    Per il momento ho messo da parte il problema e lo riprenderò in seguuito...
    Siccome tramite quel tipo di upload (che mi carica sul db il file così com'è) sto avendo altri problemi, pensavo di modificare lo script per fare in modo che il file caricato sia salvato su una cartella e contemporanemente salvi nel database la path per raggiungere l'immagine... ma come si fa? ho cercato per metà pomeriggio ma non ho trovato niente di abbastanza semplice e modificabile alle mie esigenze... mi date qualche dritta? GRAZIE INFINITE

  7. #7
    uff... ho risolto per quello che riguarda il db e le cartelle... avevo un po' di confusione in testa e non pensavo alla soluzione più semplice!
    comunque il problema della galleria permane! Al solito riesco a visualizzare la prima immagine salvata nel database, ma il pulsante "next" non vuol saperne di funzionare, continua a darmi questa schermata:
    "403 Forbidden"
    "You don't have permission to access /Progetto2/[img]Foto/DSCI1120.JPG[/img] on this server."
    Perchè mi da questo errore?
    Mi sorge il dubbio che non sia possibile modificare una parte della pagina tramite un pulsante nella pagina stessa... Resto in attesa che qualche anima pia mi aiuti...

  8. #8
    Allora... modificando la tabella del db ho risolto il problema dei permessi... non so come... in pratica ora le immagini vengono salvate su cartella e sul db è riportato solo il nome dell'immagine (da cui posso risalire alla cartella tramite img src)... così facendo ho potuto implementare lo script nella pagina, pensando così di rendermi le cose più semplici... mi sbagliavo! Infatti i pulsanti per "scorrere" le immagini da database cmq non funzionano... nel senso che cliccandoci sopra non succede nulla!
    Vi posto qui tutta la pagina così com'è:
    SezFoto.php
    Codice PHP:
    <?PHP
    $a
    =1;
    function 
    prossima($a){ $a $a+1;}
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <title>Obiettivi Creativi</title>
     <meta name="description" content="" />
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     <meta name="keywords" content="" />
     <link rel="stylesheet" media="screen, projection" type="text/css" href="stile.css" />
    </head>

    <body>
    <div id="logo">[img]image/ObiettiviCre.gif[/img]</img></div>
    <div id="contenuti">
    <div id="centro">
    <div id="welc">
    <?PHP
    // connessione e selezione del database
    mysql_connect('localhost''root''root')
    or die(
    'Connessione non riuscita: ' mysql_error());

    if(!
    mysql_select_db('lpw'))
    die(
    'Selezione database fallita!');
    // query per recuperare il file
    $query "SELECT * FROM images WHERE Id =".$a."";
    $risultato mysql_query($query) or die('Query non valida:'.mysql_error());
    $tmp mysql_fetch_array($risultato);

    // invio una intestazione contenente il tipo MIME
    header('Content-Type: '.$tmp['Tipo']);

    // invio il contenuto del file
    echo "[img]Foto/"; echo $tmp[[/img]";?> 
    </div>
    </div>
    <div id="
    BarraSx">
    <div id="
    sezioni">
    [url="
    ObiettiviCreativi.php"][img]images/Home.png[/img]</img>[/url]


    [url=""][img]images/SezioneFoto.png[/img]</img>[/url]


    [url=""][img]images/SezioneVideo.png[/img]</img>[/url]


    [url="
    Crediti.php"][img]images/Crediti.png[/img]</img>[/url]
    </div>


    <ul class="
    login">[*]<center>LOGIN

        <form name='login' action='Controllo.php' method=POST>
          Nickname

          <input type="
    text" name="nick" size="20"/>

          Password 

          <input type="
    password" name="pass" size="20"/>


          <input type="
    submit" value="Login"/>
    </form>
    <form name='logout' action='logout.php' method=POST>
    <input type='submit' value='Logout'/>
    </form>

    Vuoi registrarti? [url='Registrazione.php']CLICCA![/url]
    </center>   [/list]
    </div>
    <div id="
    frecciaSx">
    [url=""][img]images/frsx1a.jpg[/img][/url]

    <script language="
    javascript">
        function mouseOver1()
        {
        document.getElementById( "
    imageX").src = "images/frsx2a.jpg";
        }
        function mouseOut1()
        {
         document.getElementById( "
    imageX").src = "images/frsx1a.jpg";
        }
    </script>
    </div>
    <div id="
    frecciaDx">
    [url="
    <?php prossima($a);"][img]images/frdx1a.jpg[/img][/url]
    <script language="
    javascript">
        function mouseOver2()
        {
        document.getElementById( "
    imageX2").src = "images/frdx2a.jpg";
        }
        function mouseOut2()
        {
         document.getElementById( "
    imageX2").src = "images/frdx1a.jpg";
        }
        </script>
    </div>
    <div id="
    BarraDx">
    <?php 
    $c = $_COOKIE["user"];
    if (
    $c != "") { 
    echo "
    <div id='comm'><form name='comm' action='' method=POST>
    VOTA LA FOTO 
     
    1  2  3  4  5

    <input type='radio' name='voto' value='1'><input type='radio' name='voto' value='2'><input type='radio' name='voto' value='3'><input type='radio' name='voto' value='4'><input type='radio' name='voto' value='5'>

    COMMENTA LA FOTO

    <input type='text' name='cmm' value='$a'>

    <
    input type='submit' name='submit' value='Invia!'>
    </
    form>


    [
    url='select.php'][img]images/load.png[/img]</img>[/url]</a></div>"; } ?>
    </div>
    </div>
    </body>
    </html>
    Chi mi dà una mano a capire dov'è il problema? premetto che la funzione prossima l'ho testata a parte per vedere se aggiungeva 1 a $a e a quanto pare funziona... ma nella pagina, almeno per com'è fatta ora, non vuol saperne neanche di cambiare la variabile! (notare "COMMENTA LA FOTO
    <input type='text' name='cmm' value='$a'>")...
    Lo sto testando con FF.. non è che è questo che mi crea problemi?... non so che altro pensare... HELP!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.