Salve a tutti, sono un neofita di php e mi ritrovo il seguente problema:
ho una pagina php che serve per inserire un post in un blog, questa pagina vorrei che potesse caricare oltre al titolo, testo anche un'immagine su una cartella e che salvasse il percorso sul database.
Il codice che ho utilizzato č il seguente:
Codice PHP:
<?php
include ('header.php')
?>
<?php
// includo le funzioni per gestire le sessioni
require_once 'inc/session.php';
// faccio partire la sessione
sessionStart();
// Controllo se l'utente č loggato e i permessi, nel caso
// non sia loggato, lo rimando alla pagina di login
if (false == sessionUserIsLogged())
{
header('Location: login.php');
}
if($_SESSION['livello']>4){
header("Location: index.php");
}
// valorizzazione delle variabili con i parametri dal form
if(isset($_POST['submit'])&&($_POST['submit']=="Scrivi")){
if(isset($_SESSION['name'])){
$autore = ($_SESSION['name']);
}
if(isset($_POST['titolo'])){
$titolo = addslashes(filter_var($_POST['titolo'], FILTER_SANITIZE_STRING));
}
if(isset($_POST['testo'])){
$testo = addslashes(filter_var($_POST['testo'], FILTER_SANITIZE_STRING));
}
// upload
define("UPLOAD_DIR", "./uploads/");
if(isset($_POST['action']) and $_POST['action'] == 'upload')
{
if(isset($_FILES['user_file']))
{
$file = $_FILES['user_file'];
if($file['error'] == UPLOAD_ERR_OK and is_uploaded_file($file['tmp_name']))
{
move_uploaded_file($file['tmp_name'], UPLOAD_DIR.$file['name']);
$sql = 'INSERT INTO post SET
img_path ="' .$FILES['upload']['name'].'"';
}
}
}
// inclusione del file della classe
include "funzioni_mysql.php";
// istanza della classe
$data = new MysqlClass();
// chiamata alla funzione di connessione
$data->connetti();
$t = "post"; # nome della tabella
$v = array ($titolo,$testo,$autore,date("Y-m-d")); # valori da inserire
$r = "titolo_post,testo_post,autore_post,data_post"; # campi da popolare
// chiamata alla funzione per linserimento dei dati
$data->inserisci($t,$v,$r);
echo "Articolo inserito con successo.";
// disconnessione
$data->disconnetti();
}else{
// form per l'inserimento
?>
<h1>Inserimento post:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
Titolo:<br>
<input name="titolo" type="text"><br />
Testo:<br>
<textarea name="testo" cols="30" rows="10"></textarea><br />
<br />
<input type="hidden" name="action" value="upload" />
Carica il tuo file:
<input type="file" name="user_file" />
<input name="submit" type="submit" value="Scrivi">
</form>
<?php
include ('footer.php')
?>
Di questa pagina la cosa che non mi funziona č il salvaggio del percorso (path) sul database, il resto funziona, le immagini vengono caricate nella cartella uploads e il resto finisce tutto sulla tabella tranne appunto il path.
Ho cercato e provato varie soluzioni ma nessuna si č rivelata funzionante. Spero che qualcuno possa aiutarmi! :)