Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Eccomi di nuovo. Ho escluso che fosse un problema di MAMP e ho isolato il problema nel punto di update del tipo di estensione del file. Senza richiedere l'update dell'estensione il codice gira senza intoppi, nel caso contrario mi da errori di sintassi oppure mi da l'errore: "Unknown column 'image' in 'field list'". Io non ho alcun campo chiamato image nel database.
    Io ho bisogno dell'estensione perchè tramite un altro php poi ricompongo il tag img html. Non so se ci sia un'altro modo per mettere a schermo un'immagine ma se possibile vorrei continuare a lavorare su questa linea.
    Vi passo il codice completo della pagina con le ultime modifiche alle righe incriminate. In questo caso ho l'errore segnalato sopra.

    Codice PHP:
    <body>
    <h1>Uploading Images to MySQL</h1><p>
    <?php
    if ( !isset($_FILES['userFile']['type']) ) {
       die(
    '<p>No image submitted</p></body></html>');
    }
    ?>
    You submitted this file:<br /><br />
    Temporary name: <?php echo $_FILES['userFile']['tmp_name'?><br />
    Original name: <?php echo $_FILES['userFile']['name'?><br />
    Size: <?php echo $_FILES['userFile']['size'?> bytes<br />
    Type: <?php echo $_FILES['userFile']['type'?></p>

    <?php

    if ( !preg_match'/gif|png|x-png|jpeg/'$_FILES['userFile']['type']) ) {
       die(
    '<p>Only browser compatible images allowed</p></body></html>');
    } else if ( 
    strlen($_POST['altText']) < ) {
       die(
    '<p>Please provide meaningful alternate text</p></body></html>');
    } else if ( 
    $_FILES['userFile']['size'] > 16000 ) {
       die(
    '<p>Sorry file too large</p></body></html>');
    // Connect to database
    } else if ( !($link=mysql_connect("localhost""root""root")) ) {
       die(
    '<p>Error connecting to database</p></body></html>');
    } else if ( !(
    mysql_select_db("miodb")) ) {
       die(
    '<p>Error selecting database</p></body></html>');
    // Copy image file into a variable
    } else if ( !($handle fopen ($_FILES['userFile']['tmp_name'], "r")) ) {
       die(
    '<p>Error opening temp file</p></body></html>');
    } else if ( !(
    $image fread ($handlefilesize($_FILES['userFile']['tmp_name']))) ) {
       die(
    '<p>Error reading temp file</p></body></html>');
    } else {
       
    fclose ($handle);
       
    // Commit image to the database
        
    $image mysql_real_escape_string($image);
        
    $alt htmlentities($_POST['altText']);
        
    $id_arrivato=$_POST["id"];
        
    $query "UPDATE loghi SET
        type=
    {$_FILES['userFile']['type']},
        alt='
    $alt',
        immagine='
    $image'
        WHERE id='
    $id_arrivato'"
        if ( !(
    mysql_query($query,$link)) ) {
        die(
    mysql_error());
        } else {
          
    header("location: ../prodotti.php?conferma=1");
       }
    };
    ?>
    </body>

  2. #12
    Mancano gli apici qui:

    Codice PHP:
    type={$_FILES['userFile']['type']} 
    deve essere

    Codice PHP:
    type='{$_FILES['userFile']['type']}' 

  3. #13
    Il concetto e' molto semplice: OGNI valore non numerico va racchiuso tra apici o virgolette, altrimenti viene trattato come una keyword del database.

  4. #14
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Quote Originariamente inviata da k.b Visualizza il messaggio
    Il concetto e' molto semplice: OGNI valore non numerico va racchiuso tra apici o virgolette, altrimenti viene trattato come una keyword del database.
    Ottimo, funziona Avevo provato ad aggiungere gli apici ma all'interno delle graffe. Possiamo quindi dire che questa è la "gerarchia" ?
    " ' { [ ] } ' "
    Gli apici forniti da sql (` `) , i caratteri speciali che definiscono il campo della tabella, non sono quindi obbligatori se uso in apertura della query i doppi apici ma invece lo diventano se uso i singoli apici?

    Ultima cosa, leggermente fuori topic ma chiude il lavoro che sto facendo. Quando ritorno alla pagina delle mie immagini il browser mantiene in cache il file, devo fare il refresh perché ricarichi il nuovo file. E' ovviabile con php?
    Grazie ancora

  5. #15
    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    Ottimo, funziona Avevo provato ad aggiungere gli apici ma all'interno delle graffe. Possiamo quindi dire che questa è la "gerarchia" ?
    " ' { [ ] } ' "
    No, non e' una questione di gerarchia, le graffe in questo contesto servono solo per delimitare la variabile che vuoi venga sostituita all'interno di una stringa. A esempio se vuoi unire il valore di $nome con il numero 13 non puoi fare echo "$nome13" perche' prenderebbe la variabile "$nome13", allora puoi fare echo "{$nome}13".
    Poi, gli apici doppi permettono l'interpolazione delle variabili, quelli singoli trattano tutto il contenuto della stringa come letterale.

    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    Gli apici forniti da sql (` `) , i caratteri speciali che definiscono il campo della tabella, non sono quindi obbligatori se uso in apertura della query i doppi apici ma invece lo diventano se uso i singoli apici?
    I backtick in una query servono per identificare delle stringhe come nomi di entita' del database (colonne, tabelle, etc) sono spesso opzionali ma sono necessari quando ad esempio chiami una colonna con nome che e' anche una keyword riservata di mysql (tipo una colonna "date").

    Quote Originariamente inviata da Ciakko Visualizza il messaggio
    Ultima cosa, leggermente fuori topic ma chiude il lavoro che sto facendo. Quando ritorno alla pagina delle mie immagini il browser mantiene in cache il file, devo fare il refresh perché ricarichi il nuovo file. E' ovviabile con php?
    Grazie ancora
    Aggiungi una query string random all'URL dell'immagine, tipo
    codice:
    <img src="url/to/image.png?qoeifjqoi">
    cambiando ogni volta il "qoeifjqoi"

  6. #16
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Ottimo, mi è più chiaro.

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.