Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 45

Discussione: Database con un file di testo

  1. #1
    Guest

    Predefinito Database con un file di testo

    Buongiorno a tutti,
    ho trovato in rete un codice php che permette di memorizzare in un TXT le frasi scritte in un apposito campo.
    Volevo sapere se qualcuno è in grado di aiutarmi a modificare questo codice in modo che nella pagina non compaia il campo dove inserire il testo ma solo la data e l'ora.
    Con il clik sul bottone quindi si memorizzarà solo la data e l'ora.
    Il codice è questo
    Codice PHP:
    <table>TEST 01
    <form action="test01.php" method="post">
    <tr><td>
    Data e Ora
    </td></tr>
    <tr><td>
    <input type="text" name="var1" size="25" maxlength="80">
    Procedi con la
    <input type="submit" value="INVIA">
    </form>
    </table>

    <?
    $var1
    =$_POST['var1'];

    if (
    $var1!=null){
    echo
    "Messaggi memorizzati:<br>";
    $var=@fopen("data.txt","a+");
    @
    fwrite($var,$var1."\n");
    $var2=file("data.txt");
    @
    fclose($var);
    $i=count($var2);
    for(
    $a=0; $a<=$i; $a++){
    echo
    $var2[$a]."<br>";
    }
    //fine ciclo for
    }//fine ciclo if
    ?>
    Spero di essere stato chiaro

    Grazie 1000

  2. #2
    Guest

    Predefinito

    Codice PHP:
    <?php
    if(isset($_POST["data"])) {
    $fp = fopen("data.txt", "a");
    fwrite($fp, $_POST["data"] . "\n");
    fclose($fp);
    foreach(
    file("data.txt") as $f) {
    eho $f . "<br />";
    }
    }
    ?>

    <table>TEST 01
    <form action="test01.php" method="post">
    <tr>
    <td>Data e Ora:</td><td><input type="text" name="data"></td>
    </tr>
    <tr>
    <td><input type="submit" value="INVIA"></td>
    </tr>
    </form>
    </table>
    La data deve essere inserita dall'utente?
    Ultima modifica di nokiagames : 04-09-2009 alle ore 17.31.57

  3. #3
    Guest

    Predefinito

    Ciao!

    No, la data e l'ora che vengono visualizzate devono essere "presi" dall'orologio del PC dell'utente o meglio ancora dal server, in modo che se l'utente ha l'ora non sincronizzata i dati registrati non sia sballati.

    Grazie

  4. #4
    Guest

    Predefinito

    Ok, allora:

    Codice PHP:
    <?php
    if(isset($_POST["data"])) {
    $fp = fopen("data.txt", "a");
    fwrite($fp, time() . "\n");
    fclose($fp);
    foreach(
    file("data.txt") as $f) {
    eho date("d/m/y", intval($f));
    }
    }
    ?>

    <table>TEST 01
    <form action="test01.php" method="post">
    <tr>
    <td><input type="submit" value="Salva Data" name="data"></td>
    </tr>
    </form>
    </table>

  5. #5
    Guest

    Predefinito

    Buonasera,
    ho copiato ed incollato il codice, salvato in .php.

    Ma quando tento di visualizzare la pagina mi da questo errore :

    Parse error: syntax error, unexpected T_STRING in /membri/tvvalli/test01.php on line 7

    Sai dirmi cosa sbaglio?

    Grazie

  6. #6
    Guest

    Predefinito

    Sostituisci:
    Codice PHP:
    eho date("d/m/y", intval($f));
    con
    Codice PHP:
    echo date("d/m/y", intval($f));

  7. #7
    Guest

    Predefinito

    Grazie, il codice funziona, solo un'ultimo aiuto...^_^

    Premendo "salva data", ad esempio 2 volte si ottiene questo risultato : 04/09/0904/09/09

    è invece possibile ottenere questo :

    04/09/09

    04/09/09

    Con ogni click la data viene "registrata" sempre sotto di una riga e non di fila.

    Grazie per la pazienza

  8. #8
    Guest

    Predefinito

    prova:
    Codice PHP:
    fwrite($fp, $_POST["data"] . "\n\n");

  9. #9
    Guest

    Predefinito

    Ciao, ho sostituito

    fwrite($fp, time() . "\n");
    con

    fwrite($fp, $_POST["data"] . "\n\n");
    ma il risultato è identico, vengono scritte le date di fila e la data è sballata.

  10. #10
    Guest

    Predefinito

    No, cambia:
    Codice PHP:
    fwrite($fp, $_POST["data"] . "\n");
    con
    Codice PHP:
    fwrite($fp, $_POST["data"] . "\n\n");

  11. #11
    Guest

    Predefinito

    Porta pazienza Federico, ma nell'ultimo codice scritto da nokia, la stringa:

    fwrite($fp, $_POST["data"] . "\n");
    non la trovo...

    ti riferisci alla prima ?

    if(isset($_POST["data"])) {

  12. #12
    Guest

    Predefinito

    Codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" dir="ltr">
    <head>
    <title>Vuoto</title>
    </head>
    <body>
    <?php
    if(isset($_POST["data"]))
    {
    	$fp = fopen("data.txt", "a");
    	
    	fwrite($fp, date("j-m-Y - H:i:s") .  "\n\n");
    	
    	fclose($fp);
    
    	foreach(file("data.txt") as $f)
    	{
    		echo date("d/m/y", intval($f));
    	}
    }
    ?>
    	<form action="test01.php" method="post">
    	<table>
    		<tr>
    		<td>
    			<input type="submit" value="Salva Data" name="data">
    		</td>
    		</tr>
    		
    	</table>
    	</form>
    </body>
    </html>

  13. #13
    Guest

    Predefinito

    Ho copiato ed incollato il codice...il risultato è questo


  14. #14
    Guest

    Predefinito

    Non ho mai utilizzato un DB Flat, quindi vado ad intuito, prova a cambiare:
    Codice PHP:
    foreach(file("data.txt") as $f)
    {
    echo
    date("d/m/y", intval($f));
    }
    in:

    Codice PHP:
    foreach(explode("\n\n", file_get_contents("data.txt") as $f)
    {
    echo
    date("d/m/y", intval($f));
    }
    Dovrebbe creare un array, dividendo ogni elemento in per ogni andata a capo, poi stamparne il contenuto.

  15. #15
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    \r\n al posto di \n nel fwrite.
    Ciao!

  16. #16
    Guest

    Predefinito

    Ho fatto la variazione, il risultato è

    Parse error: syntax error, unexpected T_AS in /membri/tvvalli/test01.php on line 16

    Ciao programmazioned ho inserito anche \r\n ma non sembra cambaire nulla

  17. #17
    Guest

    Predefinito

    modifica in:
    Codice PHP:
    foreach(explode("\n\n", file_get_contents("data.txt")) as $f)
    {
    echo
    date("d/m/y", intval($f));
    }
    Manca una tonda chiusa prima di as, piccolo errore di distrazione e di stanchezza

  18. #18
    Guest

    Predefinito

    Nullla ... identico... e la data è sempre sballata e scrive tutto di fila

  19. #19
    Guest

    Predefinito

    Scusa, ma siamo in 3 e non ci siamo accorti che non c'è niente che possa mandare a capo il testo?

    Prova con questo codice:
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" dir="ltr">
    <head>
    <title>Vuoto</title>
    </head>
    <body>
    <?php
    if(isset($_POST["data"]))
    {
    $fp = fopen("data.txt", "a");

    fwrite($fp, date("j-m-Y - H:i:s") . "\r\n");

    fclose($fp);

    foreach(
    explode("\n", file_get_contents("data.txt")) as $f)
    {
    echo
    intval($f) . '<br />';
    }
    }
    ?>
    <form action="test01.php" method="post">
    <table>
    <tr>
    <td>
    <input type="submit" value="Salva Data" name="data">
    </td>
    </tr>

    </table>
    </form>
    </body>
    </html>

  20. #20
    programmazioned non è connesso Utente attivo
    Data registrazione
    25-03-2008
    Messaggi
    440

    Predefinito

    Avevo capito che non andasse a capo nel file, invece il problema è nell'output.
    E' normale che sia così.
    Cancella il file data.txt, e usa il primo script che ti è stato suggerito, aggiungendo .'<br />' alla fine della riga che contiene l'echo, prima del punto e virgola.
    Ciao!
    Ultima modifica di programmazioned : 06-09-2009 alle ore 01.17.47

  21. #21
    Guest

    Predefinito

    Ora va a capo...ma la data dove è finita?


    -
    Edit:
    Tutto ok, ho messo .'<br />' nel codice di nokia.

    Grazie 1000 a nokiagames, biccheddu, programmazioned.
    -
    Edit:
    Scuata solo un'ultima cosa ^_^
    è possibile inserire altri due tasti vicino a "SALVA DATA", uno per visualizzare il file di testo senza scrivere la data, l'altro per eliminare tutto il contenuto nel file TXT ?
    Grazie

    <?php
    if(isset($_POST["data"])) {
    $fp = fopen("data.txt", "a");
    fwrite($fp, time() . "\n");
    fclose($fp);
    foreach(file("data.txt") as $f) {
    echo date("d/m/y --- h:i:s", intval($f))."<br>";
    }
    }
    ?>

    <table>Premendo il bottone memorizzeria la data e l'ora corrente.
    <form action="test01.php" method="post">
    <tr>
    <td><input type="submit" value="Salva Data" name="data">
    </tr>
    </form>
    </table>
    Ultima modifica di darkwolf : 12-10-2009 alle ore 02.36.16 Motivo: Unione dei tre post.

  22. #22
    Guest

    Predefinito

    Codice PHP:
    <?php
    if(isset($_POST["data"]) && $_POST["data"] == "Salva Data") {
    $fp = fopen("data.txt", "a");
    fwrite($fp, time() . "\n");
    fclose($fp);
    foreach(
    file("data.txt") as $f) {
    echo
    date("d/m/y --- h:i:s", intval($f)) . "<br>";
    }
    } else if(
    $_POST["data"] == "Visualizza Data") {
    foreach(
    file("data.txt") as $riga) {
    echo
    $riga . "<br>";
    }
    } else if(
    $_POST["data"] == "Svuota Data") {
    $fp = fopen("data.txt", "w");
    if(
    fwrite($fp, ""))
    echo
    "File svuotato con successo!");
    fclose($fp);
    }
    ?>

    <table>Premendo il bottone memorizzeria la data e l'ora corrente.
    <form action="test01.php" method="post">
    <tr>
    <td><input type="submit" value="Salva Data" name="data"></td>
    <td><input type="submit" value="Visualizza Data" name="data"></td>
    <td><input type="submit" value="Svuota Data" name="data"></td>
    </tr>
    </form>
    </table>

  23. #23
    Guest

    Predefinito

    Ciao, mi dice :

    Parse error: syntax error, unexpected ')', expecting ',' or ';' in /membri/tvvalli/test10.php on line 16

  24. #24
    Guest

    Predefinito

    Si scusa, ho lasciato una parentesi di troppo:
    Codice PHP:
    <?php
    if(isset($_POST["data"]) && $_POST["data"] == "Salva Data") {
    $fp = fopen("data.txt", "a");
    fwrite($fp, time() . "\n");
    fclose($fp);
    foreach(
    file("data.txt") as $f) {
    echo
    date("d/m/y --- h:i:s", intval($f)) . "<br>";
    }
    } else if(
    $_POST["data"] == "Visualizza Data") {
    foreach(
    file("data.txt") as $riga) {
    echo
    $riga . "<br>";
    }
    } else if(
    $_POST["data"] == "Svuota Data") {
    $fp = fopen("data.txt", "w");
    if(
    fwrite($fp, ""))
    echo
    "File svuotato con successo!";
    fclose($fp);
    }
    ?>

    <table>Premendo il bottone memorizzerai la data e l'ora corrente.
    <form action="test01.php" method="post">
    <tr>
    <td><input type="submit" value="Salva Data" name="data"></td>
    <td><input type="submit" value="Visualizza Data" name="data"></td>
    <td><input type="submit" value="Svuota Data" name="data"></td>
    </tr>
    </form>
    </table>

  25. #25
    Guest

    Predefinito

    Ciao Nokia, grazie è perfetto! Ti chiedo solo se sai perchè quando premo "visualizza" mi restituisce la data (per esempio) 1252349341 invece di 07/09/09 --- 08:49:01.

    E' come se visualizzassi la pagina /data.txt direttamente dal browser.

    Si può sistemare ?

    Grazie

  26. #26
    Guest

    Question Problemi col database

    Salve a tutti, è la prima volta che mi cimento nella messa in rete di un sito dinamico, nel creare il nome del db su phpmyadmin di altervista mi è uscito un database con un nome che non volevo cioè il mio database volevo chiamarlo solo db mentre ora si chiama my_gestioneorario come fare???

  27. #27
    Guest

    Predefinito

    gestioneorario, sei OT, comunque non puoi cambiare nome al DB né crearne un altro, devi connetterti usando i dati rilasciati da AV.

    Comunque perchè fare la conversione dal timestamp unix, qundo puoi salvare direttamente la data così come vuoi?
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it" dir="ltr">
    <head>
    <title>Vuoto</title>
    </head>
    <body>
    <?php
    $file
    = 'data.txt';

    if(isset(
    $_POST['save_data'])
    {
    $fp = fopen($file, 'a');
    fwrite($fp, date('d/m/y --- h:i:s') . "\n");
    fclose($fp);
    foreach(
    file($file) as $f)
    {
    echo
    $f . '<br />';
    }
    }
    elseif(isset(
    $_POST['view_data']))
    {
    foreach(
    file($file) as $riga)
    {
    echo
    $riga . "<br />";
    }
    }
    elseif(isset(
    $_POST['delete_data']))
    {
    $fp = fopen($file, "w");
    if(
    fwrite($fp, ''))
    {
    echo
    'File svuotato con successo!';
    }
    fclose($fp);
    }
    ?>
    <form action="test01.php" method="post">
    <table>
    <tr>
    <td><span>Premendo il bottone memorizzeria la data e l'ora corrente.</span></td>
    </tr>
    <tr>
    <td><input type="submit" value="Salva Data" name="save_data" /></td>
    <td><input type="submit" value="Visualizza Data" name="view_data" /></td>
    <td><input type="submit" value="Svuota Data" name="delete_data" /></td>
    </tr>
    </table>
    </form>
    </body>
    </html>

    PS: Un minimo di ordine e di validazione

  28. #28
    Guest

    Predefinito

    Parse error: syntax error, unexpected '{' in /membri/tvvalli/test12.php on line 11

  29. #29
    Guest

    Predefinito

    biccheddu ha dimenticato di chiudere una parentesi alla riga 11.

    Sostituisci:
    Codice PHP:
    if(isset($_POST['save_data'])
    in:

    Codice PHP:
    if(isset($_POST['save_data']))

  30. #30
    Guest

    Predefinito

    Perfetto! Grazie 1000

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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