• User Newbie

    Modifica di un file html dopo invio dati da un form tramite file PHP

    Ciao,:gthi: dunque non so se riuscirò a farmi capire, ci provo, avrei bisogno di un aiutino nel senso, che o creato un piccolo form in html che trasmette ad una casella di posta elettronica, dati come il NOME,l'email della persona che lo compila.

    es:

    <form action="php/invio.php" method="POST">
    <input type="text" name="Nome" placeholder="Il tuo Nome" style="background-color:#E0FFFF; color:#000000; border:#000000 1px solid; padding:5px; font-size:7pt; width:275px; height:20px;">

    <input type="text" name="email" placeholder="La Tua E-Mail" style="background-color:#E0FFFF; color:#000000; border:#000000 1px solid; padding:5px; font-size:7pt; width:275px; height:20px;">

    <br>

    <input type="submit" value="Conferma" class="buttonform">

    </form>

    I dati arrivano senza problemi nella** casella di posta predefinita, presente nel file PHP** (Invio.php) e automaticamente visualizza alla persona che lo a compilato un file** HTML (tipo visualizzacodice.html)** che contiene un codice numerico tipo : 3456789, questa persona, utilizzando questo codice può accedere compilando un'altro modulo (che vedete qui sotto) ad un'ulteriore pagina Html.

    es:

    <form action="php/codice.php" method="POST">

    <input type="text" name="codice" placeholder="Inserisci il Codice" style="background-color:#E0FFFF; color:#000000; border:#000000 1px solid; padding:5px; font-size:7pt; width:275px; height:20px;">

    <br><br>

    <input type="submit" value="Conferma" class="buttonform">

    </form>

    Ora il problema che mi si pone e questo: :mmm: La persona che a questo codice lo utilizza ed entra in una pagina dove può diciamo in privato messaggiare con un'altra persona, vorrei che una volta che il codice viene utilizzato la prima volta, non fosse, in automatico più visualizzabile , da un'altro utente che magari vuole entrare anche lui nella stessa pagina, modificando il file visualizzacodice.html (**magari inserendo in automatico al posto del codice numerico, un messaggio del tipo al momento il codice e utilizzato da altra persona, non puoi accedere **) questo per permettere alle due persone collegate, di discutere solamente fra di loro. Poi successivamente, sarei io a ripristinare il file Visualizzacodice.html anche manualmente.

    si lo so sono :bho: anche un po contorto nelle mie richieste, comunque se qualcuno sa darmi qualche spunto per risolvere...(sempre che abbia capito cosa mi serve, ma questo e colpa mia ..non mi spiego sempre bene :smile5:) ringrazio anticipatamente per qualsiasi aiutino.

    Saluti


  • Community Manager

    Provo a spostarti in PHP...non è che hai risolto?


  • Moderatore

    Ciao mel1 e benvenuto,
    dunque, se ho compreso la richiesta, vorresti che l'utente in questione abbia di volta in volta un codice univoco per accedere e dialogare/messaggiare con qualcun'altro.
    Provo a darti un paio di soluzioni.
    Per prima cosa, il file visualizza codice, non può essere in html, perchè a quel punto il codice per essere dinamico, necessita di una pagina in php. Chiarito questo concetto passiamo alle soluzioni.
    Hai la necessita di generare il codice al volo utilizzando PHP all'interno del file che esegui dopo la prima form. Una funzione per generare il codice può essere una cosa simile:
    [PHP]

    <?php
    function createPassword() {
    	
    	$pass_lenght = 20; //questo è il valore di lunghezza caratteri. Modificando questo parametro puoi definire quanti caratteri utilizzare.
    	$password = '';
    	for( $i = 1; $i<= $pass_lenght; $i++ ) {
    		if( $i % 2 ) {
    			$password .= chr( rand( 97,122 ) );
    		} else {
    			$password .= rand(0,9);
    		}
    	}
     
    	return $password;
    }
    $codice = createPassword();
    

    [/PHP]
    Creato il codice hai 2 strade.
    O registri il dato in un database e al momento del login, lo elimini, così che può essere utilizzato una sola volta.
    Oppure, registri un cookie ed al login lo elimini.
    Il concetto è il medesimo, le strade sono diverse.
    Personalmente, registrerei i dati in un DB, ma ovviamente le procedure da creare sono molteplici e più complesse.
    Fammi sapere.