Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34

Discussione: [PHP] form in heredoc

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181

    [PHP] form in heredoc

    ciao a tutti devo realizzare un form in heredoc per poterlo poi passare come variaible in una echo. volevo sapere se è possibile inserire nel form nella sintassi heredoc dei tag php. Vi spiego perchè ho realizzato un form con dei campi ha menu a discesa che catturano il conenuto del da delle tabelle di database e quindi ho dovuto inserire dei tag php. ho notato che un form heredoc senza tag php mi funziona mentre con tag no. volevo capire se il mancato funzionamento dipende dal fatto che ho scritto male qualcosa oppure perchè nelle heredoc non è possibile inserire tag.
    grazie a tutti come al solito
    <<<FORM
    ..
    ..
    FORM;

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    qualcuni mi sa aiutare su internet non ho trovato niente di dettagliato

  3. #3
    quando utilizzi heredoc "sei" in php e quindi che vuoi dire con "usare tag php"?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    perdonami hai ragione vi posto il problema. ho questo form e vorrei farlo scriverlo in heredoc per poterlo postare in una echo come variabile
    vorrei creare una varibile cosi
    $stra = <<<FORM
    ...
    FORM;

    inserire questo form che ho

    .................................................. .........................
    premetto che il form in questione oltre ad avere campi di testo a dei menu a discesa il cui contenuto viene preso da un database con delle query
    ....................................ecco il form che vorrei trasformare in heredoc ma se lo inserisco nei tag di prima mi da errore parse errore sulle variabili......................................

    <html>
    <body>
    <form action="<?php $_SERVER['PHP_SELF']; ?>" id="inserimento" name="inserimento" method="POST">
    <label>
    Anno
    <select name="anno" id="anno">
    <?php
    do {
    ?><option value="<?php echo $row_Recordset1['Id_anno']?>"><?php echo $row_Recordset1['Anno']?></option>
    <?php
    } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
    $rows = mysql_num_rows($Recordset1);
    if($rows > 0) {
    mysql_data_seek($Recordset1, 0);
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    }
    ?>
    </select>




    Coltura
    <select name="coltura" id="coltura">
    <?php
    do {
    ?><option value="<?php echo $row_Recordset2['Id_coltura']?>"><?php echo $row_Recordset2['Nome_coltura']?></option>
    <?php
    } while ($row_Recordset2 = mysql_fetch_assoc($Recordset2));
    $rows = mysql_num_rows($Recordset2);
    if($rows > 0) {
    mysql_data_seek($Recordset2, 0);
    $row_Recordset2 = mysql_fetch_assoc($Recordset2);
    }
    ?>
    </select>




    Produzione
    <input name="produzione" type="text" id="produzione" size="15" />
    </label>


    PA
    <select name="PA" id="PA">
    <?php
    do {
    ?>
    <option value="<?php echo $row_Recordset3['ID_Pa']?>"><?php echo $row_Recordset3['Nome_principio_attivo']?></option>
    <?php
    } while ($row_Recordset3 = mysql_fetch_assoc($Recordset3));
    $rows = mysql_num_rows($Recordset3);
    if($rows > 0) {
    mysql_data_seek($Recordset3, 0);
    $row_Recordset3 = mysql_fetch_assoc($Recordset3);
    }
    ?>
    </select>
    </p>



    <label>Epoca
    <select name="epoca" id="epoca">
    <?php
    do {
    ?>
    <option value="<?php echo $row_Recordset5['Id_epoca']?>"><?php echo $row_Recordset5['Epoca']?></option>
    <?php
    } while ($row_Recordset5 = mysql_fetch_assoc($Recordset5));
    $rows = mysql_num_rows($Recordset5);
    if($rows > 0) {
    mysql_data_seek($Recordset5, 0);
    $row_Recordset5 = mysql_fetch_assoc($Recordset5);
    }
    ?>
    </select>
    </label>
    </p>



    <label>Dose P.A.
    <input name="dose" type="text" id="dose" size="15" />
    </label>
    </p>



    <label>GDT
    <input name="gdt" type="text" id="gdt" size="15" />
    </label>
    </p>



    <label>Fitotossicità
    <input name="fito" type="text" id="fito" size="15" />
    </label>
    </p>



    <label>Infestante
    <select name="infestante" id="infestante">
    <?php
    do {
    ?><option value="<?php echo $row_Recordset4['ID_infestante']?>"><?php echo $row_Recordset4['Nome_infestante']?></option>
    <?php
    } while ($row_Recordset4 = mysql_fetch_assoc($Recordset4));
    $rows = mysql_num_rows($Recordset4);
    if($rows > 0) {
    mysql_data_seek($Recordset4, 0);
    $row_Recordset4 = mysql_fetch_assoc($Recordset4);
    }
    ?>
    </select>
    </label>
    </p>



    <label>Efficacia
    <input name="eff" type="text" id="eff" size="15" />
    </label></p>



    <label>Inserisci dati
    <input type="submit" name="Submit" value="Invia" />
    </label>
    </p>

    <input type="hidden" name="MM_insert" value="$caso">
    </form>
    </body>
    </html>
    .................................................. .........................
    GRAZIE A TUTTI

  5. #5
    heredoc tratta stringhe e non codice. non so se si puo' concatenare in heredoc, credo di no.

    In altre parole puoi mettere variabili stringhe da interpretare, ma non il codice che deve essere eseguito. Come con echo/print, devi uscire, eseguire e rientrare nel costruttore.

    Penso tu debba prima eseguire il codice, infilare nelle variabili/array i risultati e poi recuperare i dati in heredoc.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    ti spiego vorrei ricreare per il mio form la pillola Refresh pagina con form e duplicazione dati nel db
    esaminando lo script in quel esempio vengono effettuati dei controlli sulle variabili inseriti con il form dall'utente. se le variabili non corrispondono ai parametri stabiliti tramite una echo viene ripresentato il form. io sto utilizzando lo stesso script adattato al mio form però dato che non posso creare come nella pillola il form in heredoc come non posso qundi neanche inserire la echo che mi fa ripresentare il form se le variaibli non sono state correttamente riempite. secondo voi come posso ovviare al problema. al posto della echo che mi ripresenta il form posso inserire un redirect automatico alla pagina ad esempio? oppure vi vengono in mente altre soluzioni?

  7. #7
    nn ho capito sinceramente molto bene il tuo ultimo post ma comunque è come ti dice il buon saggio piero...devi avere tutto in variabili prima dell' innizio dell'heredoc, cioè
    Codice PHP:
    $metodo="POST";
    $option="<select>";
    for(
    $i....)
    $option.="<option value=\"".$i."\">".$i."</option>";
    $option.="</select>";

    $output = <<<
    <
    form metho="{$metodo}">
    {
    $option}
    </
    form>
    ... 
    giusto a titolo esemplificativo =P

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    mi semvra troppo complesso. nel mio ultimo post mi riferivo alla pillola presente in questo forum:[Pillola] Refresh pagina e duplicazione dati nel db
    http://forum.html.it/forum/showthrea...64#post7161564
    io questa pillola è stato creato un form nella modalità heredoc in modo da poterlo cosi inserire come valore di una variabile $str = <<< Form .....
    quando viene fatto il controllo sulle variabili del form se queste non rispecchiano i parametri stabiliti tramite una echo viene riproposto il form echo $str.
    Come posso sostituire questa echo e far riapparire la pagina del form ?
    non so se mi avete capito spero di si.
    vi prego aiutatemi è molto importante

  9. #9
    quella roba che citi l'ho scritta io, so di cosa si tratta, ma non capisco che vuoi fare tu.

    quello script si limita a verificare se i dati in arrivo da POST sono gli stessi di prima. Se sono diversi li inserisce nel db altrimenti ti rimanda al form. E' un esempio/suggerimento per evitare che l'utente con F5 oppure con il refresh continui ad inviare gli stessi dati nel db. Il controllo lo fa senza dover fare query preventive. Il fatto di aver usato un heredoc per il form e' assolutamente casuale.

    Adeguare a volte e' piu' complesso che fare nuovo.... dovresti calarti nelle mie brache ed in due saremmo scomodi ed imbarazzati....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    181
    si infatti hai ragione adattare è molto complesso comunque è costruttivo si imparano molte cose. :-)) ti spiego a me serve una pagina come quella che hai realizzato che eviti l'inserimento di doppioni nel mio database. io però non ho realizzato il form in heredoc per il motivo che ti dicevo ma un form normale in quanto all'interno del form c'è del codice php.
    ti mando le modifiche che ho apportato a quello script cosi capisci meglio e mi sai aiutare servono ancora degli aggiustamenti fammi sapere che ne pensi.
    Ti prego abbi pazienza dammi una mano è molto importante.
    grazie anticipatamente
    di quello script non mi serve la parte che controlla che i dati vengano inseriti in quanto poi prevedo di inserire dei script in java per il controllo dei dati.
    ----------------------------------------------------------------------------------------


    ----------------------------------------------------------------------------------------
    il file è troppo lungo non mi centra te lo mando per posta

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