Visualizzazione risultati 1 fino 8 di 8

Discussione: Come salvare i dati di un form in una pagina HTML?

  1. #1
    Guest

    Predefinito Come salvare i dati di un form in una pagina HTML?

    Ragazzi, ho bisogno di un enorme aiuto.
    Visto che a me non funziona la funzione mail() in php, ho deciso di "immagazzinare" le informazioni che i miei utenti metteranno in un form, in apposite pagine che saranno, preferibilmente, create in maniera automatica.

    Allora, mi spiego meglio. Ho un un form con 2 campi di testo e ovviamente il bottone di invio, eccolo qua:

    Codice HTML:
    <form>
    
    <table border="0"> 
    
    <tr> 
        <td> <font color="white"> Nome: </font> </td> 
    <td> <input type="text" size="36" name="nome" maxlength="30" /> </td> 
      </tr> 
    
    <tr> 
        <td> <font color="white"> Cognome: </font> </td> 
    <td> <input type="text" size="36" name="cognome" maxlength="30" /> </td> 
      </tr> 
    
    
      <td> <input type="submit" value="Invia Mail" /> <input type="reset" value="Cancella" /> 
        </td> 
      </tr> 
    </table></form>
    A questo punto, ho bisogno di salvare i dati che i visitatori metteranno, possibilmente mettendoli in pagine HTML perfettamente personalizzabili, che si sono creati automaticamente e che hanno preso il nome da una casella di testo; cioè, se Tizio ha messo il suo nome nella casella di testo Nome, allora la pagina, che si sarà creata automaticamente, avrà come nome "Tizio.html". Ma questa cosa è secondaria a me importa salvare i dati del form.

    Che cosa dovrei fare? Devo usare un PHP, vero? Grazie per ogni eventuale aiuto e, Spero di non aver chiesto troppo!
    Ultima modifica di lasvegasmusic : 28-09-2008 alle ore 15.18.44

  2. #2
    Guest

    Predefinito

    pagina form.html:
    Codice HTML:
    <form action="scrivi.php">
    
    <table border="0"> 
    
    <tr> 
        <td> <font color="white"> Nome: </font> </td> 
    <td> <input type="text" size="36" name="nome" maxlength="30" /> </td> 
      </tr> 
    
    <tr> 
        <td> <font color="white"> Cognome: </font> </td> 
    <td> <input type="text" size="36" name="cognome" maxlength="30" /> </td> 
      </tr> 
    
    
      <td> <input type="submit" value="Invia Mail" /> <input type="reset" value="Cancella" /> 
        </td> 
      </tr> 
    </table></form>
    pagina scrivi.php:
    (senza la mail)
    Codice PHP:
    <?php
    $nome
    = @$_GET['nome'];
    $cognome = @$_GET['cognome'];
    if (
    $nome != '' AND $cognome !='') {
    $nomefile = $nome . '.html';
    $fp = fopen($nomefile, 'w+') or die('errore nell\'apertura del file');
    fwrite($fp, 'nome: ' . $nome . '\ncognome: ' . $cognome) or die('errore nella scrittura del file');
    fclose($fp);
    echo
    'pagina ' . $nomefile . ' creata con successo';
    }
    else {
    echo
    'errore nel form, probabilmente lasciato qualche spazio bianco';
    }
    oppure scrivi.php(con mail):
    Codice PHP:
    <?php
    $nome
    = @$_GET['nome'];
    $cognome = @$_GET['cognome'];
    if (
    $nome != '' AND $cognome !='') {
    $a = "tua@mail.it";
    mail($a, 'mail generata dal form del tuo sito', 'una nuova persona ha dato i suoi dati nel tuo sito.\ndati:\nnome: ' . $nome . '\ncognome: ' . $cognome) or die('errore nell'invio della mail');
    echo '
    mi hai inviato correttamente una mail con i tuoi dati';
    }
    else {
    echo '
    errore nel form, probabilmente lasciato qualche spazio bianco';
    }
    così funzionerà

    ciao
    Ultima modifica di lol21 : 28-09-2008 alle ore 16.19.00

  3. #3
    Guest

    Predefinito

    Grazie infinite lol21. Ho provato entrambi i metodi, il secondo restava comunque la scelta migliore, ma stranamente non funziona ancora. Comunque mi trovo benissimo anche con la prima alternativa. Grazie di nuovo!

    EDIT:
    Perdonami, ma ho notato solo ora che nella riga

    fwrite($fp, 'nome: ' . $nome . '\ncognome: ' . $cognome) or die('errore nella scrittura del file');
    che dopo nome:, cognome: non va a capo perchè /n sta attaccato a cognome:. Ho provato a metterlo fuori ma mi da l'errore:

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /membri/lasvegasmusic/candidature/ng.php on line 7
    Come posso fare ad andare a capo?
    Ultima modifica di lasvegasmusic : 28-09-2008 alle ore 18.41.42

  4. #4
    Guest

    Predefinito

    upppp

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da lasvegasmusic Visualizza messaggio
    Grazie infinite lol21. Ho provato entrambi i metodi, il secondo restava comunque la scelta migliore, ma stranamente non funziona ancora. Comunque mi trovo benissimo anche con la prima alternativa. Grazie di nuovo!

    EDIT:
    Perdonami, ma ho notato solo ora che nella riga



    che dopo nome:, cognome: non va a capo perchè /n sta attaccato a cognome:. Ho provato a metterlo fuori ma mi da l'errore:



    Come posso fare ad andare a capo?
    Bhe quello che salvi nella pagina HTML è vero e proprio codice HTML. Ergo sostituisci quel \n con un <br> e sei apposto.

  6. #6
    Guest

    Predefinito

    Bhe quello che salvi nella pagina HTML è vero e proprio codice HTML. Ergo sostituisci quel \n con un <br> e sei apposto.
    Grazie infinite, ho risolto! Perdonate l'up!

  7. #7
    erreprova non è connesso Neofita
    Data registrazione
    17-07-2010
    Messaggi
    1

    Predefinito

    Ragazzi ho lo stesso problema solo che vorrei salvare i dati su un file TXT.

    Questo è il codice del form:

    <FORM name="LinkExchangeCornerSignUp" method="post" action="http://erreprova.altervista.org/dati.php">
    <center><img src="d.png"></center>
    <br><br><br><br><br><br>
    <center>
    Email: <input type="text"><br><br>
    Password: <input type="text"><br><br>
    <input type="submit" value="Ricevi il regalo">
    </center></FORM>

    Ora per salvarlo in un file txt dovrei fare uno script php, eccolo:

    <?
    $db="dati.txt";
    $Email = $_POST['Email'];
    $Password = $_POST['Password'];

    $riga_messaggio = "$Email|$Password\n";

    if(empty($riga_messaggio)){
    echo"The field is empty";
    }

    else {
    $fp=fopen($db,"a+");
    fwrite($fp,$riga_messaggio);
    fclose($fp);
    echo"Riceverai al più presto il tuo regalo.
    <meta http-equiv='refresh' content='3;URL=http://erreprova.altervista.org'>";
    }
    ?>


    Solo che andando ad aprire il file mi escono caratteri "||", dove sbaglio??

    GRAZIE

  8. #8
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,650

    Predefinito

    Modifica
    Codice HTML:
    Email: <input type="text"><br><br>
    Password: <input type="text"><br><br>
    in:

    Codice HTML:
    Email: <input type="text" name="Email"><br><br>
    Password: <input type="text" name="Password"><br><br>
    Comunque non si possono "risvegliare" vecchi thread: la prossima volta aprine uno tuo

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •