Ciao
Ho questo semplice script con il quale inserisco i dati
in una tabella di un database mysql opportunamente creata con i campi di cui nello script sotto:
Codice PHP:
<?php
include("dati.php");
$link=mysql_connect("$db_host","$db_login","$db_pass")
or die ("Non riesco a connettermi a <b>$db_host");
@mysql_select_db ($database, $link)
or die ("Non riesco a selezionare il db $database<br>");
if (isset($_REQUEST['nome'])){
$dati=" INSERT INTO rubrica VALUES (NULL,
'".$_REQUEST['nome']."',
'".$_REQUEST['cognome']."',
'".$_REQUEST['reparto']."',
'".$_REQUEST['stipendio']."'
)";
mysql_query ($dati, $link)
or die ("Non riesco ad eseguire la query $dati");
Echo "I Dati sono stati archiviati con successo nel DataBase $database";
mysql_close ($link);
echo "<meta http-equiv=refresh content=3;url=$PATH_INFO>";
}
?>
<html>
<head>
<title>Form dati</title>
</head>
<body>
<TABLE border=0 width=100% cellpadding=3>
<tr>
<td width=100% colspan=2>
<p align=center><b>Inserisci i dati del nuovo utente
<form method=POST action=<? $PATH_INFO ?>>
</b></td>
</tr>
<tr>
<td width=18%><b>Nome</b></td>
<td width=82%><input type=text name=nome size=20></td>
</tr>
<tr>
<td width=18%><b>Cognome</b></td>
<td width=82%><input type=text name=cognome size=20></td>
</tr>
<tr>
<td width=18%><b>Reparto</b></td>
<td width=82%><input type=text name=reparto size=20></td>
</tr>
<tr>
<td width=18%><b>Stipendio</b></td>
<td width=82%><input type=text name=stipendio size=20></td>
</tr>
<tr>
<td width=18%><b><input type=submit value=Inserisci nuovi dati></b></td>
<td width=82%></form></td>
</tr>
</table>
</body>
</html>
Adesso vorrei implementare il codice inserendo la possibilità di
caricare anche un'immagine relativa ad ogni nome (e quindi ID) e dovrei
aggiungere un modulo dal quale
scegliere e caricare l'immagine.
Penso di dover anche inserire un nuovo campo , per il nome dell'immagine, nella tabella del database
che chiamo "foto".
Tutte le immagini dovrebbero essere "uploadate" in una cartella sul server che chiamo images.
ok, allora:
inserisco un nuovo campo nel form html sopra
Codice:
<td width=82%><input type=file name=foto size=20></td>
tra i request che ricevono il contenuto del form aggiungo:
Codice PHP:
'".$_REQUEST['foto']."'
Ho letto in giro che bisogna aggiungere al codice html del form questo:
Codice:
enctype=multipart/form-data
Non ho capito precisamente dove comunque.
Potreste suggerirmi il codice per caricare l'immagine nella cartella "images" del server e
che eviti anche di caricare immagini superiore ad un limite da me indicato?
Il campo del database mysql "foto" dovrebbe ricevere solo il nome della foto in quanto penso
di richiamare e visualizzare la foto una volta caricata nella cartella con cosa del tipo:
Codice PHP:
echo "<tr><td align='right'><img src=images/".mysql_result($query,0,"foto")."></td></tr>";
Non so se è del tutto indicato ma fatto sta che inserendo "manualmente" il nome dell'immagine
nel DB il codice sopra funziona.
Ho provato e riprovato a scrivere il codice con la nuova funzionalità ma ho
avuto un sacco di problemi (è da molto tempo che non scrivo in php).
Potete quindi aiutarmi a ricostruire il codice php dell'intera pagina?
Grazie anticipatamente.