Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Immagazzinare dati in un file txt, e far controllare l'esistenza

    Spero che quello che voglio fare si possa fare con file di testo e non necessariamente con l'sql.
    Ho un form di questo tipo, la pagina è form.htm:
    codice:
    <form name="form1" method="post" action="genera.php">
      <input name="nome" type="text" id="nome">
      <input type="submit" name="Submit" value="Invia">
        </p>
    La pagina genera.php è questa:
    codice:
    <?php
     $nome=$_POST['nome'];
     echo($nome);
    ?>
    Quello che vorrei fare è questo:
    Il nome che l'utente va a mettere nel form, farlo salvare in un file di testo.
    Poi far leggere il file di testo alla pagina genera.php, che se nota che il nome inserito è già presente nel file di testo, manda un messaggio di errore.
    Non so se mi sono spiegato, una specie di registrazione in cui si controlla se l'username è già esistente, e i dati vengono salvati in un file txt invece che nell'sql...

  2. #2

    dunque

    nella pagina che riceve i dati del form:
    Codice PHP:
    $content=$_POST[nome];
    $dir="cartella/";
    $dir.="nomefile.txt";
    $handle=fopen($dir,r+);        //apre il file e si posiziona alla fine
        
    fwrite($handle,$content);
        
    fclose($handle); 
    dove vuoi leggere tutti i nomi:
    Codice PHP:
    <?PHP echo nl2br(implode(""file("cartella/nomefile.txt"))); ?>
    spero di aver capito quello che volevi
    ciao

  3. #3
    C'è un errore alla riga 7:
    <?php
    $nome=$_POST['nome'];
    echo($nome);
    $content=$_POST[nome];
    $dir="cartella/";
    $dir.="nomefile.txt";
    $handle=fopen($dir,r+);
    fwrite($handle,$content);
    fclose($handle);
    echo nl2br(implode("", file("cartella/nomefile.txt")));
    ?>

    Cmq penso che non hai capito cosa voglio...

  4. #4

    scusa

    avevo letto solo la prima parte
    per l'errore devi mettere un a+ invece che r+ alla linea 7 e controllare che la cartella abbia il permesso di scrittura.

    Codice PHP:
    <?php 
    $nome
    =$_POST['nome']; 

    $content=$_POST[nome]; 
    $dir="cartella/"
    $dir.="nomefile.txt"

    $a=nl2br(implode(""file("cartella/nomefile.txt")));
    if (
    preg_match("/$_POST[nome]/" $a)){
        die(
    "nome già in uso");}

    $handle=fopen($dir,a+); 
    fwrite($handle,$content); 
    fclose($handle); 
    echo 
    nl2br(implode(""file("cartella/nomefile.txt"))); 
    ?>
    credo sia giusto

  5. #5
    Questo è il codice:
    <?php
    $nome=$_POST['nome'];
    $content=$_POST[nome];
    $dir="/";
    $dir.="names.txt";
    $a=nl2br(implode("", file("/names.txt")));
    if (preg_match("/$_POST[nome]/" , $a)){
    die("nome già in uso");}
    $handle=fopen($dir,a+);
    fwrite($handle,$content);
    fclose($handle);
    echo nl2br(implode("", file("/names.txt")));
    echo($nome);
    ?>
    E questo è l'errore:
    Parse error: parse error, unexpected ')' in genera.php on line 9

  6. #6
    $handle=fopen($dir,"a+");
    dovrebbe essere questo, scusa, la fretta..

  7. #7
    Non scrive niente sul file...

  8. #8
    Non si può fare niente?

  9. #9

    controlla

    che il valore ti venga passato con post...
    Codice PHP:
    print($_POST[nome]); 

  10. #10
    Sì viene passato.

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.