Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    Galleria Immagini e Editor WYSWYG

    Ciao a tutti,
    avrei bisogno di un piccolo aiuto.
    Il mio livello di conoscenza di PHP non è elevato.
    Sto realizzando un'applicazione web per la gestione di annunci relativi ad autoveicoli.
    Ho praticamente realizzato l'intera applicazione con PHP e MySql. Adesso vorrei inserire all'interno della pagina "inserisci annunci" uno script che mi permetta l'inserimento delle immagini. Quindi ogno annuncio può avere più immagini. Oltre a questo vorrei inserire al posto del mio form textarea per la descrizione un editor di testo come quelli presenti in Joomla.
    Detto ciò, qualcuno mi può indicare il procedimento per implementare questa cosa? Ci sono dei tutorial o libri che spiegano come realizzare applicazioni del genere?

    Grazie per l'aiuto.
    Marco

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    ti do un suggerimento su come potresti muoverti secondo me:
    ovviamente nella form per l'inserimento di annunci ci metti pure i "file box" che ti permettono di caricare un file.Poi nello script php,oltre a fare le query per inserire la parte testuale dell'annuncio,ti fai una funzione che crea una cartella,nel percorso che vuoi tu,e il nome della cartella deve essere proprio coincidente con la chiave primaria dell'annuncio(che può essere l'id o il titolo se è unico...tu lo sai);dopo aver creato questa cartella,al suo interno ci carichi le immagini.
    Quando richiamerai l'annuncio,oltre a richiamare i dati dalla tabella,richiamerai tutte le immagini presenti nella cartella che avrà per nome ciò che ti ho detto sopra. La logica è semplice e spero sia stato chiaro nella spiegazione.
    Una volta capita la logica,dovresti "semplicemente implementare" , utilizzando le semplici funzioni
    1)mkdir("percorso") che serve per creare la cartella,
    2)procedura di caricamento file
    3)readdir("percorso") che serve per leggere il contenuto della cartella
    4)ciclo che ti permetterà di darti tutti i file immagini della cartella
    tutte queste funzioni sono spiegate nel web.

    Se non vuoi operare con i file,l'altra strada è operare con le tabelle: oltre alla tabella annunci,ti fai la tabella immagini,ogni immagine dovrà avere come chiave esterna quella del proprio annuncio di riferimento...la cosa è semplice solo se si hanno conoscenze sui database...la scorciatoia è la prima soluzione !(anche se così non sembra)

    ps per gli editor di testo: ce ne sono miriadi sul web,facilmente integrabili.

    spero di aver colto il tuo problema (a quest'ora )

  3. #3
    Grazie mille per il prezioso aiuto.
    Il problema editor è archiviato

    Adesso mi sto concentrando sulla galleria immagini. Cerco di seguire la tua spiegazione e di spiegartela a parole mie per vedere se ho capito.
    1) Inserisco un file box alla fine del form di inserimento annunci tipo (In merito devo studiarmi l'Upload dei file giusto?)
    In proposito ho da farti già una domanda. L'inserimento funziona con un form che è presente nella pagina inserisciautoveicoli.php che passa i dati alla pagina inserisciautoveicolo.php
    Devo creare un altro form tipo questo :
    <form enctype="multipart/form-data" action="??????" method="post">
    Invio del file : <input name="img" type="file" />
    <input type="submit" value="Upload" />
    </form>
    Dove deve puntare questo form? alla pagina inserisciautoveicolo.php
    ?

    Poi per gli altri punti non ho capito molto. Mi hai detto che è più semplice la prima strada. Anche a me sembra come dici tu anche se non ho ben capito come procedere. Ho in mente la seconda ma provo a seguire la prima.

    Grazie mille sei stato molto gentile.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    Originariamente inviato da marcopanico
    Dove deve puntare questo form? alla pagina inserisciautoveicolo.php
    ?
    non so dove hai inserito lo script che deve caricare l'annuncio...
    la tua form farà sempre riferimento alla pagina in cui inserisci lo script....se la parte php per il caricamento delle immagini lo metti in inserisciautoveicolo.php,è chiaro che in action ci devi mettere quella!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    ti faccio un esempio che riguarda solo l'inserimento delle immagini
    ho la pagina annunci.php,che contiene la form e la pagina inserisci.php,che contiene lo script php per l'inserimento.

    annunci.php
    Codice PHP:
    <body>
    <
    form action="inserisci.php" method="post" enctype="multipart/form-data">
    <
    label>inserisci qui il titolo annuncio
    <input type="text" name="titolo" width="200" />
    </
    label>


    <
    label>inserisci qui la prima immagine
    <input type="file" name="immagine1" />
    </
    label>


    <
    label>inserisci qui la seconda immagine
    <input type="file" name="immagine2" />
    </
    label>


    <
    input type="submit" lang="it" value="invio"  />
    </
    form>
    </
    body
    inserisci.php
    Codice PHP:
    <?php 
    if(!isset($_POST['titolo'])){print"inserire un titolo";exit;}
    $titolo =$_POST['titolo'];
    @
    mkdir($titolo);//creo la cartella che ha per nome il titolo dell'annuncio

    //prendo le due immagini caricate, se sono state caricate
    if(isset($_FILES['immagine1']))
    {
        
    $immagine1=$_FILES['immagine1']['name'];//nome 
        
    move_uploaded_file($_FILES['immagine1']['tmp_name'],$titolo."/".$immagine1) or die("errore caricamento $immagine1");
    }
    if(isset(
    $_FILES['immagine2']))
    {
        
    $immagine2=$_FILES['immagine2']['name'];
        
    move_uploaded_file($_FILES['immagine2']['tmp_name'],$titolo."/".$immagine2) or die("errore caricamento $immagine2");
    }

    print
    "annuncio inserito";



    ?>
    provale così come sono e vedi che ti creerà la cartella che ha per nome il titolo dell'annuncio con le relative immagini all'interno

  6. #6
    OK grazie sei gentilissimo.
    Ho capito il funzionamento e confermo che è molto più semplice questa opzione rispetto al database. Provo ad associare alla directory la chiave primaria ed unica della tabella annunci.

    Adesso vorrei gentilmente sapere un'altra cosa prima di procedere. Mi servirebbe ridimensionare le immagini in due risoluzioni diverse : 1 per la miniatura e l'altra per la galleria. Inoltre me ne servirebbe un'altra più piccola per l'elenco delle auto.
    A questo punto mi sa che lo script si complica. Dovrei affinare lo script all'interno del tuo inserisci.php giusto?

    Grazie mille dell'aiuto. Non è da molto che programmo in php, mi sono sempre occupato di grafica, xhtml, css e flash fino ad ora.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    mmm ,se devi usare le stesse immagini, non c'è nemmeno bisogno di ridimensionarle...voglio dire che puoi richiamare una delle immagini caricate semplicemente impostando la dimensione tramite html

    [img]path_immagine[/img]... se invece poi devi caricare un'immagine apposta per la miniatura allora conviene il ridimensionamento.

    guarda ho trovato una funzione che ti fa capire come gestire le proprietà di un'immagine

    http://www.sastgroup.com/tutorials/r...magine-con-php

    se ti serve ridimensionare dacci un'occhiata

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    scusa ho dimenticato di metterti un controllo sull'upload in modo tale che viene permesso solo l'upload di immagini e non di altri file!

    Codice PHP:
    if(isset($_FILES['immagine1']))
    {
        
    $immagine1=$_FILES['immagine1']['name'];//nome 
        
    $type$_FILES['immagine1']['type'];
        
    $tipo=explode("/",$type);
          if(
    $tipo[0]!="image")
              {print 
    "errore,il primo file non è un'immagine
    "
    ;}
              else{
          
    move_uploaded_file($_FILES['immagine1']['tmp_name'],$titolo."/".$immagine1) or die("errore caricamento $immagine1");
            }
        


  9. #9
    Questo è il mio form :

    <form id="form" name="form" method="post" enctype="multipart/form-data" action="inserisciautoveicolo.php">
    <div class="modulo">
    <label>Seleziona una categoria</label>
    <select name="categoria" id="categoria">
    <?php
    $Risultato=mysql_query("select * from categorie", $connessione);
    if ($Risultato){
    while($row = mysql_fetch_assoc($Risultato)){
    $nome_categoria = $row['nome_categoria'];
    echo "<option value='" . $nome_categoria . "'>" . $nome_categoria . "</option>n";
    }
    }
    ?>
    </select>
    </div>
    <div class="modulo">
    <label>Seleziona la casa produttrice</label>
    <select name="casa_automobilistica" id="casa_automobilistica">
    <?php
    $Risultato=mysql_query("select * from case_automobilistiche", $connessione);
    if ($Risultato){
    while($row = mysql_fetch_assoc($Risultato)){
    $nome = $row['nome'];
    echo "<option value='" . $nome . "'>" . $nome . "</option>n";
    }
    }
    ?>
    </select>
    </div>
    <div class="modulo">
    <label>Inserisci il modello</label>
    <input type="text" name="modello" id="modello" />
    </div>
    <div class="modulo">
    <label>Inserisci il prezzo da listino</label>
    <input type="text" name="prezzo_listino" id="prezzo_listino" />
    </div>
    <div class="modulo">
    <label>Inserisci il tuo prezzo</label>
    <input type="text" name="prezzo_concessionaria" id="prezzo_concessionaria" />
    </div>
    <div class="modulo">
    <label>Seleziona il tipo di alimentazione</label>
    <select name="alimentazione" id="alimentazione">
    <option>Benzina</option>
    <option>Diesel</option>
    <option>Gas</option>
    <option>Gpl</option>
    <option>Etanolo</option>
    <option>Elettrica</option>
    <option>Idrogeno</option>
    <option>Altro</option>
    </select>
    </div>
    <div class="modulo">
    <label>Anno di immatricolazione</label>
    <input type="text" name="immatricolazione" id="immatricolazione" />
    </div>
    <div class="modulo">
    <label>Inserisci il colore</label>
    <input type="text" name="colore" id="colore" />
    </div>
    <div class="modulo">
    <label>Seleziona il numero di porte</label>
    <select id="porte" name="porte" >
    <option value="3">3</option>
    <option value="5">5</option>
    </select>
    </div>
    <div class="modulo">
    <label>Inserisci i Km</label>
    <input type="text" name="km" id="km" />
    </div>
    <div class="modulo">
    <label>Inserisci la cilindrata</label>
    <input type="text" name="cilindrata" id="cilindrata" />
    </div>
    <div class="modulo">
    <label>Optional</label>
    <input type="text" name="optional" id="optional" />
    </div>

    <label>Descrizione</label>
    <textarea cols="50" rows="15" name="descrizione" id="descrizione" ></textarea>



    <label>inserisci qui la prima immagine
    <input type="file" name="immagine1" />
    </label>


    <label>inserisci qui la seconda immagine
    <input type="file" name="immagine2" />
    </label>


    <input type="submit" lang="it" value="invio" />

    </form>

  10. #10
    <?php include ("connect.php"); ?>


    <?php

    $titolo =$_POST['titolo'];
    @mkdir($titolo);//creo la cartella che ha per nome il titolo dell'annuncio

    //prendo le due immagini caricate, se sono state caricate
    if(isset($_FILES['immagine1']))
    {
    $immagine1=$_FILES['immagine1']['name'];//nome
    move_uploaded_file($_FILES['immagine1']['tmp_name'],$titolo."/".$immagine1) or die("errore caricamento $immagine1");
    }
    if(isset($_FILES['immagine2']))
    {
    $immagine2=$_FILES['immagine2']['name'];
    move_uploaded_file($_FILES['immagine2']['tmp_name'],$titolo."/".$immagine2) or die("errore caricamento $immagine2");
    }

    print"annuncio inserito";
    //creo la cartella che ha per nome il titolo dell'annuncio
    $categoria=$_POST['categoria'];
    $casa_automobilistica=$_POST['casa_automobilistica'];
    $modello=$_POST['modello'];
    $prezzo_listino=$_POST['prezzo_listino'];
    $prezzo_concessionaria=$_POST['prezzo_concessionaria'];
    $alimentazione=$_POST['alimentazione'];
    $immatricolazione=$_POST['immatricolazione'];
    $colore=$_POST['colore'];
    $porte=$_POST['porte'];
    $km=$_POST['km'];
    $cilindrata=$_POST['cilindrata'];
    $optional=$_POST['optional'];
    $descrizione=$_POST['descrizione'];

    $query = "INSERT INTO autoveicoli (categoria, casa_automobilistica, modello, prezzo_listino, prezzo_concessionaria, alimentazione, immatricolazione, colore, porte, km, cilindrata, optional, descrizione) VALUES
    ('$categoria','$casa_automobilistica','$modello',' $prezzo_listino','$prezzo_concessionaria','$alimen tazione','$immatricolazione','$colore','$porte','$ km','$cilindrata','$optional','$descrizione')";
    //prendo le due immagini caricate, se sono state caricate


    if (mysql_query($query, $connessione))
    {
    header ('Location: inserisciautoveicoli.php');
    exit;
    }
    else
    {
    echo "

    L'inserimento della categoria non è riuscito</p>";
    echo "

    " . mysql_error() . "</p>";
    }

    ?>



    <?php include ("close.php"); ?>

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.