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

    [PHP+MySql] Form inserimento foto e descrizione

    Ciao A tutti...

    Lo so è stato scritto di tutto e di più.

    Ma io ancora oggi non riesco a creare questo form.

    Vorrei uplodare una foto sul server e collegarla alla relativa descrizione..



    tabella mysql

    1 id
    2 nome
    3 descrizione
    4 immagine

  2. #2

  3. #3
    Grazie..

    Vorrei creare un form in PHP che mi permetta di aggiornare/creare una tabella in MySQL.

    Il form dovrebbe contenere un upload di file immagine attraverso il tasto sfoglia.

    Per quanti script sto provando non c'è uno che riesco a far funzionare.

    Il max è stato di creare un upload di file separato da un form di gestione news..


    Nome:
    Descrizione:
    ...
    ...

    Immagine: (tasto sfoglia)

    tipo quello che utilizza il forum html

  4. #4
    Continuo a non capire quale sia il problema che non riesci a risolvere.

  5. #5
    Grazie per la pazienza innanzitutto

    devo aggiornare un database MySQL: db

    Il db ha come tabella: catalogo

    I campi della tabella sono:

    id int(11) No Nessuno auto_increment
    categoria_id int(11) No 0
    nome varchar(25) latin1_swedish_ci Sì NULL
    modello varchar(15) latin1_swedish_ci Sì NULL
    sottotitolo varchar(80) latin1_swedish_ci Sì NULL
    breve longtext latin1_swedish_ci Sì NULL
    descrizione longtext latin1_swedish_ci Sì NULL
    immagine varchar(64) latin1_swedish_ci Sì NULL
    posizione int(2) No 0

    Devo creare un form di inserimento/modifica dati in PHP

    Il form mi deve permettere anche l'upload del file immagine in una cartella del sito: foto.

    Non riesco... Sarà la cosa più banale del mondo ma non riesco..


  6. #6
    Non riesci a fare cosa?

    Sai come collegarti al DB?
    Sai come eseguire una query e leggerne i risultati?
    Hai mai creato una form di inserimento/modifica dei dati nel database?
    Hai mai creato una form di upload funzionante?

  7. #7
    Originariamente inviato da filippo.toso
    Non riesci a fare cosa?

    Sai come collegarti al DB?
    Sai come eseguire una query e leggerne i risultati?
    Hai mai creato una form di inserimento/modifica dei dati nel database?
    Hai mai creato una form di upload funzionante?
    Si so collegarmi al db riesco a creare le query e a leggerne i risultati
    Ho creato una form di inserimento/modifica dati nel database.

    Non riesco/capisco ad integrare la funzione di upload del file immagine nel campo immagine...

  8. #8
    qui ti inserisco il codice php della pagina di inserimento della news

    Codice PHP:
    <?
    include ("db.php");
    ?>

    <form method="post" action="salva.php" style="text-align: left">

    Nome:

    <input type="text" size="40" name="nome" />




    Categoria:

    <select name="categoria_id">
    <option value="1">Controllo Accessi</option>
    <option value="2">Rilevazione Presenze</option>
    </select>




    Modello:

    <textarea cols="40" rows="10" name="modello" /></textarea>




    Sottotitolo:

    <input type="text" size="40" name="sottotitolo" />




    Descrizione breve:

    <textarea cols="30" rows="5" name="breve" /></textarea>




    Descrizione:

    <textarea cols="40" rows="20" name="descrizione" /></textarea>




    Immagine:

    <input type="text" size="40" name="immagine" />




    Posizione:

    <input type="text" size="40" name="posizione" />




    <input type="submit" value="Invia" />
    </form>
    Qui invece la pagina salva.php

    Codice PHP:
    <?
    $nome
    =$_REQUEST['nome'];
    $categoria_id=$_REQUEST['categoria_id'];
    $modello=$_REQUEST['modello'];
    $sotto=$_REQUEST['sottotitolo'];
    $breve=$_REQUEST['breve'];
    $descrizione=$_REQUEST['descrizione'];
    $immagine=$_REQUEST['immagine'];
    $posizione=$_REQUEST['posizione'];

    include(
    "db.php");

      
    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
    $query "INSERT INTO catalogo (nome, categoria_id, modello, sottotitolo, breve, descrizione, immagine, posizione) VALUES ('$nome', '$categoria_id', '$modello', '$sotto', '$breve', '$descrizione', '$immagine', '$posizione')";
        if (
    mysql_query($query$db))
        echo 
    "L'articolo è stato inserito correttamente";
      else
        echo 
    "Errore durante l'inserimento";

    //endif;  
      
    mysql_close($db);
     
    // chiude la verifica della presenza dei dati
    ?>

  9. #9
    Alcune note generali:

    1. Non usare lo short open tag, utilizza il tag di apertura completo (<?php).
    2. Non usare $_REQUEST, utilizza l'array superglobale specifico (es. $_POST).
    3. Non accedere ad un indice di un array se non sei sicuro della sua esistenza (vedi http://kb.creativepark.it/kb/entry/6/).
    4. Studiati con le problematiche di sicurezza (vedi http://php.html.it/guide/leggi/121/g...urezza-di-php/) con speciale attenzione alla SQL Injection.
    5. Il controllo sul valore di ritorno di mysql_query() dovrebbe essere !== FALSE.
    6. Per integrare l'upload è sufficiente aggiungere un campo file e gestire l'upload come da manuale (http://www.php.net/manual/en/features.file-upload.php).

  10. #10
    Grazie filippo... non sono un programmatore php ed alcune cose mi sono state di aiuto

    ho spulciato nel web ed ho trovato la soluzione.. la posto magari se a qualcuno può servire o c'è bisogno di qualche correzione per la sicurezza o altro...

    Cmq. qui la pagina in php per il form
    Codice PHP:

    <form method="post" action="salva.php" enctype="multipart/form-data" style="text-align: left">

    Nome:

    <
    input type="text" size="40" name="nome" />




    Categoria:

    <
    select name="categoria_id">
    <
    option value="1">Controllo Accessi</option>
    <
    option value="2">Rilevazione Presenze</option>
    </
    select>




    Modello:

    <
    textarea cols="40" rows="10" name="modello" /></textarea>




    Sottotitolo:

    <
    input type="text" size="40" name="sottotitolo" />




    Descrizione breve:

    <
    textarea cols="30" rows="5" name="breve" /></textarea>




    Descrizione:

    <
    textarea cols="40" rows="20" name="descrizione" /></textarea>




    Immagine:

    <
    input type="file" size="40" name="image" />




    Posizione:

    <
    input type="text" size="40" name="posizione" />




    <
    input type="submit" value="Invia" />
    </
    form
    questa la pagina salva.php che mi permette di salvare i dati nel db e fare l'upload dell'immagine sul server

    Codice PHP:
    <?php

    do {
      if (
    is_uploaded_file($_FILES['image']['tmp_name'])) {
        
    // Controllo che il file non superi i 18 KB
        
    if ($_FILES['image']['size'] > 184320) {
          
    $msg "

    Il file non deve superare i 180 KB!!</p>"
    ;
          break;
        }
        
    // Ottengo le informazioni sull'immagine
        
    list($width$height$type$attr) = getimagesize($_FILES['image']['tmp_name']);
        
    // Controllo che le dimensioni (in pixel) non superino 180x125
        
    if (($width 180) || ($height 125)) {
          
    $msg "

    Dimensioni non corrette!!</p>"
    ;
          break;
        }
        
    // Controllo che il file sia in uno dei formati GIF, JPG o PNG
        
    if (($type!=1) && ($type!=2) && ($type!=3)) {
          
    $msg "

    Formato non corretto!!</p>"
    ;
          break;
        }
        
    // Verifico che sul sul server non esista già un file con lo stesso nome
         
    if (file_exists('upload_img/'.$_FILES['image']['name'])) {
          
    $msg "

    File già esistente sul server. Rinominarlo e riprovare.</p>"
    ;
          break;
        }
        
    // Sposto il file nella cartella da me desiderata in questo caso upload_img
        
    if (!move_uploaded_file($_FILES['image']['tmp_name'], 'upload_img/'.$_FILES['image']['name'])) {
          
    $msg "

    Errore nel caricamento dell'immagine!!</p>"
    ;
          break;
        } 
      }
    } while (
    false);
    echo 
    $msg;


    $nome=$_POST['nome'];
    $categoria_id=$_POST['categoria_id'];
    $modello=$_POST['modello'];
    $sotto=$_POST['sottotitolo'];
    $breve=$_POST['breve'];
    $descrizione=$_POST['descrizione'];
    $immagine=$_FILES['image']['name'];
    $posizione=$_POST['posizione'];

    include(
    "../inc/db.php");

      
    $db mysql_connect($db_host$db_user$db_password);
      if (
    $db == FALSE)
        die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");

      
    mysql_select_db($db_name$db)
        or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
    $query "INSERT INTO catalogo (nome, categoria_id, modello, sottotitolo, breve, descrizione, immagine, posizione) VALUES ('$nome', '$categoria_id', '$modello', '$sotto', '$breve', '$descrizione', '$immagine', '$posizione')";
        if (
    mysql_query($query$db))
        echo 
    "L'articolo è stato inserito correttamente";
      else
        echo 
    "Errore durante l'inserimento";

    //endif;  
      
    mysql_close($db);
     
    // chiude la verifica della presenza dei dati
    php?>
    Magari si potrebbe implementare il ridimensionamento del file immagine...
    Vedrò...

    Grazie a tutti cmq. e sempre .

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.