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

    problemi con $_GET e $_POST!!

    Ciaoa tutti,
    ho problemi a riportare dei valori da uno script verso altri, all'inizio pensavo ad un problema tra $_GET e $_POST, ma ho provato in tutti i modi, dopo il primo passaggio mi perdo i dati.
    Devo far "viaggiare" tre dati in tre form diversi, nel primo passaggio ok, ma dopo questo non riesco più a portarmi i dati dietro.
    Posto le righe di codice principali. Se qualcuno può aiutarmi

    Il campo data ordine numero ordine provengono da mysql e non ci sono problemi.
    Il nome del file viene selezionato da questo form
    __________________________________________________ ________________________
    caricadati.php

    form action ="check_ordine.php" method="POST" enctype="multipart/form-data" id="caricafile" >
    <input type="hidden" value="<?php echo $numerordine; ?>" name="numerordine" />
    <input type="hidden" value="<?php echo $dataordine; ?>" name="dataordine" />

    <input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="<?php echo $id?>"/>
    <input type="file" id="file" name="file"/>

    <input onclick="window.parent.startProgress(); return true;"
    type="submit" value="Continua !"/>


    <input type="hidden" value="<?php echo $dataordine =$_GET['dataordine'] ;?> name="dataordine" />
    <input type="hidden" value="<?php echo $numerordine=$_GET['numerordine']; ?>" name="numerordine" />
    <input type="hidden" value="<?php echo $file=$_POST['file']; ?>" n
    ame="file" />
    __________________________________________________ ______________________
    Check_ordine.php

    mi porto dietro i dati
    <input type="hidden" value="<?php echo $dataordine =$_GET['dataordine'] ;?> name="dataordine" />
    <input type="hidden" value="<?php echo $numerordine=$_GET['numerordine']; ?>" name="numerordine" />
    <input type="hidden" value="<?php echo $file=$_POST['file']; ?>" name="file" />

    e in questo form ancora ho i tre dati
    ma dopo nel inviaftp.php spariscono


    header("Location: inviaftp.php?file=$file&numerordine=$numerordine") ;
    exit();

    ma su inviaftp.php numerordine,file sono vuoti!!!

    mi potete dire dove sbaglio?

    Grazie!!

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    che dire, il tuo codice è abbastanza incasinato, cmq manca il codice del js e di inviaftp.php
    poi mi sembra strano il fatto che tu metta in un input di tipo hidden il valore passato tramite un input di tipo file

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    hai religiosamente ragione!
    ma ho provato a mettere quelle righe hidden per provare il passaggio da form a form.
    perdendosi i dati non sapevo come risolvere.
    Provo a postare il codice intero, forse può sembrare meno incasinato.

    Ma non volevo stressarvi per via della lunghezza!!

    ________________________ caricafile.php ____________________________
    <?php

    Global $_GET;

    // inclusione del file di classe
    include "funzioni_mysql.php";
    // istanza della classe
    $data = new MysqlClass();
    // chiamata alla funzione di connessione
    $data->connetti();

    $commento_sql = $data->query("SELECT * FROM numeratori WHERE tipo ='ordini'");

    $dataordine =date("d-m-Y");

    if(mysql_num_rows($commento_sql) > 0)
    {
    while($commento_obj = $data->estrai($commento_sql))
    $numerordine = abs($commento_obj->numero) + 1 ;

    }


    $data->disconnetti();
    ?>
    <div id="header">
    <h1><center>Preparazione Ordine Numero : <?php echo $numerordine ?> Del : <?php echo $dataordine ?> </center></h1>
    </div>

    <div id="pages">
    <h2>Pages</h2>
    <ul>
    [*]
    [*]
    [*]
    [*]
    [*]
    <li class="active">

    [/list]
    </div>

    <div id="content">
    <div id="latest-post">


    <div id="colOne">

    <div id="pagesx">

    <form action ="check_ordine.php" method="POST" enctype="multipart/form-data" id="caricafile" >
    <input type="hidden" value="<?php echo $numerordine; ?>" name="numerordine" id="numerordine" />
    <input type="hidden" value="<?php echo $dataordine; ?>" name="dataordine" id="dataordine"/>

    <fieldset>
    <legend>Formato di stampa</legend>

    <input type="radio" id="answer1_1" value="A0" name="answer_1" checked="checked" > A0
    <input type="radio" id="answer1_2" value="A1" name="answer_1"> A1
    <input type="radio" id="answer1_3" value="A2" name="answer_1"> A2
    <input type="radio" id="answer1_4" value="A3" name="answer_1"> A3
    <input type="radio" id="answer1_5" value="A4" name="answer_1"> A4
    </fieldset>

    <fieldset>
    <legend>Qualità di stampa</legend>


    <input type="radio" id="answer_2" value="bozza" name="answer_2" checked="checked" />
    Bozza
    <input type="radio" id="answer_2" value="media" name="answer_2" />
    Media
    <input type="radio" id="radio" value="Alta" name="answer_2" />
    Alta

    </fieldset>

    <fieldset>

    <legend>Quadricromia</legend>

    <input type="radio" id ="answer_3" value="Colore" name="answer_3" checked="checked" />
    Colore
    <input type="radio" id ="answer_3" value="b/n" name="answer_3" />
    B/N

    </fieldset>

    <fieldset>

    Grammatura Carta

    <select name="grammi" id="grammi">
    <option value="80">80 Gr.</option>
    <option value="100">100 Gr.</option>
    <option value="200">120 Gr.</option>
    <option value="200">140 Gr.</option>
    <option value="200">180 Gr.</option>
    <option value="200">200 Gr.</option>
    <option value="200">220 Gr.</option>
    <option value="200">250 Gr.</option>
    <option value="250">270 Gr.</option>
    <option value="300">300 Gr.</option>
    <option value="200">350 Gr.</option>
    <option value="400">400 Gr.</option>
    </select>

    </fieldset>

    <fieldset>
    <legend>Ritaglio del bordo </legend>

    <input type="radio" id="answer_4" value="SI" name="answer_4" checked="checked" >
    SI
    <input type="radio" id="radio2" value="NO" name="answer_4" />
    No
    </fieldset>


    <fieldset>
    <legend> numero di copie </legend>

    <input type="text" id="copie" size=3 name="copie" maxlength="2" value="1" />

    </fieldset>






    <div id="pagedx">



    <fieldset>



    Note o Comunicazioni da inoltrare :



    <textarea name="note" cols="40" rows="4" id="note" ></textarea>






    File da inviare :


    <input type="hidden" name="APC_UPLOAD_PROGRESS"
    id="progress_key" value="<?php echo $id?>"/>
    <input type="file" id="file" name="file"/>

    <input onclick="window.parent.startProgress(); return true;"
    type="submit" value="Continua !"/>











    </fieldset>



    </div>
    </form>

    ________________________ Check_ordine.php ________________________

    <input type="hidden" id="dataordine" value="<?php echo $dataordine =$_POST['dataordine'];?> name="dataordine" />
    <input type="hidden" id="numerordine" value="<?php echo $numerordine=$_POST['numerordine']; ?>" name="numerordine" />
    <input type="hidden" id="file" value="<?php echo $file=$_POST['file']; ?>" name="file" />
    <?php


    if (isset($file)) {
    move_uploaded_file($_FILES["$file"]["$numerordine"],
    ".\\Upload\\" . $_FILES["$file"]["name"]);
    }

    if (isset($_POST['numerordine'])) {

    $numerordine =$_POST['numerordine'];
    $dataordine =$_GET['dataordine'];
    $formato= $_POST['answer_1'];
    $qualita= $_POST['answer_2'];
    $colore =$_POST['answer_3'];
    $grammi =$_POST['grammi'];
    $ritaglio =$_POST['answer_4'];
    $uploadfile= $_POST['loadfile'] ;
    $copie= $_POST['copie'];
    $note = $_POST['note'];
    ;

    // scrivo l'ordine in tabella ordini
    // inclusione del file della classe

    include "funzioni_mysql.php";

    // istanza della classe
    $data = new MysqlClass();

    // chiamata alla funzione di connessione
    $data->connetti();

    $t = "ordini"; # nome della tabella
    $r = "numero,dataordine,formato,qualita,colore,grammatu ra ,ritaglio ,copie ,note ,allegato "; # campi da popolare

    $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','$uploadfile')");

    $result = mysql_query($query);

    If (mysql_affected_rows() == 1 ) {
    echo "Qualche cosa non ha funzionato nel tuo tentativo di registrazione.";
    header("Location: caricafile.php?numerordine=$numerordine");
    exit();
    }
    else
    {
    error_log(mysql_error());
    $fout = fopen("query.txt", "w");
    fwrite($fout, $query, strlen($query));
    fclose($fout);
    $data->disconnetti();
    header("Location: inviaftp.php?file=$file&numerordine=$numerordine") ;
    exit();
    }

    } else {
    header("Location:index.php");
    }

    ?>
    ________________________________inviaftp.php ___________________________
    <input type="hidden" id="dataordine" value="<?php echo $dataordine =$_POST['dataordine'];?> name="dataordine" />
    <input type="hidden" id="numerordine" value="<?php echo $numerordine=$_POST['numerordine']; ?>" name="numerordine" />
    <input type="hidden" id="file" value="<?php echo $file=$_POST['file']; ?>" name="file" />
    <?php

    if (isset($_POST['$file'])) {

    $ftp_server = "127.0.0.1";
    $username = "root";
    $password = "mysql";

    if (is_uploaded_file($_FILES['file']['tmp_name'])) {
    $file = $_FILES['file']['tmp_name'];
    $new_file = 'Ordini/'.$_FILES['file']['name'];


    //////////////////////////////////////////////////////////////////
    //attivare la connessione ftp
    $connessione = ftp_connect($ftp_server, 21) or die ('Impossibile connettersi al server.');
    //effettuare il login
    ftp_login($connessione, $username, $password) or die('Username o password errati.');
    //modalità passiva
    ftp_pasv($connessione, true);
    //upload del file
    $invia = ftp_put($connessione, $new_file, $file, FTP_ASCII);
    //esito dell'upload
    echo (!$invia) ? 'Upload fallito' : 'Upload completato
    ';

    // chiusura della connessione
    ftp_close($connessione);

    if (file_exists($_FILES['file']['name']))
    {
    echo 'Il file esiste';
    header("Location: inviafile.php?file=$file&numerordine=$numerordine" );
    exit();
    } else {
    echo 'Il file non esiste';
    header("Location: caricafile.php?file=$file&numerordine=$numerordine ");
    exit();
    }
    }
    }
    else {
    echo 'variabili vuote' ;
    echo $file ;
    echo $numerordine;
    }
    ?>

    Troppo lungo ??

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    scusa, ma la form ha method="POST" perchè tenti di recuperare i dati un po' con $_GET e un po' con $_POST?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    e proprio li è sorto il mio dubbio, ho provato sia con la GET che con POST ma il risultato non mi cambia!
    Sto cercando di imparare PHP ma mi sto incasinando le idee, alcune cose non rispondono come penso!!

  6. #6
    Originariamente inviato da marcopa
    ...
    <input type="hidden" id="dataordine" value="<?php echo $dataordine =$_POST['dataordine'];?> name="dataordine" />
    ...
    Mancano le virgolette di chiusura dell'attributo value:

    Codice PHP:
    <input type="hidden" id="dataordine" value="<?php echo $dataordine $_POST['dataordine'];?>" name="dataordine" />
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    1)Per il file non va bene, visto che in Check_ordine.php lo salvi sul server poi lo devi leggere come file dal server in inviaftp.php.

    2)un consiglio è quello che potresti usare $_REQUEST che va bene si per le POST che per le GET.

    Premesso prima che per $file in inviaftp non va bene ne Get ne Set, l'ordine giusto è questo

    in caricafile.php hai una form che manda i dati in Post quindi in Check_ordine.php devi recuperare con $_POST
    successivamente tramite la funzione header() mandi dei dati in Get quindi in inviaftp.php devi usare $_GET

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Grazie 'de core'
    provo senz'altro i vs. preziosi consigli, vi faccio sapere se il tonto capisce!!

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    340
    Ho provato sui vs. consigli ma proprio non riesco a capire!!
    Ho provato allora, con tre form exnovo, due righe
    pagina1 pagina2 e pagina2, arrivato alla pagina 3 mi perdo!
    Posto il codice se avete possibilità di rispondermi.

    ______________________Pagina1 _________________________________

    <form action ="pagina2.php" method="POST" enctype="multipart/form-data" id="" >
    <input name="numerordine" id="numerordine">
    <input name="dataordine" id="dataordine">
    <input type="hidden" name="APC_UPLOAD_PROGRESS"
    id="progress_key" value="<?php echo $id?>"/>

    <input name="contactus" type="submit" class="submit" id="contactus" value="Continua" />

    </form>

    ________________________Pagina2 ___________________________________

    <input type="hidden" id="dataordine" value="<?php echo $dataordine =$_POST['dataordine'];?>" name="dataordine" />
    <input type="hidden" id="numerordine" value="<?php echo $numerordine=$_POST['numerordine'];?>" name="numerordine" />

    <form action ="pagina3.php" method="GET" enctype="multipart/form-data" id="" >
    <input type="submit" onclick=" return true;" value="Segue Pagina"/>
    </form>

    <?php
    echo $dataordine;
    echo "---";
    echo $numerordine ;
    echo "---";

    ?>

    Su pagina 2 mi stampa regolare numero e data ordine

    _________________Pagina 3 ___________________________________

    <?php

    $dataordine =$_GET['dataordine'];
    $numerordine=$_GET['numerordine'];
    ?>

    <h2><span> Ordine Numero <?php echo $numerordine; ?> </span><span>Data ordine <?php echo $dataordine; ?> </span></h2>


    Questo è quello che mi stampa sulla pagina3


    Notice: Undefined index: dataordine in I:\EasyPHP-5.3.3.1\www\Sito DDD\pagina3.php on line 3

    Notice: Undefined index: numerordine in I:\EasyPHP-5.3.3.1\www\Sito DDD\pagina3.php on line 4

    Ordine Numero Data ordine

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    gli input hidden della pagina 2 devo stare dentro la form altrimenti non te li invia

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.