Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Imput sfoglia con Dreamweaver

    Ho creato un blog con Dreamweaver e nell'area riservata ho inserito vari form come caselle di testo pulsanti ed anche un input per inserire le immagini con il realtivo pulsante "sfoglia"..il problema è che non funziona..evidentemente perchè nel mio database non c'è una tabella per l'inserimento dell'immagine...il codice dell'sql è il seguente:

    codice:
    CREATE TABLE `tblmessaggi` (
    `id` INT NOT NULL AUTO_INCREMENT ,
    `titolo` TEXT NOT NULL ,
    `testo` LONGTEXT NOT NULL ,
    `data` TEXT NOT NULL ,
    `autore` TEXT,
    PRIMARY KEY ( `id` )
    );
    Come lo modifico in modo che possa inserire le immagini?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Si, l'ideale sarebbe creare un'ulteriore tabella dove memorizzare tutti i dati relativi all'immagine caricata, nome, path, title, ecc.. ma potresti anche aggiungere un nuovo campo alla tabella che stai utilizzando

    codice:
    ALTER TABLE tblmessaggi
    ADD image_path
    VARCHAR(30) NOT NULL
    AFTER autore
    in maniera tale da poter memorizzare il percorso dell'immagine (nel campo image_path) che verrà caricata in una directory a parte.

    Ricordati di aggiungere enctype="multipart/form-data" nel form.

    Se, invece, vuoi memorizzare direttamente il file nel database dovrai agire diversamente. Qui trovi un buon punto di partenza, unito alla lettura di questo articolo sarà molto più semplice realizzare la cosa...

  3. #3
    grazie mille

  4. #4
    Accidenti non mi funziona...ho inserito una nuova tabella con i dati che mi hai dato tu ed ho inserito questo form:

    codice:
    <form method="POST" action="<?php echo $editFormAction; ?>" name="inseriscimsg" enctype="multipart/form-data">
    <blockquote>
      
    
    <span class="subHeader">Titolo:</span>
          <input name="titolo" type="text" id="titolo" size="30" />
      </p>
      
    
    <span class="subHeader">Autore:</span>
          <input name="autore" type="text" id="autore" size="30" />
      </p>
      <td bgcolor="#f8f8f8" valign="top"><span class="subHeader">Inserisci immagine:</span>
        <input name="MAX_FILE_SIZE" value="2097152" type="hidden">
    	<input name="attachment" type="file" class="bginput" maxlength="30"></td>
       </p>
      
    
    <span class="subHeader">Testo:</span>
    
          <textarea name="testo" cols="80" rows="10" id="testo"></textarea>
      </p>
      <p align="left">
        <input name="data" type="hidden" id="data" value="<?php print (date ("d/m/Y")); ?>" />
        <input type="submit" name="Submit" value="Inserisci" />
        <input type="reset" name="Reset" value="Cancella" />
      </p>
    </blockquote>
    <input type="hidden" name="MM_insert" value="inseriscimsg">
    </form>
    L'immagine nn viene visualizzata...dimmi tu dove sbaglio...

  5. #5
    il punto è che quando inserisco l'immagine e clicco su invia mi da questo errore Column 'image_path' cannot be null ma il campo immagine nn è vuoto....

  6. #6
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Il campo immagine del form non è vuoto, quello del database, image_path, invece sì. Dovrai uploadare l'immagine in una cartella, correttamente, e quindi recuperare il path che punta al file caricato per memorizzarlo nel campo image_path.

    I dati, immagini nel tuo caso, di tipo file, inviati tramite il form li devi recuperare con l'array $_FILES. Guarda la sezione dedicata all'upload del manuale, ma soprattutto dai un'occhiata agli articoli che ti ho indicato prima.

  7. #7
    Ho letto le guide ma dato che ho già un modulo mi è complicato e scomodo inserirne un'altro staccato che richiami l'upload.php
    Avevo quindi pernsato che se modifico il mio codice php della pagina potrei inserire le immagini..
    I campi sono 6(prima erano 5) e il codice(quello che riguarda le 5 tabelle e quindi nn quella nuova)è il seguente:

    codice:
    <?php require_once('../Connections/connblog.php'); ?>
    <?php
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
      $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
    
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;    
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      }
      return $theValue;
    }
    
    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }
    
    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "inseriscimsg")) {
      $insertSQL = sprintf("INSERT INTO tblmessaggi (titolo, testo, `data`, autore) VALUES (%s, %s, %s, %s)",
                           GetSQLValueString($_POST['titolo'], "text"),
                           GetSQLValueString($_POST['testo'], "text"),
                           GetSQLValueString($_POST['data'], "text"),
                           GetSQLValueString($_POST['autore'], "text"));
    
      mysql_select_db($database_connblog, $connblog);
      $Result1 = mysql_query($insertSQL, $connblog) or die(mysql_error());
    
      $insertGoTo = "grazie.php";
      if (isset($_SERVER['QUERY_STRING'])) {
        $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
        $insertGoTo .= $_SERVER['QUERY_STRING'];
      }
      header(sprintf("Location: %s", $insertGoTo));
    }
    
    mysql_select_db($database_connblog, $connblog);
    $query_Recordset1 = "SELECT * FROM tblmessaggi ORDER BY id DESC";
    $Recordset1 = mysql_query($query_Recordset1, $connblog) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    
    $pass = $_POST['password'];
    if ($pass != "derby") // settare qui la password
    {
    Header ("Location: accedi.php");
    exit;
    }
    ?>
    Vedi come nel campo dei GetSQL ci siano solo 5 campi anzichè 6...image_path nn c'è...
    mi aiutate a correggere il codice?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.