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

    Passaggio variabili a file di testo

    Ciao a tutti,
    sto provando a passare dati da una form a un file di testo ed accodarli. Ho scritto:
    Codice PHP:
    <?php 
    $fp 
    fopen("iscrizione.txt","a+");
    fwrite($fp$_POST[nome$_POST[cognome$_POST[facolta$_POST[corso$_POST[matricola$_POST[email$_POST[commenti]);
    fclose($fp);
    ?>
    Trovo però dei caratteri illegibili nel file di testo.

    A cosa è dovuto?

    Grazie
    Eccoti!

  2. #2
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    in che formato è il file di testo? TXT?
    Che codifica ha, ANSI? Unicode?

  3. #3
    1.si è txt.
    2. Non ne ho la + pallida idea. Come l'appuro?
    Eccoti!

  4. #4
    fwrite(resurce resource, string string)

    prova a mettere le virgolette nel secondo parametro
    "$_POST[] $_POST[] $_POST[] $_POST[] "
    visit the BEST italian fotolog http://www.ghiacciato.it/fotolog

    "Solo due cose sono infinite, l'universo e la stupidità dell'essere umano.. ma sulla prima ho ancora delle riserve.." A.Einstein

  5. #5
    No, così non scrive nulla.
    Eccoti!

  6. #6
    In sintesi vorrei che le variabili provenienti dalla form venissero scritte in un file di testo con un separatore qualsiasi.
    Eccoti!

  7. #7
    Prova un pò cosi':

    Codice PHP:
    <?php
    if ($submit)
     {
                
     
    $today date("F j, Y, g:i a");
            
     
    $nome htmlspecialchars$_POST["nome"], ENT_QUOTES);
     
    $cognome htmlspecialchars$_POST["cognome"], ENT_QUOTES);
     
    $facolta htmlspecialchars$_POST["facolta"], ENT_QUOTES);
     
    $corso htmlspecialchars$_POST["corso"], ENT_QUOTES);
     
    $matricola htmlspecialchars$_POST["matricola"], ENT_QUOTES);
     
    $email htmlspecialchars$_POST["email"], ENT_QUOTES);
     
    $commenti htmlspecialchars$_POST["commenti"], ENT_QUOTES);

     
    $fp fopen("iscrizione.txt""a");
     if (
    $fp)
     {
            
      
    flock($fp2);
      
    fputs($fp"<message>\n");
      
    fputs($fp" <name>$nome</name>\n");
      
    fputs($fp" <cognome>$cognome</cognome>\n");
      
    fputs($fp" <facolta>$facolta</facolta>\n");
      
    fputs($fp" <corso>$corso</corso>\n");
      
    fputs($fp" <matricola>$matricola</matricola>\n");
      
    fputs($fp" <email>$email</email>\n");
      
    fputs($fp" <commenti>$commenti</commenti>\n");
      
    fputs($fp" <time>$today</time>\n");
      
    fputs($fp"</message>\n\n");
      
    flock($fp3);
      
    fclose($fp);
     }
        
    }
    ?>
    scriverà in formato XML...

  8. #8
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Guarda questo codice se ti può tornare utile, per comodità l'ho scritto in un'unica pagina, ma puoi tranquillamente dividerlo come meglio credi...
    Codice PHP:
    [FONT=courier new]<?php
    //controllo se il form è stato inviato e recupero tutti i dati con $_POST
    //poi nella variabile $contenuto memorizzo tutti i valori che servono
    if(isset($_POST['submit'])) {

      
    $nome $_POST['nome'];
      
    $cognome $_POST['cognome'];
      
      
    $contenuto "$nome::$cognome\n";

        
    //questo è il file che conterrà i dati. Di seguito li scrivo in $file
        
    $file "iscrizione.txt";
          
    $fp fopen($file,"a+");
            
    fwrite($fp$contenuto);
          
    fclose($fp);

    //leggo i dati da $file contando quante righe ci sono e poi stampo
    //a video i valori memorizzati nel file
    $read_file file($file);
    $num_rows count($read_file);
      for(
    $i=0$i<$num_rows$i++) {
        
    $contenuto explode("::"$read_file[$i]);
          echo 
    $contenuto[0]." - ".$contenuto[1]."

    "
    ;
      }
    } else { 
    //se il form non è stato inviato, lo visualizziamo...
    ?>
    <form method="post" action="iscrizione.php">
    Nome: <input type="text" name="nome">

    Cognome: <input type="text" name="cognome">

    <input type="submit" name="submit">
    </form>
    <?php
    //chiusura isset
    ?>[/FONT]
    Ovviamente, dovrai fare gli opportuni controlli sui campi e personalizzare l'output. Per il resto, credo che dovrebbe andar bene...



  9. #9
    Grazie ad entrambi!!!

    Avevo risolto con un codice + semplice ma il vostro è decisamente migliore
    Eccoti!

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