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']) < 3 ) {
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 ($handle, filesize($_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>