Visualizzazione risultati 1 fino 7 di 7

Discussione: Php e msql domanda semplice...

  1. #1
    Guest

    Predefinito Php e msql domanda semplice...

    Ciao a tutti... vi ringrazio in anticipo per il vostro eventuale aiuto...

    allora

    1)
    ho caricato l'immagine blob sul database... come la visualizzo?

    con questo mi dà una serie di lettere confuse

    Codice PHP:
    <?
    if (isset($_GET['id']))
    {
    $id = @intval($_GET['id']);
    @include
    'config.php';
    $sql = "SELECT id,type,immagine FROM immagini WHERE id='$id'";
    $result = @mysql_query($sql) or die(mysql_error ());
    $row = @mysql_fetch_array($result);
    $id_img = $row['id'];
    $type = $row['type'];
    $img = $row['immagine'];
    if (!
    $id_img)
    {
    echo
    "Id sconosciuto";
    }else{
    @
    header ("Content-type: ".$type);
    echo
    $img;
    }
    }else{
    echo
    "Impossibile soddisfare la richiesta.";
    }
    ?>
    link

    2)


    Codice PHP:
    <?
    @include 'upload.php';
    if (isset(
    $_FILES['file']))
    {
    upload();
    }
    echo
    "
    <form enctype=\"multipart/form-data\" action=\""
    .$_SERVER['PHP_SELF']."\" method=\"post\">

    <div id=\"database\">

    <div id=\"titolo\">
    <textarea name=\"titolo\" cols=\"50\" rows=\"1\" wrap=\"VIRTUAL\"></textarea>
    </div>

    <div id=\"descrizione\">
    <textarea name=\"descrizione\" cols=\"50\"></textarea>
    </div>

    <div id=\"prestazione\">
    <textarea name=\"prestazione\" cols=\"50\" rows=\"1\"></textarea>
    </div>

    <div id=\"anno\">
    <input name=\"anno\" type=\"text\" size=\"7\" maxlength=\"9\">
    </div>

    <div id=\"superficie\">
    <input name=\"superficie\" type=\"text\" size=\"7\" maxlength=\"9\">
    </div>

    <div id=\"costo\">
    <input name=\"costo\" type=\"text\" size=\"20\" maxlength=\"9\">
    </div>

    <div id=\"pulsantelogo\">
    <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"300000\" />
    <input type=\"file\" name=\"file\" size=\"40\" />

    <br /><br />

    <input type=\"submit\" value=\"Invia dati\" />
    </div>



    </div>
    </form>"
    ;
    perchè mi passa solo l'immagine? gli altri campi no :(

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da Deviofsky
    1)
    Sei sicuro che il Content-type sia giusto? Per le GIF dovrebbe essere "image/gif".

    Citazione Originalmente inviato da Deviofsky
    2)
    Se fai:
    Codice PHP:
    echo $_POST['titolo'];
    Non ti scrive quello che c'è nel primo campo?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da funcool
    Sei sicuro che il Content-type sia giusto? Per le GIF dovrebbe essere "image/gif".


    Se fai:
    Codice PHP:
    echo $_POST['titolo'];
    Non ti scrive quello che c'è nel primo campo?
    ora ho inserito una jpg... ma da lo stesso problema...

    per il secondo non ho capito... dove dovrei scriverlo?

    grazie mille

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da Deviofsky
    per il secondo non ho capito... dove dovrei scriverlo?
    Subito prima di:
    Codice PHP:
    upload();
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    si... allora mi sa che sbaglia qualcosa l'inserimento nel db


    EDIT:
    Codice PHP:
    <?
    function upload()
    {
    $result = false;
    $immagine = '';
    $size = 0;
    $type = '';
    $nome = '';
    $titolo = '';
    $descrizione = '';
    $prestazione = '';
    $anno = '';
    $superficie = 0;
    $costo = 0;
    $max_size = 300000;
    $result = @is_uploaded_file($_FILES['file']['tmp_name']);
    if (!
    $result)
    {
    echo
    "Impossibile eseguire l'upload.";
    return
    false;
    }else{
    $titolo = $_FILES['titolo'];
    $descrizione = $_FILES['descrizione'];
    $prestazione = $_FILES['prestazione'];
    $anno = $_FILES['anno'];
    $superficie = $_FILES['superficie'];
    $costo = $_FILES['costo'];
    $size = $_FILES['file']['size'];
    if (
    $size > $max_size)
    {
    echo
    "Il file è troppo grande.";
    return
    false;
    }
    $type = $_FILES['file']['type'];
    $nome = $_FILES['file']['name'];
    $immagine = @file_get_contents($_FILES['file']['tmp_name']);
    $immagine = addslashes ($immagine);
    @include
    'config.php';
    $sql = "INSERT INTO immagini (titolo, descrizione, prestazione, anno, superficie, costo, nome, size, type, immagine) VALUES ('$titolo','$descrizione','$prestazione','$anno','$superficie','$costo','$nome','$size','$type','$immagine')";
    $result = @mysql_query ($sql) or die (mysql_error());
    return
    true;
    }
    }
    ?>

    FunCool: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.


    RI-EDIT: siccome m'hanno consigliato di mettere le immagini su ftp ho cambiato il codice...

    ho fatto questo

    Codice PHP:
    <?

    $ftp_server
    ="********"; //esempio indirizzo ip del sever
    $ftp_username="éééé";
    $ftp_password="+***";


    $immagine=$_FILES['file']['tmp_name'];
    $nome=$_FILES['file']['name'];
    $immagine = $immagine."/".$nome;
    $uploaddir = 'images/loghi/'.$nome;


    // stabilisco la connessione al server ftp
    $ftp_connessione = ftp_connect($ftp_server);

    // effetto login sul server
    $login = ftp_login($ftp_connessione, $ftp_username, $ftp_password);

    // controllo se la connessione ha avuto buon fine
    if(!$ftp_connessione || !$login){
    echo
    "Connessione fallita!";
    } else {
    // se connessione ha avuto buon fine faccio UPLOAD del file
    $file_da_caricare = $immagine;
    $dove_carire = $uploaddir;

    $upload = ftp_put($ftp_connessione, $dove_carire, $file_da_caricare, FTP_BINARY);

    // controllo se upload andato a buon fine
    if (!$upload) {
    echo
    "Si è verificato un errore durante il caricamento!".$_FILES['file']['error'];
    } else {
    echo
    "Upload avvenuto con successo";
    }

    // chiudo connessione FTP
    ftp_quit($ftp_connessione);
    }

    ?>
    e mi dà sempre

    Si è verificato un errore durante il caricamento!
    Errore 0

    per la vostra informazione le due variabili $immagine e $upploaddir vanno a contenere stringhe simili

    /tmp/phpsRFe9U/avatarlupo656ww.jpg

    images/loghi/avatarlupo656ww.jpg
    Ultima modifica di funcool : 02-06-2007 alle ore 17.02.05

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Il secondo script non ti può funzionare su AlterVista perché non è possibile utilizzare l'FTP tramite PHP.
    Nel primo script prova ad assegnare le variabili che inserisci nel database in questo modo:
    Codice PHP:
    $titolo=mysql_escape_string($_POST['titolo']);
    P.S.: Non scrivere dei messaggi consecutivi, utilizza il tasto Edita.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    non è su altervista... sapresti dirmi dov'è l'errore?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •