• Bannato User Attivo

    E grazie cumpa'! Mo' lo provo.

    LB


  • Bannato User Attivo

    Be', no, non era quello che cercavo. Quello me lo fa anche dreamweaver, e mi scassa anche meno col w3c...comunque grazie.

    Quello che sto cercando e' di creare un form che, con determinati parametri prefissati, mi consenta di riempire solo i campi prefissati.

    Hai presente quando inserisci un post su un forum o su un blog? Ecco, avere un form cosi', chiaramente molto piu semplice, ma che non richieda database o altro, ma che lavori in locale.

    Per esempio, fare una pagina html o php col form che in locale richiami una funzione che mi prende quei dati che ho appena scritto sul form e mi genera un html con template predefinito ma col testo, che ho appena cambiato. Non deve nemmeno poter essere in grado di catturare immagini (che credo complicherebbe molto le cose).

    Non so se mi spiego, (disse il paracadute).


  • Bannato User Attivo

    Credo che quello che sto cercando si possa fare solo con php.

    C'e' nessuno che abbia un consiglio?

    Grazie grazzissime grazie


  • Super User

    Fai un form POST,poi:
    [php]<?
    $file=fopen("nome_file.html","a+");
    fwrite($file, "CODICE HTML DELLA PAGINA");
    include("nome_file.html");
    ?>[/php]


  • Bannato User Attivo

    Grazie mille probid,

    ma il php deve funzionare su un server no? non puo funzionare sul desktop... o mi sbaglio?

    Comunque ho provato ma non ci ho chiappato niente.

    Dunque: Ho fatto il form con method post.

    1. che ci metto in ACTION? ed in SUBMIT?
      2)nome_file.html che nome e'? Il nome del file che dovra' essere creato? ed e' il solito per include e fopen?
      3)Al posto di codice html della pagina che ci metto, l'html del template oppure l'html del form? (non credo quest'ultima...)

    Scusa ma sono veramente uno sprovveduto in fatto di PHP (e di altro, ma lasciamo perdere)

    Grazie dell'aiuto dato (e di qeullo che darai....spero.... 🙂 )


  • Super User
    1. <form action="pagina.php" method="POST">
      1b) <input type="submit" value="Invia">
      2)Il nome del file da creare
      3)L'html del template

  • Bannato User Attivo

    Ciao probid e grazie ancora per l'aiuto.

    Ho fatto come mi hai detto, ma quando metto l'html del template come da punto 3 mi si scombina tutto.

    Inoltre non mi hai risposto, forse perche' e' ovvio, ma il php lavora solo su un server, no? Quindi la devo caricare sul mio host questa pagina? E' per questo che non mi funziona?

    Scusa le domand banali, ma per un'inesperto come me niente e' banale...E grazie ancora per l'aiuto!! 😄


  • Super User

    Sì,php funziona solo su server con relativo interprete.
    In che senso "mi si scombina tutto"?
    P.S importante :D: Quando nel html del template devi dichiarare il valore di un campo (es <a href="pagina.php">)
    metti " (es <a href="pagina.php">)


  • User

    puoi usare php anche in locale, installando apache.

    Oppure installi easyphp che installa apache, php e mysql.


  • Bannato User Attivo

    Grazie probid e swenziw ora ci provo....comunque non mi sento molto sicuro del fatto mio...vedremo..

    grazie ancora a tutti e due!! 🙂


  • Bannato User Attivo

    Allora, io non ci capisco piu molto:

    1- Mi sono scaricato easyphp, funziona testato.

    2- Poi ho preso il file php dove ho il form e l'ho rinominato index.php perche' easy php lo trovasse in locale

    Qui di seguito il codice attuale:

    <HTML>
    <HEAD>
    <TITLE>Voucher fatto</TITLE>
    </HEAD>
    
    <BODY>
    
    
    
    
    
    <?
    $file=fopen("voucher.html","a+");
    fwrite($file, "<html>
    <head>
    <title></title
    </head>
    
    <body>
    <table id="frame" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <TD id="header" valign="top" align="right">
    
        <p><h4>Portal To Your Wishes</h4></p>
    
        </div></td>
    </tr>
    </table>
    
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
       <TD id="leftcol" valign="top" align="left">
    
       <h1></h1>
       <p><img src="../HTML_EMAIL/finestra.png"></p>
    
       </div></td><td>&nbsp;&nbsp;</td>
       <TD id="content" valign="top" align="left">
    
       <h2><i>Booking Voucher</i></h2>
       <p><div align="justify">
    
    
    
    Reservation Date: $reservation = $_POST['reservation'];
    
    <br><br>Client Name: $name = $_POST['name'];
    
    <br><br>Client Email:$email = $_POST['email'];
    
    <br><br>Client Country: $country = $_POST['country'];
    
    <br><br>Adults: $adults = $_POST['adults'];
    
    <br><br>Children: $children = $_POST['children'];
    
    <br><br>Nights Total: $nights = $_POST['nights'];
    
    <br><br>Structure: $structure = $_POST['structure'];
    
    <br><br>Arrival Date: $checkin = $_POST['checkin'];
    
    <br><br>Time of Arrival: between 4 p.m. and 8,00 p.m.
    
    <br><br>Departure Date: $checkout = $_POST['checkout'];
    
    <br><br>Time of Departure: Not later than 10 a.m.
    
    
    
    </div></p>
    
       </div></td>
       <TD id="rightcol" valign="top" align="left">
    
    
       </div></td>
    </tr>
    </table>
    
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
       <TD id="footer" align="center" valign="middle">
       <p></p>
       </div></td>
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    
    </body>
    </html>");
    include("voucher.html");
    ?> 
    
    
    
    
    
    
    
    
    
    
    
    
    
    </BODY>
    </HTML>
    

    3- Poi ho creato un altro file php chiamato submit_custom.php il cui codice posto di seguito

    <HTML>
    <HEAD>
    <TITLE>Voucher fatto</TITLE>
    </HEAD>
    
    <BODY>
    
    
    
    
    
    <?
    $file=fopen("voucher.html","a+");
    fwrite($file, "<html>
    <head>
    <title></title
    </head>
    
    <body>
    <table id="frame" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <TD id="header" valign="top" align="right">
    
        <p><h4>Portal To Your Wishes</h4></p>
    
        </div></td>
    </tr>
    </table>
    
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
       <TD id="leftcol" valign="top" align="left">
    
       <h1></h1>
       <p><img src="../HTML_EMAIL/finestra.png"></p>
    
       </div></td><td>&nbsp;&nbsp;</td>
       <TD id="content" valign="top" align="left">
    
       <h2><i>Booking Voucher</i></h2>
       <p><div align="justify">
    
    
    
    Reservation Date: $reservation = $_POST['reservation'];
    
    <br><br>Client Name: $name = $_POST['name'];
    
    <br><br>Client Email:$email = $_POST['email'];
    
    <br><br>Client Country: $country = $_POST['country'];
    
    <br><br>Adults: $adults = $_POST['adults'];
    
    <br><br>Children: $children = $_POST['children'];
    
    <br><br>Nights Total: $nights = $_POST['nights'];
    
    <br><br>Structure: $structure = $_POST['structure'];
    
    <br><br>Arrival Date: $checkin = $_POST['checkin'];
    
    <br><br>Time of Arrival: between 4 p.m. and 8,00 p.m.
    
    <br><br>Departure Date: $checkout = $_POST['checkout'];
    
    <br><br>Time of Departure: Not later than 10 a.m.
    
    
    
    </div></p>
    
       </div></td>
       <TD id="rightcol" valign="top" align="left">
    
    
       </div></td>
    </tr>
    </table>
    
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    <tr>
       <TD id="footer" align="center" valign="middle">
       <p></p>
       </div></td>
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    
    </body>
    </html>");
    include("voucher.html");
    ?> 
    
    
    
    
    
    
    
    
    
    
    
    
    
    </BODY>
    </HTML>
    

    Come vedrete qui c'ho messo l' HTML dove probid mi aveva detto, che pero' non funziona come l'ho messo io. Quando lo testo il form cerca di aprire il file submit_custom.php ma mi da questo errore di codice:
    "Parse error: parse error in c:\program files\easyphp1-8\www\submit_custom.php on line 20"

    Dove sbaglio? Lo metto bene l'html? Ed i vari campi?

    Scusate ma mi sento in alto mare e non so dove andare. Grazie ancora dell'aiuto.

    PS: probid mi faresti un esempio su come mettere l'html? Sono un po impedito... 🙂


  • User

    tutti i file che devi vedere in locale vanno messi in c:dove hai installato easyphp/easyphp/www

    per caricarli, esegui easyphp, apache deve essere attivo.
    apri il browser e nella barra degli indirizzi scrivi:
    localhost/nome file o nome cartella, in base a quello che hai messo in www.
    non usare spazi nei nomi di file o cartelle


  • Super User

    Devi sostituire tutti i "" nel codice con " "
    es.
    table id="frame" border="0" cellspacing="0" cellpadding="0">


  • Bannato User Attivo

    Grazie ancora probid e swenziw..ho fatto esattamente come mi avete detto...adesso arriva alla linea 49 e mi da un altro pars error:
    "Parse error: parse error, expecting T_STRING' or T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\submit_custom.php on line 49"

    Alla linea 49 si trova questo "Reservation Date: $reservation = $_POST['reservation'];"

    Il codice del form non lo riposto che non e' cambiato

    Il codice della pagina che dovrebbe creare il file lo riposto:

    <HTML>
    <HEAD>
    <TITLE>Voucher fatto</TITLE>
    </HEAD>
    
    <BODY>
    
    
    
    
    
    <?
    $file=fopen("voucher.html","a+");
    fwrite($file, "<html>
    <head>
    <title></title
    </head>
    
    <body>
    <table id=\"frame\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
    <td>
    
    <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
        <TD id=\"header\" valign=\"top\" align=\"right\">
    
        <p><h4>Portal To Your Wishes</h4></p>
    
        </div></td>
    </tr>
    </table>
    
    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
    <tr>
       <TD id=\"leftcol\" valign=\"top\" align=\"left\">
    
       <h1></h1>
       <p><img src=\"../HTML_EMAIL/finestra.png\"></p>
    
       </div></td><td>&nbsp;&nbsp;</td>
       <TD id=\"content\" valign=\"top\" align=\"left\">
    
       <h2><i>Booking Voucher</i></h2>
       <p><div align=\"justify\">
    
    
    
    Reservation Date: $reservation = $_POST['reservation'];
    
    <br><br>Client Name: $name = $_POST['name'];
    
    <br><br>Client Email:$email = $_POST['email'];
    
    <br><br>Client Country: $country = $_POST['country'];
    
    <br><br>Adults: $adults = $_POST['adults'];
    
    <br><br>Children: $children = $_POST['children'];
    
    <br><br>Nights Total: $nights = $_POST['nights'];
    
    <br><br>Structure: $structure = $_POST['structure'];
    
    <br><br>Arrival Date: $checkin = $_POST['checkin'];
    
    <br><br>Time of Arrival: between 4 p.m. and 8,00 p.m.
    
    <br><br>Departure Date: $checkout = $_POST['checkout'];
    
    <br><br>Time of Departure: Not later than 10 a.m.
    
    
    
    </div></p>
    
       </div></td>
       <TD id=\"rightcol\" valign=\"top\" align=\"left\">
    
    
       </div></td>
    </tr>
    </table>
    
    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
    <tr>
       <TD id=\"footer\" align=\"center\" valign=\"middle\">
       <p></p>
       </div></td>
    </tr>
    </table>
    
    </td>
    </tr>
    </table>
    
    </body>
    </html>");
    include("voucher.html");
    ?> 
    
    
    
    
    
    
    
    
    
    
    
    
    
    </BODY>
    </HTML>
    

    "Nonna nonna! M'hanno fatto er buono!! Ma che vor di'?"
    "eh, vor di che te la se' presa n'der culo!"

    Ecco io mi sento come se m'avessero fatto er buono...

    Ma non e' che mi ci vuole un "echo" da qualche parte? No perche' se tolgo lo script dove ci sono i POST (peccato sia la parte importante) funziona benissimo, crea il file per bene e tutto...

    Grazie dell'aiuto... ancora :ciauz:


  • Bannato User Attivo

    Cio' riprovato in tutte le salse....sono andato su tremila forum... ma niente!

    Un consiglio piu'?

    Grazie !


  • User

    Conviene mettere dei 'fermi' al codice. Prova a usare degli echo a partire dalla riga 49: penso che ti sarà più facile individuare l'errore. Che poi non è detto che l'errore sia proprio lì in quella, potrebbe anche essersi verificato a monte.

    Valeria


  • Bannato User Attivo

    Ciao Valeria,

    grazie della risposta. Non so se ti sei letta il post dall'inizio, ma purtroppo so ben poco di php (0,0001 in una scala da 1 a 100) e quando ho parlato di echo nel post precedente l'ho buttata un po la', ma non so davvero come usare gli echo.

    Il problema a monte. Be' vorrei sapere dove, visto che senza quel blocco di codice post funziona. cosa intendi? Nella pagina del form? Nel database?

    So che forse questa e' una cosa un po' troppo complessa per avere aiuto serio gratis, ma altrimenti non so davvero dove sbattere la testa. Andrei tanto volentieri avanti da solo, ma avendo zero sapere di php mi trovo a vicoli cechi ovunque..

    Grazie comunque dell'aiuto. :ciauz:


  • Bannato User Attivo

    OOOOOOOOOOOOOOOO ma insomma neanche una persona che mi aiutiiiiiiiiii


  • Super User

    Ciao Lord Baron, 🙂
    mi stupisco personalmente, da parte di un utente con la tua esperienza, di un post con un contenuto simile a

    OOOOOOOOOOOOOOOO ma insomma neanche una persona che mi aiutiiiiiiiiii

    Che non è propriamente in linea con il regolamento che tu stesso avrai sicuramente letto comprensivo sui consigli per endere il post efficace
    Anche perchè arrivati ad un punto morto, in questo modo anche chi avesse capito il problema (mi scuserai ma io non sono tra quelli, visto che a mio avviso le informazioni che i colleghi forumisti ti hanno dato risolvevano appieno il problema) non si sentirebbe a mio avviso invogliato a condividere le sue esperienze (scopo del ForumGT).

    Ovvero. In merito al tuo problema mi sembra che tu non solo non conosca la risposta (cosa plausibile, siamo qui anche per questo) ma nemmeno la domanda.

    Ciao


  • Bannato User Attivo

    Veramente se leggi i post fatti in precedenza da chi mi ha molto gentilmente aiutato e portato vicino alla soluzione sembra che la domanda si capisca benissimo.

    E come la dovrei spiegare, piu' che postare il codice con le modifiche suggerite da altri forumisti competenti?

    Io se una cosa non la so la chiedo. Venividi ha fatto un intervento sibillino (per me) per il quale ho chiesto approfondimento.

    Vedi, se invece di farmi leggere il regolamento su come si posta cercassi di capire quello di cui ho necessita' come forumista ed aiutare invece di buttare giu', magari in futuro chi si trovera' nello stesso problema mio fara' tesoro di questo mio piccolo calvario. Sai quanti post vacui che hanno contribuito alla morte di possibilmente interessantissimi thread ho trovato? a migliaia solo su GT. E sai cosa mi hanno fatto? PERDERE TEMPO!!

    Come moderatore dovresti anche incitare chi si prende la responsabilita' di aiutare di farlo fino in fondo. Mi dispiace dirlo, ma se uno ti aiuta volontariamente ma a meta', meglio non aiuti affatto. Questa non e' una critica a chi mi ha aiutato fino ad ora, ma a cio' che hai detto in quanto limita gli spazi ed il potenziale del forum.

    In verita', mi stupisco che queste parole vengano da un moderatore.

    Comunque come moderatore, se vuoi, sposta pure il thread in offtopic, che tanto mi sembra dalla piega del tuo post di questo thread non sai che farci nel la sezione dedicata al php, e siccome nessun altro sarebbe adatto OT e' il miglior posto.

    Grazie. Ciao.