Buonasera,
ho realizzato una piccola area privata di gestione degli eventi di un sito web attraverso la quale l'utente può gestire l'inserimento degli eventi tra cui anche un'immagine tramite pannello di amministrazione. Tutto è a posto tranne l'upload delle immagini che non riesco ad inviare al database se non la stringa dell'immagine e a visualizzarla tramite pannello di amministrazione. Ho utilizzato il vostro tutorial (https://www.mrw.it/php/archiviare-immagini-database-usando-php-mysql_7021_4.html)
Secondo voi quale potrebbe essere il problema? Nel momento in cui provo a visualizzare l'immagine mi compare l'errore "id sconosciuto"
Credo che il problema sta proprio nell'invio dell'id che non viene riconosciuto
Ho creato una tabella unica con i seguenti campi:
1) Id_eventi
2) data_eventi
3) titolo_eventi
4)nome
5) type
6) size
7) immagine
8)testo_eventi
Vi posto un po' di codice sperando che riuscite a farmi capire l'errore.
FILE FORM
	
	
	
		
FILE LINK
	
	
	
		
FILE SHOW.PHP
	
	
	
		
FILE UPLOAD
	
	
	
		
				
			ho realizzato una piccola area privata di gestione degli eventi di un sito web attraverso la quale l'utente può gestire l'inserimento degli eventi tra cui anche un'immagine tramite pannello di amministrazione. Tutto è a posto tranne l'upload delle immagini che non riesco ad inviare al database se non la stringa dell'immagine e a visualizzarla tramite pannello di amministrazione. Ho utilizzato il vostro tutorial (https://www.mrw.it/php/archiviare-immagini-database-usando-php-mysql_7021_4.html)
Secondo voi quale potrebbe essere il problema? Nel momento in cui provo a visualizzare l'immagine mi compare l'errore "id sconosciuto"
Credo che il problema sta proprio nell'invio dell'id che non viene riconosciuto
Ho creato una tabella unica con i seguenti campi:
1) Id_eventi
2) data_eventi
3) titolo_eventi
4)nome
5) type
6) size
7) immagine
8)testo_eventi
Vi posto un po' di codice sperando che riuscite a farmi capire l'errore.
FILE FORM
		PHP:
	
	<?php
include("connetti.php");
include("upload.php");
?>
<meta name="viewport" content="width=device-width">
</head>
<body>
<div id="contenitore"> 
    <div id="logo"><img src="img/logo.png" class="logo"></div>
    <h1>INSERIMENTO EVENTI</h1>
 
  <form name="valori" id="modulo" action="inse-database.php" method="post">
  	
    <input type="text" name="data" placeholder="Data Evento" required><br />
  	<input type="text" name="titolo" placeholder="Titolo Evento" required><br />
    <textarea name="desc" placeholder="Inserisci Testo" required></textarea><br />
    <div class="foto">
    	<input name="file" type="file" id="foto">
    </div>
    <input type="submit" value="INVIA" id="submit">
  <input type="hidden" name="MAX_FILE_SIZE" value="30000">
  </form>
     <div class="amministrazione"><a href="eventi-tutti.php">TUTTI GLI EVENTI VIGNALACORTE</a></div>
    </div>
<?php
include("chiudi.php");
?>
	FILE LINK
		PHP:
	
	<?
include("connetti.php");
$sql = "SELECT Id_eventi, nome FROM eventi ORDER BY Id_eventi DESC";
$result = @mysql_query($sql) or die (mysql_error ());
while ($row = @mysql_fetch_array($result))
{
  $id = $row['Id_eventi'];
  $nome = $row['nome'];
  echo "<a href=\"show.php?id=".$id."\">".$nome."</a><br />";
}
?>
	FILE SHOW.PHP
		PHP:
	
	<?
if (isset($_GET['id']))
{
include("connetti.php");
  $sql = "SELECT Id_eventi,type,immagine FROM eventi WHERE Id_eventi='$id'";
  $result = @mysql_query($sql) or die(mysql_error ());
  $row = @mysql_fetch_array($result);
  $id = $row['Id_eventi'];
  $type = $row['type'];
  $img = $row['immagine'];
  if (!$id)
  {
    echo "Id sconosciuto";
  }else{
    @header ("Content-type: ".$type);
    echo $img;
  }
}else{
  echo "Impossibile soddisfare la richiesta.";
}
?>
	
		PHP:
	
	<?
function upload()
{
  $result = false;
  $immagine = '';
  $size = 0;
  $type = '';
  $nome = '';
  $max_size = 300000;
  $result = @is_uploaded_file($_FILES['file']['tmp_name']);
  if (!$result)
  {
    echo "Impossibile eseguire l'upload.";
    return false;
  }else{
    $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 eventi (nome, size, type, immagine) VALUES ('$nome','$size','$type','$immagine')";
    $result = @mysql_query ($sql) or die (mysql_error());
    return true;
  }
}
?>