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

    Problemi col campo file in upload

    Ciao a tutti, ho un problema col campo File in un form.
    Io dovrei inserire un record in un db MySql e, tramite il campo File del form, fare contemporaneamente l'upload del file selezionato. tutto ok per quanto riguarda l'upload, ma il valore nel campo del record mi resta vuoto.
    Dove sbaglio? C'è da passare il valore del campo File in un hidden prima di fare l'insert?
    Grazie per l'aiuto.
    Fabrizio

  2. #2
    Ciao,
    non ho ben capito... oggi sono un po fuso, ma ci provo.

    Se vuoi scrivere l'intera immagine nel db dei usare il campo blob, probabilmente non te la inserisce per quel motivo li...

    se invece vuoi che in un record del db t'inserisca solo il nome probabilmente non lo fa perche sbagli ad assegnare il valore....

    mi spiego meglio:

    il campo che tu usi potrebbe essere cosi

    <input type="file" name="file">

    quello che arriva nella pagina del post è:

    $file -> file temporaneo che viene di default salvato nella cartella /tmp/phpxxxxx

    $file_name -> nome reale del file
    $file_size -> dimensione del file
    $file_type -> tipo di file


    bhooo speri di esserti stato d'aiuto....

    :-)


  3. #3

    Puoi dare un'occhiata?

    Ciao, il codice che uso per l'inserimento è:

    <? function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

    switch ($theType) {
    case "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "long":
    case "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case "double":
    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    break;
    case "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return $theValue;
    }

    $editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
    if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
    }

    if ((isset($HTTP_POST_VARS["insert"])) && ($HTTP_POST_VARS["insert"] == "formprod")) {
    $insertSQL = sprintf("INSERT INTO prodotti (titolo, testo, foto, prezzo, sitoproduttore, codice) VALUES (%s, %s, %s, %s, %s, %s)",
    GetSQLValueString($HTTP_POST_VARS['titolo'], "text"),
    GetSQLValueString($HTTP_POST_VARS['testo'], "text"),
    GetSQLValueString($HTTP_POST_VARS['foto'], "text"),
    GetSQLValueString($HTTP_POST_VARS['prezzo'], "double"),
    GetSQLValueString($HTTP_POST_VARS['produttore'], "text"),
    GetSQLValueString($HTTP_POST_VARS['codice'], "text"));

    mysql_select_db($database_db_clima, $db_clima);
    $Result1 = mysql_query($insertSQL, $db_clima) or die(mysql_error());

    $insertGoTo = "gestione_prodotti.php";
    if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];
    }
    //inizio upload
    if ($_FILES['foto']<>""){
    if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
    copy($_FILES['foto']['tmp_name'], "prodotti/".$_FILES['foto']['name']);
    } else {
    $continua=false;
    }
    }
    //fine upload
    header(sprintf("Location: %s", $insertGoTo));
    }
    ?>

    mentre il campo da inserire è:
    <input name="foto" type="file" class="testoAzz" id="foto">

    Ho fatto qualche casino?
    Fabrizio

  4. #4
    o madre di dio....

    con questo non sto dicendo che hai fatto casino...

    ma che mi ci vogliono tre giorni per capire che fa questo script....

    lo guardo è... VVoVe: VVoVe: VVoVe: VVoVe:

  5. #5

    capisco...

    Fondamentalmente la prima parte valida solo le stringhe in funzione del tipo di campi, l'insert è solo nella seconda parte.

    Ho solo il dubbio che il campo 'foto', quello incriminato, non debba essere passato come lo passo io, cioè direttamente dal form, ma che debba passare prima da un hidden.
    Credo che così come è, dal campo File, non mi prenda il valore da passare alla query, ma non so come fare.

  6. #6
    dove fai l'insert nel db prova a metterci foto_name anziche foto...
    dovrebbe andare :-)

    Ciao fammi sapere

  7. #7

  8. #8

    continua...

    Niente da fare, qunda faccio l'insert mi dice:
    Notice: Undefined index: foto in c:\inetpub\wwwroot\climasystem\gestione_prodotti.p hp on line 37

    la linea 37 è:
    GetSQLValueString($HTTP_POST_VARS['foto']['name'], "text"),
    cioè dove gli passo il valore...

  9. #9
    please,
    prima della query di inserimento
    scrivi questo:

    echo $insertSQL;
    exit;

    lancia lo script e posta qua l'output.

    :-)

  10. #10

    null !!

    Notice: Undefined index: foto in c:\inetpub\wwwroot\Climasystem\gestione_prodotti.p hp on line 37
    INSERT INTO prodotti (titolo, testo, foto, prezzo, sitoproduttore, tipo, categoria, codice) VALUES ('terza2', 'prova testo', NULL, '1000', 'www.sito.it', 'prodotto', 'congelatori', '52dfgsdfg52')


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.