Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340

    passaggio $_FILES tra tre form

    Ciao! Nuovamente qui a chiedere un'aiuto!
    sono alle prese con una problema con $_FILES ho un primo form :

    Primo.php __________________________________________________ __

    <form action ="check.php" method="POST" enctype="multipart/form-data" id="" test=y >

    <fieldset>
    <legend> TIPO DI RICHIESTA</Legend>
    Preventivo <input type="radio" id="myCheck_1" value="A" name="myCheck" />
    Ordinazione <input type="radio" id="myCheck_2" value="B" name="myCheck" />
    </fieldset>
    <fieldset>
    <legend> File da allegare </legend>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000" >
    <input type="file" name="upfile">
    <input name="upload" type="submit" class="submit" id="upload" value="Continua" />


    </fieldset>
    </form>


    in check.php devo controllare se hanno chiesto A=preventivo B=Ordine
    se scelto A viene mandato con Header("location:

    check.php __________________________________________________ ______

    $upfile=$_FILES['upfile']['tmp_name'];
    $myCheck = $_POST['myCheck'];

    echo "Hai scelto ordine :$myCheck
    ";
    echo "nome del file :$upfile
    ";


    if ($myCheck=='') { // non è stata eseguita nessuna scelta
    header("Location: primo.php");
    exit();
    }

    // SCELTA PREVENTIVO

    if ($myCheck =='A') { // Scelta Preventivo
    header("Locationreventivo.php?file=$file&numerordine=$numerordine& dataordine=$dataordine&formato=$formato&qualita=$q ualita&colore=$colore&grammi=$grammi&ritaglio=$rit aglio&copie=$copie&note=$note&file=$upfile");
    exit();
    }

    // SCELTA ORDINE

    if ($myCheck =='B') { // Crea ordine
    if ($upfile !='') {
    // Prima aggiorno db e poi trasferisco il file -----------------------------

    // scrivo l'ordine in tabella ordini

    $t = "ordini"; # nome della tabella
    $r= "numero,dataordine,formato,qualita,colore,grammatu ra ,ritaglio ,copie ,note ,allegato ";
    $query = $data->query("INSERT INTO ordini (numero,dataordine,formato,qualita,quadricromia,gr ammatura,ritaglio,copie,note,allegato) VALUES('$numerordine','$dataordine','$formato','$q ualita','$colore','$grammi','$ritaglio','$copie',' $note','$upfile')");

    $result = mysql_query($query);

    If (mysql_affected_rows() == 1 ) {
    echo "Qualche cosa non ha funzionato nel tentativo di registrazione.";
    $data->disconnetti();
    header("Location: primo.php");
    exit();
    }
    }
    header("Location:viaftp.php?file=$file&numerordine =$numerordine&dataordine=$dataordine&formato=$form ato&qualita=$qualita&colore=$colore&grammi=$grammi &ritaglio=$ritaglio&copie=$copie&note=$note&upfile =$upfile");
    exit();
    }

    $data->disconnetti();


    La cosa che non mi spiego è che tutti i campi sono regolarmente popolati, anche $upfile tant'è che anche nel database ci sono tutti regolarmente, nome del file da trasferire compreso.

    Il problema nasce nel viaftp.php

    il nome del file e la variabile sono vuote!
    $upfile non continene nulla,

    viaftp.php _________________________________________________

    Queste righe provate in successione più volte non riportano mai niente!

    <input type="hidden" id="upfile" value="<?php echo $upfile=$_FILES['upfile']['tmp_name'];?>" name="upfile" />

    in alternativa con questa :
    <input type="hidden" id="upfile" value="<?php echo $upfile=$_GET['upfile'];?>" name="upfile" />


    if(trim($_FILES["upfile"]["name"]) == "") {
    die("Non hai indicato il file da uploadare !");
    }

    in alternativa con questa

    if(trim($_FILES["$upfile"]["name"]) == "") {
    die("Non hai indicato il file da uploadare !");
    }



    sapete dirmi se il problema è che invoco i form con Header("location") passando i parametri in questo modo?

    Help Me!!!

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    devi scrivere il codice fra gli appositi tag (in questo caso php) per rendere leggibile il tutto

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    scusami non ho capito, cosa intendi ? <?php ?>
    non ho scritto il tutto ma ci sono! funziona tutto ma è nel terzo form il problem......

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    è giusto che non ti funzioni, non si passa un file tramite get così

    dato che in check.php hai la possibilità di copiare il file sul server successivamente in viaftp potrai leggerlo direttamente dal server senza dovere fare una post o una get

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    no intendo

    [ php ]
    i++;
    [ /php ]

    senza gli spazi fra le parentesi
    risultato:
    Codice PHP:
    i++; 

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    help me!
    mi puoi spiegare in due righe cosa intendi, non sono molto pratico di PHP, cerco di apprendere le funzioni un po per volta, prima mi hai dato molte indicazioni su $_POST e $_GET ora sto con $_FILES.
    tu intendi che in viaftp.php dovrei leggere dal server il nome del file, riprenderlo, ma nel server ancora non ho nulla!
    su viaftp.php la variabile è vuota queste sono le righe :


    viaftp.php _____________________________________________
    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

    if(trim($_FILES["upfile"]["name"]) == "") {

    die("Non hai indicato il file da uploadare !");

    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    a cosa ti serve questo sistema?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Scusa Bstefano, spero non ti venga male spiegarmi!
    non capisco dove dovrei impostare
    [ php ]
    i++;
    [ /php ]

    senza gli spazi fra le parentesi!

    nel viaftp.php? oppure intendi in header("location")
    proprio non capisco!

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da marcopa
    Scusa Bstefano, spero non ti venga male spiegarmi!
    non capisco dove dovrei impostare
    [ php ]
    i++;
    [ /php ]

    senza gli spazi fra le parentesi!

    nel viaftp.php? oppure intendi in header("location")
    proprio non capisco!
    no questi tag servono solo sul forum per rendere leggibile il codice così come lo posti te si legge male
    viaftp.php _____________________________________________
    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

    if(trim($_FILES["upfile"]["name"]) == "") {

    die("Non hai indicato il file da uploadare !");

    }

    if(@is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die("Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    se invece metti i tag all'inizio e alla fine il codice risulta leggibile
    Codice PHP:
    viaftp.php _____________________________________________
    // Eventuale nuovo nome da dare al file uploadato
    $new_name "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name $_FILES["upfile"]["name"];

    if(
    trim($_FILES["upfile"]["name"]) == "") {

    die(
    "Non hai indicato il file da uploadare !");

    }

    if(@
    is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name"
    or die(
    "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die(
    "Problemi nell'upload del file " $_FILES["upfile"]["name"]);



  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    [php]

    Sorry.....pensavo alla soluzione del problema!

    Scusami, mi chiedevi a cosa serviva, è una pagina dove puoi inviare un file tramite ftp
    per la stampa grafica su plotter.
    Se vuoi avere un preventivo ti viene inviata un'email con il prezzo.
    altrimenti viene eseguita la stampa del file inviato.
    Hai idea del perchè sul terzo form non riesco a prendere più il nome del file?
    sul secondo è presente, anche sul database viene registrato il nome.
    ma nel terzo....nada!!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.