• User Attivo

    problema stampa nome file

    ciao ragazzi ho un problema. nel codice che posto fa la seguente cosa:

    dopo aver fatto sfoglia e aperto il file,cliccando su invia esercizio viene aggiornata la pagina uguale a quella precedente con l'aggiunta del nome del file (riga58) che viene stampato sopra all'inizio della pagina.
    quello che io vorrei ottenere è che il nome dell'esercizio venisse stampato nel campo di testo nomefile (riga88).

    come posso fare.ciao e grazie

    [code]
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> PHP upload file </title>
    <script type="text/javascript" src="/tutoronline/funzioni.js">
    </script>
    <script language="JavaScript">
    document.write('<script language="JavaScript" src="datax.js"></sc' + 'ript>');
    </script>
    <script language="JavaScript">
    // variabili globali che contengono i campi da aggiornare
    var source;
    var tipo;
    var campi = new Array();
    function cal(val, e, t) {
    var dt = new Array();
    xPos = (document.layers) ? e.pageX : ((document.all) ? event.x : e.clientX);
    yPos = (document.layers) ? e.pageY : ((document.all) ? event.y : e.clientY);
    tipo = t;
    source = val;
    if (t == 0) {
    dt[0] = val[0].value;
    dt[1] = val[1].value;
    dt[2] = val[2].value;
    } else
    dt = val.value.split('-');
    showCalendar(new Date(dt[2], dt[1] - 1, dt[0]), xPos, yPos);
    }
    function action(g, m , a) {
    function format(x) {
    return x > 9 ? x : "0" + x;
    }
    getId().showIt(false);
    if (tipo == 0) {
    source[0].value = format(g);
    source[1].value = format(m + 1);
    source[2].value = a;
    } else
    source.value = format(g) + '-' + format(m + 1) + '-' + a;
    }
    </script>
    </head>
    <body>
    <h1>INSERISCI DATI ESERCIZIO</h1>
    <?php
    error_reporting(2047);
    if (isset($_POST["invioesercizio"])) {
    $percorso = './/esercizi/';

    //if (is_uploaded_file($_FILES['file1']['tmp_name'])) {
    if (move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$_FILES['file1']['name'])) {

    echo 'Nome file: <b>'.$_FILES['file1']['name'].'</b><br>';

    //echo '<input type="text" name="titoloesercizio" value="Nome file:'.$_FILES['file1']['name'].'">';
    echo 'MIME Type: <b>'.$_FILES['file1']['type'].'</b><br>';
    echo 'Dimensione: <b>'.$_FILES['file1'].'</b> byte<br>';
    echo '======================<br>';
    echo 'File caricato correttamente<br><br>';

    } else {
    echo "si è verificato un errore durante l'upload: ".$_FILES["file1"]["error"];
    }}
    ?>
    <FORM NAME="formesercizio" enctype="multipart/form-data" action="" method="post" >
    <tr>
    <td height="20"> seleziona il file da caricare sul server: <br>

          <input type="file" name="file1" size="50">
          <br>
          <input type="submit" value="invioesercizio" name="invioesercizio"></td>
    

    </tr>
    <tr>
    </form>
    <FORM NAME="formesercizio" enctype="multipart/form-data" action="registrazionedatiesercizio.php" method="post" >
    <table width="669" height="266" border="0">

          <td height="20">Nome file
              <input type="text" name="titoloesercizio"> </td>
    
      </tr>
      <tr>
        <td height="20">Argomento esercizio
          <input type="text" name="argomentoesercizio"></td>
      </tr>
      <tr>
        <td height="20">Testo del libro:
          <input name="testo" type="text" size="30"></td>
      </tr>
     
        <td height="20">Modalit&agrave; invio soluzione         
          <select name="modalitàinviosoluzione">
            <option value="email">email</option>
            <option value="MMS">MMS</option>
          </select> </td>
      </tr>
      <tr>
        <td height="20">Tipo di scuola 
          <select name="tiposcuola">
            <option value="primaria">primaria</option>
            <option value="secondaria1">secondaria1</option>
            <option value="secondaria2">secondaria2</option>
            <option value="universit&agrave;">universit&agrave;</option>
          </select> 
          Anno 
          <select name="anno">
            <option value="1°">1°</option>
            <option value="2">2°</option>
    

    <option value="3">3°</option>
    <option value="4">4°</option>
    <option value="5">5°</option>
    </select></td>
    </tr>
    <tr>
    <td height="20">Materia
    <select name="materia">
    <option value="aritmetica">aritmetica</option>
    <option value="geometria">geometria</option>
    <option value="algebra">algebra</option>
    <option value="analisi">analisi</option>
    </select></td>
    </tr>
    <tr>
    <td height="20">Compenso
    <input type="text" name="compenso"></td>
    </tr>
    <tr>
    <td height="20">Data scadenza
    <input name="datascadenza" type="text" value="01-01-2006">
    <input type="button" name="pulsante" value="V" onMouseDown="cal(datascadenza, event, 1)"></td>
    </tr>
    <tr>
    <td height="20">Tipo svolgimento
    <select name="tiposvolgimento">
    <option value="dettagliato">dettagliato</option>
    <option value="grandilinee">grandilinee</option>
    <option value="correzione">correzione</option>
    </select> </td>
    </tr>
    </table>
    <p><input type="submit" name="action" value="Invia"></p>

    </form>
    <p><p><a href="homepage.php">Torna a Homepage</a> </p>
    </body>
    </html>
    [code]


  • User Attivo
    
    <input name="testo" type="text" size="30" value='<?php echo $_FILES['file1']['name']; ?>'></td>
    
    

  • User Attivo

    ciao ho provato come mi hai scritto e funziona a meta nel sesno che dopo che clicco su invia esercizo nel campo di testo nomefile viene correttamente messo il nome del file caricato.

    il problema è che prima di caricare un file, cioè appeno apro la pagina nel campo di testo nomefile mi da' questa scritta:

    <br /><b>Notice</b>: Undefined index: file1 in <b>c:\programmi\easyphp1-8\www\tutoronline\formesercizio.php</b> on line <b>88</b><br />


  • User Attivo

    Devi controllare che la variabile sia settata, prova così:

    
    <input name="testo" type="text" size="30" value='<?php if (isset($_FILES['file1'])) echo $_FILES['file1']['name']; ?>'></td>
    
    

  • User Attivo

    ciao margheritebianche così come mi hai scritto va benissimo e funziona bene.
    grazie mille

    nella mia applicazione devo caricare due tipi di file:

    1. quello appena scritto che permette ad un utente di caricare sul server un esercizio prsente in un file come sopra.

    2. ora devo dare la possibilità ad un utente di scrivere un esercizio in una textarea e poi di poterlo caricare sul server come sopra.

    come potrei fare?
    mi potete dare qualche inidicazione