Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    residenza
    Florence - Italy
    Messaggi
    60

    undefined index con $_FILES

    beh se qualcuno hai un idea mi torna utiel questo è lo script php
    <?php
    $id_ute = session_id();
    if (isset($_POST["Salva"]))
    {
    $upload_tmp_dir ="c:/www/vhosts/localhost/tmp_img/";
    $DIR = "c:/www/vhosts/localhost/imgage/";
    if (move_uploaded_file ($_FILES['logo']['tmp_name'], $DIR, $_FILES[$_POST["logo"]['name']]))
    {
    $database = mysql_connect("localhost","root","rootwdp") or die("Impossibile connettere al DataBase ".mysql_error()); // agiungere verifica errori
    mysql_select_db("utenti",$database);
    if (!mysql_select_db("utenti",$database)) echo ("Errore interno ".mysql_error());
    else $modificato = mysql_query ("UPDATE elenco_utenti SET PASSWORD = '$_POST[PASSWORD]', EMAIL = '$_POST[email]', TECNICA = '$_POST[ListaTecnicaTipo]', ASSENSO = '$_POST[CommercialeFlag]', COMMERCIALE = '$_POST[TipologiaCommerciale]' WHERE UTENTE = '$_SESSION[UTENTE]'",$database);
    }
    //mysql_free_result($modificato);
    }
    ?>

    questo invece è il form html

    <form ecntype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
    <menu>[*]


    <font face="Papyrus" color="#ff0000"
    size=5>Nome
    <?php echo $_SESSION["NOME"]; ?>
    </font></p>[*]


    <font face="Papyrus" color="#ff0000"
    size=5>Cognome
    <?php echo $_SESSION["COGNOME"]; ?>
    </font></p>[*]


    <font size="5"><font face="Papyrus"><font
    color=#ff0000>Utente <?php echo $_SESSION["UTENTE"]; ?></font> </font></font>
    </p>[*]


    <font face="Papyrus"
    size=5>Password</font><font face="Papyrus"
    size=5>
    <input maxlength="32"
    name=password value="<?php echo $_SESSION["PASSWORD"];?>">
    </font></p>[*]


    <font face="Papyrus"
    size=5>Email
    <input maxlength="25" name="email" value="<?php echo $_SESSION["EMAIL"];?>">
    </font></p>[*]


    <font face="Papyrus" color="#ff0000"
    size=5>Contatore<?php echo $_SESSION["CONTATORE"]; ?> </font></p>[*]


    <font face="Papyrus"
    size=5>Logo/Immagine
    <input type="hidden" name="dimfile" value="200000"><input name="logo" type="file">
    </font></p>[*]


    <font face="Papyrus" size="5">MailingList
    Tecnica<select
    size=1 name=ListTecnicaTipo><option value="Seleziona Tipo"
    selected>Seleziona Tipo</option> <option value="Adsl/Hdsl">Adsl/Hdsl</option>
    <option value="Cellulari/SmartPhone">Cellulari/SmartPhone</option> <option
    value="Hardware Voip">Hardware Voip</option> <option
    value="Linee Fonia Fissa">Linee Fonia Fissa</option>
    <option value="Tutti">Tutti</option>
    &lt;\SELECT&gt;</select>
    </font></p>[*]


    <font face="Papyrus" size="5">MailinigList
    Commerciale<select size="1" name="CommercialeFlag"><option value="Sì"
    selected>Sì</option> <option value="No">No</option>
    &lt;\SELECT&gt;</select> <select size="1"
    name=TipologiaCommerciale><option value="Seleziona Tipo" selected>Seleziona
    Tipo</option> <option value="Adsl/Hdsl">Adsl/Hdsl</option> <option
    value="Cellulari/SmartPhone">Cellulari/SmartPhone</option> <option
    value="Hardware Voip">Hardware Voip</option> <option
    value="Linee Fonia Fissa">Linee Fonia Fissa</option> <option
    value="Tariffe Fonia Fissa">Tariffe Fonia Fissa</option> <option
    value="Tariffe Fonia Mobile">Tariffe Fonia Mobile</option> <option value="Tutti">Tutti</option>
    &lt;\SELECT&gt;</select></p>


    </p>
    </font></menu>



    <font > <font > <blink><font ><font ><font
    size=7><font face="Papyrus">
    </font></font>
    </font></font></blink> </font></font>

    <font > <font > <blink><font ><font ><font
    size=7><font face="Papyrus"><input style="WIDTH: 149px; HEIGHT: 24px" type="submit" size="47" value="Salva" name="Salva"> <input style="WIDTH: 149px; HEIGHT: 24px" type="submit" size="47" value="Annulla" name="Annulla">
    </font></font>
    </font></font></p></font>
    </blink></font>
    </form>

    ho provato a impostare anche register_globals su on ma niente !!
    inoltre anche logo o $_POST["logo"* non sorte effetti

    aiuuutoooooooo !!!!!

  2. #2
    il tuo script e la tua pagina html ono molto interessanti, ma ora.... dov'è la domanda? dov'è il problema? qual è l'errore?


    :rollo:

  3. #3
    Hai scritto:

    Codice PHP:
    $_FILES[$_POST["logo"]['name']] 
    invece di:

    Codice PHP:
    $_FILES["logo"]['name'
    Inoltre la virgola dopo $DIR dovrebbe essere l'operatore di concatenazione "punto" (.)

    Inoltre richiami inutilmente mysql_select_db() due volte ed il codice è aperto ad attacchi di SQL Injection. Vedi:

    http://php.html.it/guide/lezione/2986/sql-injections/

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    residenza
    Florence - Italy
    Messaggi
    60
    allora per quanto riguarda l'errore è il seguente

    Undefined index: logo in C:\www\vhosts\localhost\profilo3.php on line 26 cioè dove si trova la riga che fa riferimento a $_FILES come sottolineato ho già settato register_globals su on ma niente....

    per filippo grazie per i suggerimenti sulla vulnerabilità del db purtroppo però anche variando lo script come dici tu l'errore persiste inoltre io avevo usato il $_FILES[$_POST["logo"]] come tentativo anzichè il $_FILES["logo"] ma entrambi generano l'errore in alto tranne che con il $_POST visualizza il valore inserito dal modulo

  5. #5
    metti un print_r($_FILES);

    così vedi cosa arriva

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    residenza
    Florence - Italy
    Messaggi
    60
    messo
    print_r($_FILES);
    output prodotto Array ()

  7. #7
    Originariamente inviato da massimodue
    messo
    print_r($_FILES);
    output prodotto Array ()
    morale: non arriva niente dal form (per quanto riguarda il file).... adesso sappiamo dove cercare....

    prova a ridurre all'osso il form, controlla bene il multipart form data... etc... basta un semplice errore di battitura e tutto va a meretrici

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da filippo.toso
    ...

    Inoltre la virgola dopo $DIR dovrebbe essere l'operatore di concatenazione "punto" (.)
    ...

    non è obbligatorio, php accetta anche la virgola come concatenatore di stringhe
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  9. #9
    Originariamente inviato da dottwatson
    non è obbligatorio, php accetta anche la virgola come concatenatore di stringhe
    Davvero?

    Codice PHP:
    <?php 
    $a 
    'A';
    $b 'B';

    $ab $a $b;
    ?>
    Parse error: syntax error, unexpected ',' in test.php on line 5

  10. #10
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    certo..

    Codice PHP:
    <?php
    echo "ciao",' mondo';
    ?>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.