Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1

    Creazione pagina da variabile

    Ciao a tutti.

    Spero in un vostro aiuto. Grazie.

    Il mio "problema" è il seguente: partendo da una pagina html con un form, raccolgo delle variabili:

    codice:
    <form id="form1" name="form1" method="post" action="croce-reit.php">
    <label for="nome">Nome</label>
    <input type="text" name="nome" id="nome" />
    
    <label for="titolo">Titolo</label>
    <input type="text" name="titolo" id="titolo" />
    <input type="submit" name="invia" id="invia" value="Invia" />
    </form>
    ..queste varianti sono usate dalla pagina seuccessiva (in php) che contiene una normalissima struttura html, in più utilizza le 2 varianti precedentemente raccolte.

    In pratica, la pagina php è:

    codice:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Pagina PHP</title>
    
    <?php 
    $titolo= $_POST['titolo'];
    $nome= $_POST['nome']; 
    ?>
    
    </head>
    
    <body>
    <h1><?php echo $titolo; ?></h1>
    
    
    Inserito da: <?php echo $nome; ?></p>
    </body>
    </html>
    Fino a questo punto, nessun problema. La pagina viene mostrata correttamente, con i dati corretti.

    Il mio problema-domanda è sapere se è possibile creare una pagina statica (html) automaticamente, con i dati inseriti dall'utente. Esempio, l'utente inserisce le due variabili nel form, (nome e titolo), invia il form e automaticamente lo script, oltre a visualizzare la pagina php con i dati, mi crea una pagina html che dovrebbe essere, tipo:

    Nome: Davide |
    Titolo: Ciao | -Dati inseriti dall'utente;

    Il server mi mostra la pagina php, con i dati e allo stesso tempo "crea" una pagina html:

    codice:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Pagina HTML</title>
    
    </head>
    
    <body>
    <h1>Ciao</h1>
    
    
    Inserito da: Davide</p>
    </body>
    </html>
    Il nome della pagina html creata potrebbe avere come variante, il titolo.

    Spero di essere stato ,abbastaza, chiaro.

    Grazie ancora.

    Davide

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    A parte il fatto che sta cosa mi puzza di vulnerabile. Pensa a uno che si mette a scrivere codice JS nei campi, ti ritroverai ben presto il sito con trojan autoinstallanti.. Dovrai fare un'oculato controllo su cosa hai in input per evitare problemi di sicurezza.

    Al di là di questo

    Secondo me ti conviene seguire questi passi

    1) Ti crei un template HTML fatto così

    codice:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Pagina PHP</title>
    </head>
    <body>
    <h1>{titolo}</h1>
    
    
    Inserito da: {nome}</p>
    </body>
    </html>
    Notare che ci sono dei segnaposto e che non c'è codice PHP

    2) Apri il template HTML e lo conservi in una variabile stringa

    Codice PHP:
    $tpl file_get_contents("template.html"); 
    3) Fai le opportune sostituzioni

    Codice PHP:
    $page preg_replace("[{titolo}]", (string)$titolo$tpl);
    $page preg_replace("[{nome}]", (string)$nome$tpl); 
    4) Salvi il file su disco

    Codice PHP:
    $file fopen("pagina.html"'w');
    fwrite($file$page);
    fclose($file); 
    5) Visualizzi la pagina a video

    Codice PHP:
    echo $page
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    In serata provo. Grazie per la disponibilità.

    Buona serata.

  4. #4
    Ti ringrazio ma, purtroppo, non funziona. Ho fatto delle prove ma, purtroppo la pagina viene generata senza le varianti.

  5. #5
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    ci sarà qualche errore. posta il codice completo
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  6. #6
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Modifica così
    Codice PHP:
    $page preg_replace("{titolo}", (string)$titolo$tpl); 
    $page preg_replace("{nome}", (string)$nome$tpl); 

  7. #7
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    nella seconda riga sostituire $tpl con $page

    Codice PHP:
    $page preg_replace("{titolo}", (string)$titolo$tpl);  
    $page preg_replace("{nome}", (string)$nome$page); 
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  8. #8
    Ri-grazie ad entrambi. Purtroppo non funziona ancora.

    Posto il codice:

    Il codice della pagina dove c'è il form è sempre lo stesso del primo post.

    [template.html]

    codice:
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Pagina PHP</title> 
    </head>
    <body>
    <h1>{titolo}</h1>
    
    
    Inserito da: {nome}</p>
    </body>
    </html>
    [ricevodatiecreopaginahtml.php]

    codice:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Pagina PHP</title>
    
    <?php  
    $titolo= $_POST['titolo']; 
    $nome= $_POST['nome'];  
    ?>
    
    <?php
    $tpl = file_get_contents("template.html"); 
    ?>
    
    <?php 
    $page = preg_replace("{titolo}", (string)$titolo, $tpl);  
    $page = preg_replace("{nome}", (string)$nome, $page);
    ?>
    
    <?php
    $file = fopen("pagina.html", 'w');
    fwrite($file, $page);
    fclose($file);
    ?>
    
    </head>
    <body>
    <h1><?php echo $titolo; ?></h1>
    
    
    Inserito da: <?php echo $nome; ?></p>
    </body>
    </html>
    La "pagina.html" viene creata senza alcuna variante, cioè, non prende nome esempio dalla variante "titolo", il risultato della "pagina.html" è questo:

    codice:
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Pagina PHP</title>
    </head>
    <body>
    <h1>{}</h1>
    
    
    Inserito da: {}</p>
    </body>
    </html>
    Di nuovo grazie. Scusatemi se vi faccio perdere del tempo prezioso.

  9. #9
    Utente di HTML.it L'avatar di kakashi
    Registrato dal
    Feb 2005
    Messaggi
    357
    Codice PHP:
    <?php  
    $titolo
    $_POST['titolo']; 
    $nome$_POST['nome'];  

    $tpl file_get_contents("template.html"); 

    $page preg_replace("{titolo}"$titolo$tpl);  
    $page preg_replace("{nome}"$nome$page);

    $file fopen("pagina.html"'w');
    fwrite($file$page);
    fclose($file);
    ?>

  10. #10
    L'estate mi ha rubato il cervello

    Ho modificato in questo modo: $file = fopen("$titolo.html", 'w'); per ottenere la "pagina.html" con il nome della variabile $titolo - Per il resto, tutto merito vostro.

    Scusate per la figuraccia

    Grazie ! Buona giornata.

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