Database incrociati

Ciao a tutti!

Dunque, sto realizzando un sito dinamico in php per un'agenzia immobiliare. Ho realizzato un database per gli immobili (funzionante) ed uno per le foto. Ogni foto ha un suo codice unico, una descrizione (facoltativa) ed il codice di riferimento dell'immobile che sarebbe il codice unico di ogni immobile.

Quandovado per inserire gli immobili col form, non riesco a far memorizzare per ogni foto il codice dell'immobile associato.... mi attribuisce sempre zero. Devo sicuramente fare qualche errore, ma sto uscendo di testa per capire quale!!!!

vi scrivo i codici messi da me:

<form method="post" action="form.php" enctype="multipart/form-data">
Descrizione:<br />
<textarea name="descrizione" cols="20" rows="4"></textarea><br />
Immagine:<br />
<input type="file" name="imagefile"><br />
<input type="submit" name="Submit" value="Invia">
<br /><br />
<?php
if(isset($_POST['Submit'])){

  @include 'config.php';
  @require 'function.php';


  $tipi_consentiti = array("image/gif","image/jpeg","image/png");


  if (@in_array($_FILES['imagefile']['type'], $tipi_consentiti)){ 
    // copio il file nella cartella delle immagini
    @copy ($_FILES['imagefile']['tmp_name'], $path_img . $_FILES['imagefile']['name']);


    $descrizione = @addslashes($_POST['descrizione']);
    $nome = @addslashes($_FILES['imagefile']['name']);
    $path = $path_img . stripslashes($nome);
    $tipo = @addslashes($_FILES['imagefile']['type']);
    $id = $_GET['id'];



    @makeThumb($path_img,$path,$nome,$tipo);
  

    $query = "INSERT INTO images (Descrizione,Nome,Tipo,Immobile) VALUES('$descrizione','$nome','$tipo','$id')";
    $res = @mysql_query($query) or die (mysql_error());
    @mysql_close($cn);


    echo "Nome: ".$_FILES['imagefile']['name']."<br />"; 
    echo "Dimensione: ".$_FILES['imagefile']['size']."<br />"; 
    echo "Tipo: ".$_FILES['imagefile']['type']."<br />"; 
    echo "Copia eseguita con successo."; 
  }else{
    // stampo un messaggio di errore nel caso in cui il file sia di un formato non consentito
    echo "Impossibile eseguire l'upload.";
  }
} 
?>
</form>

tenete presente che la pagina appena scritta è collegata al riepilogo tramite il link:

<?php


echo "<a href=\"form.php?id=".$myrow[Codice]."\">Inserisci nuova immagine</a> ";


?>

che funziona tranquillamente.

Funziona tutto, ripeto, nel database vengono scritti i link e le immagini salvate sullo spazio web... ma non mi salva il codice correttamente!!!

AIUTO PLEASE!!!!

inviato 7 anni fa
Capirex80
X 0 X

nessuno sa aiutarmi?  :(

risposto 7 anni fa
Capirex80
X 0 X

Ciao,

questa riga di codice

$id = $_GET['id'];

non otterrà mai un valore poiché quel codice viene eseguito solo se viene rispettata la seguente condizione

if (isset($_POST['Submit']))

il consiglio che posso darti è di aggiungere un campo hidden nel form di inserimento immagine

<input type="hidden" name="id" value="<?=$_GET['id']?>">

In questo modo la riga di codice iniziale diventerà:

$id = $_POST['id'];

Spero di esserti stato utile.

Ciao

Zeta

risposto 7 anni fa
zeta80
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda