Visualizzazione risultati 1 fino 2 di 2

Discussione: Problema salvataggio percorso file su database

  1. #1
    Guest

    Predefinito Problema salvataggio percorso file su database

    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 l’inserimento 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! :)

  2. #2
    L'avatar di alemoppo
    alemoppo non č connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,175

    Predefinito

    Codice PHP:
    $sql = 'INSERT INTO post SET
    img_path ="'
    .$FILES['upload']['name'].'"';
    Qui hai assegnato una stringa, ma devi eseguire la query per inserirla nel database. Poi, riguardati la sintassi di una INSERT: "SET" si usa nelle UPDATE.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •