Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208

    problema inserimento foto nel database

    ho creato nel database un campo per inserire foto, il campo si chiama foto ed è di tipo mediumblob

    ho creato un form per gli utenti loggati nella login_success.php dove l'utente loggato può inserire la foto

    Codice PHP:
    <form action="modifiche_utente/modifica_foto.php" method="post" enctype="multipart/form-data" name="modifica_foto" id="modifica_foto">
          <
    label>
          <
    input name="fileField" type="file" class="Stile1" id="fileField" />
          </
    label>
          <
    label>
          <
    input type="submit" class="Stile1" value="Invia" />
          </
    label>
                    </
    form
    ovviamente modifica_foto.php è il file che elabora l'inserimento

    il problema è che quando provo a inserire una foto e invio, mi viene segnalato è questo:

    Update fallito
    Query: UPDATE tabella SET foto='' WHERE utente ='nome_utente_loggato'
    errore:


    qual'è il problema???

  2. #2
    puoi postare il codice di modifica_foto.php?

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    a parte il codice, visto che inizi ora, ti consiglio di cambiare impostazione.
    salvare le foto NEL DB è una cosa controproducente quando lavori su un sito online.
    perchè se è vero che alcuni provider ti danno spazio potenzialmente infinito per i files, ovviamente ti limitano per il DB, dando 50-100 mega per volta.
    ti consiglio ovviamente di mettere le immagini nelle cartelle, complicando quanto vuoi la cosa, e non nel DB dove anche la gestione è più complicata

    nell'upload che stai facendo comunque, non becca il nome dell'immagine..

  4. #4
    concordo con telegio, è meglio salvare le foto in una cartella, e nel db inserire solo il percorso dove si trova il file, è molto meglio... se vuoi ti posto un esempio

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    allora in termini pratici come faccio a far si che l'utente loggato inserisca la foto?

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ci sono centinaia di 3D al riguardo.
    in generale dovresti fare una cosa come questa
    Codice PHP:
    <form action="upload.php" method="post" enctype="multipart/form-data" id="image" name="image">
    <
    input name="" type="file"><input name="invia" type="submit" value="Invia"></form
    la pagina upload.php è
    Codice PHP:
    <?php
    $target_path 
    $_SERVER['DOCUMENT_ROOT'] . "galleria/";


    $target_path $target_path basename$_FILES['file']['name']); 

    if(
    move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
        echo 
    "il file ".  basename$_FILES['file']['name']).  " è stato caricato";
    } else{
        echo 
    "c'è stato un errore. riprova!";
    }
    ?>
    ovviamente è una cosa BASE.
    poi devi fare il controllo se l'immagine è stata caricata e fare l'update della tabella del DB..
    ti consiglio di vedere in giro, perchè ovviamente avrai necessità di ridimensionare la foto che mette l'utente.. è pieno di classi in giro..

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    il campo nel database

    foto (mediumblob)


    quello lo lascio o lo devo modificare o lo cancello?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    up

  9. #9
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    quello puoi/devi modificarlo in un campo varchar(255), in cui inserisci il nome del file..

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    208
    il form è questo:

    Codice PHP:
     <form action="modifiche_utente/modifica_foto.php" method="post" enctype="multipart/form-data" name="modifica_foto" id="modifica_foto">
          <
    label>
          <
    input name="" type="file" class="Stile1" />
          </
    label>
          <
    label>
          <
    input type="submit" class="Stile1" value="Invia" />
          </
    label>
                    </
    form
    modifica_foto.php è questo:

    Codice PHP:

    ......

    session_start(); 

    $query "UPDATE tabella SET foto='" $_POST['modifica_foto'] . "' WHERE utente ='" $_SESSION['utente'] . "'"
    mysql_query($query); 



    $target_path $_SERVER['DOCUMENT_ROOT'] . "/public/foto_utente/"


    $target_path $target_path basename$_FILES['file']['name']);  

    if(
    move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { 
        echo 
    "il file ".  basename$_FILES['file']['name']).  " è stato caricato"
    } else{ 
        echo 
    "c'è stato un errore. riprova!"


        
    ?> 
    /public/foto_utente/ è la cartella di destinazione delle foto


    l'errore che mi da è questo:

    c'è stato un errore. riprova!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.