Visualizzazione risultati 1 fino 2 di 2

Discussione: Modulo di invio file mal funzionante

  1. #1
    Guest

    Thumbs up [RISOLTO] Modulo di invio file mal funzionante

    sto sbattendo la testa su questo mio codice senza capire minimamente dove sbaglio. e mi sto pure innvervosendo da morire!!!

    allora, questo è il codice contenuto in una pagine: è un form che dovrebbe inviare sia le informazioni nel database, che copiare il file nello spazio web:
    Codice HTML:
    <p><font face="Trebuchet MS" color="#FFFFFF" size="4">#Age_of_Empires_2</font></p>
    <p><font color="#FFFFFF"><a href="#" onclick="scambio('modulo'); return false">#Invia file.</a></font></p>
      <form enctype="multipart/form-data" method="post" action="aoe_send.php" onsubmit="return controlla(this);">
        <table class="tabella_soft">
          <tr> 
            <td width="24%">#Nome_File:</td>
            <td width="76%"><input type="file" name="file" size="32"></td>
          </tr>
          <tr> 
            <td>#Tipo_File:</td>
            <td><input type="radio" name="radiobutton" value="1">
              Scenario 
              <input type="radio" name="radiobutton" value="2">
              Campagna 
              <input type="radio" name="radiobutton" value="3">
              Altro</td>
          </tr>
          <tr> 
            <td>#Titolo_File:</td>
            <td><input name="titolo" type="text" size="43"></td>
          </tr>
          <tr> 
            <td>#Mittente:</td>
            <td><input type="text" name="mittente" size="43"></td>
          </tr>
        </table>
        <p>
          <center>
            <input type="submit" name="Submit" value="#Invia">
          </center>
        </p>
      </form>
    il codice nella pagina aoe_send.php è:
    Codice PHP:
    <!--<body onLoad="document.location='aoe2.php'">-->
    <?
    $conn
    = mysql_connect("localhost", "lsdfreetime", "PW")
    or die(
    "Connessione non riuscita: " . mysql_error());
    mysql_select_db("my_lsdfreetime",$conn);

    $radiobutton=$_POST['radiobutton'];
    $titolo=$_POST['titolo'];
    $mittente=$_POST['mittente'];
    $uploaddir="/membri/lsdfreetime/uploads/aoe/";
    $file = $_FILES['file']['tmp_name'];
    $nomefile = $_FILES['file']['name'];
    $query="INSERT INTO aoe (nomefile, tipo, titolo, mittente) VALUES ('$nomefile', '$radiobutton', '$titolo', '$mittente')";
    echo
    "$query";
    $set_result=mysql_query($query) or print("<br />Query non eseguita");
    echo
    "$set_result";
    if(
    $set_result==true){
    print(
    "File <b>$nomefile</b> inviato con successo.");
    }
    if (
    $file_name != "") {
    @
    copy($file, "$uploaddir".$file_name)
    or die(
    "Impossibile trasferire il file");
    $miamaill="lsdfreetime@altervista.org";
    $oggetto="nuovo file inserito";
    $corpo="E' stato inserito un nuovo file:\n
    FILE:
    $nomefile
    MITTENTE:
    $mittente";
    mail($miamaill, $oggetto, $corpo, "LSDFREETIME");
    }


    mysql_close($conn);
    ?>
    il problema è che:
    1) i file vengono copiati nello spazio web senza problemi
    2) i dati NON vengono inseriti nel database: solo se SVUOTO la tabella allora solo il PRIMO tentatvio di invio va a buon fine, gli altri invii poi non danno alcun risultato

    perchè????

    grazie
    Ultima modifica di lsdforum : 08-03-2006 alle ore 12.17.02

  2. #2
    Guest

    Predefinito

    trovato errore:
    sostituendo or print() con or die(mysql_error()) ho scoperto che il campo ID che pensavo, essendo primario, si auto-aggiornasse, si bloccava perchè non incrementandosi, dava duplicate entry.
    ora funziona.
    potete anche eliminare il topic, oppure conservarlo per questo errore.
    ciao.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •