Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448

    Caricare e Visualizzare immagine

    Ciao ragazzi spero mi aiutate nel risolvere il mio problema!

    Ho una pagina dove inserisco del testo ed delle immagini che vengono inviati al database:

    pagina crea_nuovo.php
    Codice PHP:
    <FORM  action="crea_nuovo_2.php" method="get">
     <
    INPUT  name="titolo" TYPE="TEXT" size="50" maxlength="60">
     <
    input type=file name="img"  size=28//carico l'immagine dal proprio computer   
     
    <TEXTAREA  name="testo" cols="80" rows="8" id="testo"></TEXTAREA
     <
    input name="SUBMIT" type="SUBMIT" value="Invia">
     </
    FORM

    Questa è la pagina install.php dove mi creo la struttura del database:
    Codice PHP:

    <?
    include ("connect.inc.php");

    $connect mysql_connect($host$user$passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query "CREATE TABLE $tablename (
      id bigint(8) NOT NULL auto_increment,
      titolo varchar(50) NOT NULL default '',
      img longblob NOT NULL,
      contenuto longtext NOT NULL,
      anno varchar(4) NOT NULL default '',
      mese char(2) NOT NULL default '',
      giorno char(2) NOT NULL default '',
      ora char(2) NOT NULL default '',
      minuto char(2) NOT NULL default '',
      PRIMARY KEY  (id)
    ) TYPE=MyISAM;"
    ;

    $esegui mysql_query($query$connect);

    echo (
    "Struttura database creato");

    ?>

    Questa è la pagina: crea_nuovo2.php (dove sicuramente avro' commesso qualke errore)
    Codice PHP:

    <?php
    include ("connect.inc.php");

    $t time();
    $hours date("H"$t);
    $minutes date("i"$t);
    $day date("d",time());
    $mon date("m",time());
    $year date("Y",time());

    $connect mysql_connect($host$user$passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query "INSERT INTO $tablename (titolo,  img, contenuto, anno, mese, giorno, ora, minuto)
              VALUES ('
    $titolo','$img','$testo',
              '
    $year', '$mon', '$day', '$hours', '$minutes');";

    if(@
    mysql_query($query$connect)){
    echo (
    "Hai scritto i dati nel database

    "
    );
    echo (
    "<A href=\"gestione.php\">Torna alla gestione delle news</A>");
    } else {
    echo (
    "Non hai scritto i dati nel database ".mysql_error());
    }

    ?>

    Adesso richiamo il testo inserito piu l'immagine nella pagina
    lettura_articoli.php

    Codice PHP:

    <?
    include ("connect.inc.php");

    $connect mysql_connect($host$user$passwd) or die ("Non connesso");

    mysql_select_db($dbname);

    $query "SELECT * FROM $tablename where id=$_GET[id]";

    $esegui mysql_query($query$connect);

    while (
    $result mysql_fetch_array($esegui)) {

    echo 
    "<TABLE width=200 align=center>
       <TR>
          <TD Bgcolor=#FF9900>

          [b]
    $result[titolo][/b]
        </TD>

    </TR>


    <TR>
          <TD Bgcolor=#FF9900>

          [b]<img src=\"
    $result[img]\">[/b]
        </TD>

    </TR>

    <tr>
    <td>

    $result[contenuto]</td>
    </TR>
    </table>"
    ;
    }
    ?>

    Allora il mio problema è che il titolo ed il contenuto vengono visualizzati, mentre l'immagine non viene visualizzata...come mai? qualcuno mi puo spiegare come far visualizzare l'immagine? devo fare un upload? e con quale codice? oppure sbaglio il percorso realitivo all'immagine?

    Fatemi sapere e vi ringrazio in anticipo per aver letto tutto il post..

    Ciao ciao

  2. #2
    Utente di HTML.it L'avatar di ertos
    Registrato dal
    Nov 2005
    Messaggi
    448

    risposta

    Nessuno mi puo aiutare??

  3. #3
    Diciamo che hai fatto un po di confusione, i problemi sono vari:
    1) Per uppare le immagini non si usa una semplce FORM ma bisogna aggiungergli anche il particolare tipo di codifica

    2) Nel codice che hai scritto per memorizzare i dati nel database che un immenso errore di sicurezza nella gestione dei dati, in quanto non vedo righe di codice del tipo:
    codice:
    $testo = $_GET['testo']
    e questo mi fa pensare che automaticamente le variabili passare negli array GET e POST vengano convertite in variabili normali...e ciò è mooolto male, ti pone seriamente sono PHP Injections e SQL Injections.

    3) La tabella che hai creato ha una marea di campi inutili, ovvero tutti quelli relativi alla data, anno, mese, giorno, ore, minuti...non servono a niente. Basta un solo campo di tipo TIMESTAMP oppure di tipo INT(10) che poi gestirai tramite PHP.

    4) Devi validare qualsiasi forma di input esterno, ad esempio:
    codice:
    $query = "SELECT * FROM $tablename where id=$_GET[id]";
    ti mette molto a rischio, una qualsiasi persona potrebbe far eseguire codice malevolo ed ancor peggio alterare i dati nel tuo database, in questo caso.

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.