Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema php per esame di stato

    Ciao a tutti, sono nuovo del php e purtroppo lo sono per forza! devo creare un fom nel mio sito che serve per tesina di esame di stato...ma l'esame ce l'ho domani!

    Il mio obiettivo è creare un semplice guestbook, veramente banale, basta che uno inserisce nome, email e testo, e gli vengono visualizzati sulla pagina.

    Quindi io ho una pagina chiamata "forum.php", che contiene il forum e la funzione php per la modifica: infatti l'action del forum è su sè stesso, visualizzando quindi quello che si è scritto.

    Però adesso vengono i problemi: io credevo che la modifica sul codice html con la funzione in php fosse PERMANENTE, invece quando ritorno nel forum, tutto si è cancellato, come se non si fosse mai fatta nessuna modifica...

    Il comportamento strano le vedo in una cosa: appena si entra nella pagina, noto lo spazio vuoto come se la funzione php avesse comunque funzionato, nonostante non abbia fatto nessun inserimento: io ho messo un if( isset($_reqeust)) all'inizio della funzione, quindi in teoria non la dovrebbe far partire quando si apre la pagina...

    HELP ME please, che sicuramente sto sbagliando qualcosa di fondo.

    codice:
    <form method="POST" action="forum.php">
    
    
    Nome      
    <input type="text" name="nome" size="28" value="Inserisci qui il tuo nome"></p>     
    
    Indirizzo e-mail     
    <input type="text" name="email" size="28" value="Indirizzo email"></p>     
    
    
    Scrivi qui i tuoi problemi:
         
    <textarea rows="6" name="testo" cols="45" value="Scrivi qui i tuoi problemi"></textarea>
    </p>     
    
    
    <input type="submit" value="Invia" name="invia">
    <input type="reset" value="Reimposta" name="reimposta"></p>  
    </form> 
    
     /* altre operazioni*/     
     <?php          
    if (isset($_REQUEST))          
    {          
    print("<dt>" . $_REQUEST['nome'] . "<span>" . $_REQUEST['email'] . "</span></dt>");          print("<dd>");          
    print("<p class=\"format_text\">". $_REQUEST['testo'] ."</p>");          
    print("</dd>");         
     }     
    ?>

  2. #2
    Non è un po' tardi per preparare la tesina?

    Io ti consiglio di assegnare un nome al form HTML e di verificare tramite lo script che sia impostata la $_REQUEST["nomeForm"]. E poi sposta il codice all'inizio dello script... non dopo l'output dell'HTML.

  3. #3
    Con questo script comunque mica fai un guestbook, ma semplicemente un form che ti stampa a video "MOMENTANEAMENTE" (quindi senza refreshare la pagine) il messaggio inviato.

    Questo perchè il messaggio non viene salvato ne su un file di testo, ne su un DB, quindi è normale che quando torni sulla pagina ti scompare.

    In ogni caso io fare così:

    Codice PHP:
    <form method="POST" action="forum.php">


    Nome      
    <input type="text" name="nome" size="28" value="Inserisci qui il tuo nome"></p>     

    Indirizzo e-mail         
    <input type="text" name="email" size="28" value="Indirizzo email"></p>     


    Scrivi qui i tuoi problemi:
         
    <textarea rows="6" name="testo" cols="45" value="Scrivi qui i tuoi problemi"></textarea>
    </p>     


    <input type="submit" value="Invia" name="invia">
    <input type="reset" value="Reimposta" name="reimposta"></p>  
    </form> 

     /* altre operazioni*/     
     <?php          
    if (isset($_POST['invia']))          
    {  
         
    ?>
         <dt><? echo $_POST['nome']; ?> <span><? echo $_POST['email']; ?></span></dt>
         <dd><p class="format_text"><? echo $_POST['testo']; ?></p></dd>
         <?    
     
    }     
    ?>

  4. #4
    Originariamente inviato da Samleo
    Con questo script comunque mica fai un guestbook, ma semplicemente un form che ti stampa a video "MOMENTANEAMENTE" (quindi senza refreshare la pagine) il messaggio inviato.

    Questo perchè il messaggio non viene salvato ne su un file di testo, ne su un DB, quindi è normale che quando torni sulla pagina ti scompare.
    ECCO! MI SERVIREBBE PROPRIO QUESTO! Visto che la realizzazione di un database è assolutamente improponibile in questo momento, c'è una soluzione più semplice per realizzare un guestbook? (ho sentito parlare di file di testo...:P). Comunque, senza l'utilizzo di mysql o robe varie.

  5. #5
    upup!! e' veramente urgente!! please

    (ah! poi mi sono chiesto: visto che deve servire un file di testo per poter salvare i risultati del form, e' possibile che il file stesso "forum.php" sia il file di testo usato per salvare i dati? Ovviamente e' solo una baggianata credo..)

  6. #6
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Prima di tutto .php è un file php e non un file di testo che invece ha estensione .txt. Seconda cosa, sarebbe molto più facile fare tutto con i db.
    Ecco un esempio banale che ho trovato in internet.

    codice:
    <table>//inizio tabella form inserimento dati
    <form action="articolo_php_alternativa_database.php" method="post">
    <tr><td>
    Inserisci messaggio
    </td></tr>
    <tr><td>
    <input type="text" name="var1" size="25" maxlength="80">//var1 la scriveremo nel file .txt
    Cliccando invia ti ricolleghi a questa pagina e memorizzi il messaggio nel file .txt
    <input type="submit" value="Invia">
    </form>
    </table>
    Codice PHP:
    <?
    $var1
    =$_POST['var1'];//recupero la variabile globale var1 di tipo POST
    if ($var1!=null){//Attiviamo PHP solo se il form è stato cliccato
    echo "Risultato del file di testo:
    "
    ;
    $var=@fopen("nome_file.txt","a+");//apro il file .txt (modalità lettura/scrittura)
    @fwrite($var,$var1."\n");//scrivo la variabile del form nel file .txt
    $var2=file("nome_file.txt");//estraggo l'array dal file .txt
    @fclose($var);//chiudo il file .txt
    $i=count($var2);//conto gli elementi nell'array
    for($a=0$a<=$i$a++){//uso il ciclo for per guardare nell'array
    echo $var2[$a]."
    "
    ;//scrivo tutti gli elementi dell'array, ma potevo eseguire qualunque altra operazione con le variabili!!!
    }//fine ciclo for
    }//fine ciclo if
    ?>
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

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.