Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82

    [DB-File Upload]Problema Script

    giorno a tutti.. ho un problema con uno script che stò facendo.. non mi funziona e non trovo l'errore.

    codice:
    <?php
    
    include ("functions.php");
    
    //Inserisco il form per inviare i messaggi
    form_add_photo();
    
    //Dichiaro alcune variabili
    $data=$HTTP_POST_VARS['data'];
    $foto=$HTTP_POST_FILES['foto']['name'];
    $descrizione=$HTTP_POST_VARS['descrizione'];
    
    //Sposto il file uploadato in una directory apposita
    if (file_exists($foto)){
    	$dir="/foto";
    	if(!opendir($dir)){
     		mkdir($dir, 0777);
    		opendir($dir);
    	}
    	move_uploaded_file ($foto, $dir) or die ("Impossibile spostare il file");
    }
    
    //Controllo che siano stati completati tutti i campi e inserisce il messaggio nel DB
    if((!$data) || (!$foto) || (!$descrizione)){
    	print "Perfavore compila tutti i campi!";
    	} else {
    	photo_to_db($data, $foto, $descrizione);
    	}
    	 
    ?>
    In poche parole è come se non riconosce i dati che inserisco nel form dato che mi printa sempre "Perfavore compila tutti i campi!"

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    questo è la funzione form_add_photo

    codice:
    function form_add_photo()
        {
        global $PHP_SELF;
    	print "<h1>Inivia una Foto</h1>
    ";
    	print "<table border='0' align='center'><tr><td>";
    	print "<form name='form1' method='post' action='$PHP_SELF'>Foto Scattata il :
    <input type='text' name='data'></form>";
        print "<form enctype='multipart/form_data' action='$PHP_SELF' method='POST'>";
    	print "<input type='hidden' name='max_file_size' value='3000'/>";
    	print "Seleziona la Foto da Uppare :
    <input name='foto' type='file' id='foto'/></form>";
    	print "<form name='form2' method='post' action='$PHP_SELF'>Insersci una Descrizione alla Foto :
    ";
    	print "<textarea name='descrizione' cols='30' rows='5'></textarea></form></td></tr>";
    	print  "<tr><td>";
    	print "<form name='form3' method='post' action='$PHP_SELF'><input type='submit' name='Submit' value='Invia'></form>";
    	print"</td></tr></table>";
    	}

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    up!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    per favore ragazzi ;_; è importante

  5. #5
    1) Per tutti quanti i propri progetti sono importanti
    2) HTTP_POST_VARS, HTTP_GET_VARS, ecc sono stati sostituiti da $_POST, $_GET, ecc.
    3) HTTP_POST_FILES non eiste. Al massimo esisteva HTTP_FILES_VARS ora sostituito da $_FILES
    4) Abilita tutti gli errori altrimenti posterai sempre qui sul forum. Un notice può farti risparmiare ore ed ore di lavoro. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    Guarda che HTTP_POST_VARS, HTTP_GET_VARS funzionano ancora, e cmq io avendo php 4 non posso che usare queste dato che $_POST e $_GET non sono abilitate.

    Poi ho controllato per HTTP_POST_FILES ed esiste eccome:
    http://it.php.net/is_uploaded_file

    ;_;

    l'errore dovrebbe comunque stare nei form dato che è come se non inserissi nulla. Se provo a printare una volta inseriti i dati non mi printa nulla

  7. #7
    1) A funzionare funzionano eccome ma sono deprecate e nelle release successive non saranno più supportate. Io ti consiglio di usare cmq $_POST, $_GET, ecc.
    Ecco un semplice script per poter usare mq questi array, anche se non esistono di modo che tu possa rendere i tuoi script già compatibili con le versioni successive:

    Codice PHP:
    if (!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS)))
      {
         
    $_GET = &$HTTP_GET_VARS;
         
    $_POST = &$HTTP_POST_VARS;
         
    $_SERVER = &$HTTP_SERVER_VARS;
         
    $_ENV = &$HTTP_ENV_VARS;
         
    $_COOKIE = &$HTTP_COOKIE_VARS;
         
    $_FILES = &$HTTP_POST_FILES;
         
    $_SESSION = &$HTTP_SESSION_VARS;
      } 
    Questo sript ti permette di usare cmq i "nuovi" array.

    Per ciò che riguarda l'array http_post_files hai ragione (sembra che ieri abbia detto un po' di scemenze!
    Per ciò che riguarda http post :master: ).

    Passiamo a trovare il tuo errore.
    I notice ce li hai abilitati?
    Non ti viene restituito alcun tipo di messaggio dal php?
    Prova a fare print_r( $_POST ) e vedi che ti stampa.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  8. #8
    Il controllo, inoltre, fallo in questo modo:

    if ( isset( $photo ) && $photo != '' ) ...

    Per ciò che riguarda l'uso della funzione move_uploaded_file essa accetta come primo parametro il nome temporaneo del file caricato, quindi, $_FILES['file_var']['tmp_name'] .
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    82
    mi vergongo a fare questa domanda, ma cosa sarebbe il notice ?

    comunque non mi da nessun messaggio di errore, mi viene solo scritto "perfavore compila tutti i campi !" (vedi ultimo if)

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.