Visualizzazione risultati 1 fino 10 di 10

Discussione: Problema scrivere in un txt con php

  1. #1
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito Problema scrivere in un txt con php

    Per semplificare tutto ho creato uno zip

    In caso non vi fidiaste scrivo tutto sotto:

    Questo è il file "file.html"
    Codice HTML:
    <form method="post" action="file.php" enctype="multipart/form-data" id="form">
      His nickname: <br><input type="text" name="nick" placeholder="Nickname">
    <br>His FC:<br> <input type="number" name="code" placeholder="Friend Code">
    
    <br>Comments:<br> <textarea cols="30" rows="3" name="comment" form="form" placeholder="Enter here your comments"></textarea>
    <br>
    <br>
    <input type="submit">
    </form>
    E questo è il file "file.php":

    Codice PHP:
    <?

    $nick
    =$_POST['nick'];
    $number=$_POST['number'];
    $comment=$_POST['comment'];


    if (
    $nick != null && $number != null){
    echo
    "Risultato del file di testo:<br>";
    $var=@fopen("file.txt","a+");

    @
    fwrite($var, "$nick - $number - $comment \n");
    $var2=file("file.txt");
    @
    fclose($var);
    $i=count($var2);
    for(
    $a=0; $a<=$i; $a++){
    echo
    $var2[$a]."<br>";
    }
    }
    ?>
    Ho creato anche il file .txt dove in teoria dovrebbero entrare le righe

    A me sembra tutto giusto, ma non funziona.

    Vorrei che mi aiutaste a capire.
    Bruno

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Per prima cosa,
    Codice PHP:
    // questi sono i campi che passi
    $nick=$_POST['nick'];
    $number=$_POST['number'];
    $comment=$_POST['comment'];

    // qui fai i controlli (per modo di dire...)
    if ($nick != null && $number != null){
    number non esiste nel form. Quindi teoricamente quell'if non sarà mai verificato.

    Inoltre, l'uso di tutti quei "@", provoca la cancellazione di eventuali errori.

    Infine, per leggere i file in questo caso è meglio usare la file_get_contents(). Non ha molto senso leggerlo con la file() per poi trasformarlo in una stringa.

    Ciao!

  3. #3
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito

    Mmmmmhh... L'avevo notato ed avevo corretto solo il primo number, non anche il secondo

    Grazie, ora controllo

    -----------

    Edit:
    È tutto perfetto. Grazie ancora.

    Ora vorrei permettere agli utenti di caricare anche dei files immagine e che questo file andasse ad aggiungersi nel file txt come link e che venisse anche caricato in una cartella superiore

    --------


    Ri-edit:
    Codice PHP:
    <?php

    $uploaddir
    = '/var/www/uploads/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

    echo
    '<pre>';
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo
    "File is valid, and was successfully uploaded.\n";
    } else {
    echo
    "Possibile attacco tramite file upload!\n";
    }

    echo
    'Alcune informazioni di debug:';
    print_r($_FILES);

    print
    "</pre>";

    ?>
    E poi inserisco una riga per "file" e basta? Non funziona.

    Dice errore:
    Possibile attacco tramite file upload!
    Alcune informazioni di debug:
    Array (
    [img] => Array
    (
    [name] => tmp_Ani619MS943314655.gif
    [type] => image/gif
    [tmp_name] => /membri/.dummy/temp/phpXyiH3K
    [error] => 0
    [size] => 354
    )
    )
    Ultima modifica di zerobruno : 08-04-2014 alle ore 15.59.59

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    prova così:
    Codice PHP:
    $uploaddir = '/membri/var/www/uploads/';
    Inoltre, le cartelle devi crearle tu.

    Ciao!

  5. #5
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito

    Si, l'avevo già fatto ma nulla

    Ho provato ad inserire 'images' ma non funziona.

    Carica nella stessa directory

    Ti prego di aiutarmi
    Ultima modifica di zerobruno : 08-04-2014 alle ore 16.17.06 Motivo: Ti prego di aiutarmi

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

  7. #7
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito

    Codice PHP:
    <?
    // questi sono i campi che passi
    $nick=$_POST['nick'];
    $number=$_POST['number'];
    $comment=$_POST['comment'];
    $userfile=$_POST ['userfile'];

    // qui fai i controlli (per modo di dire...)
    if ($nick != null && $number != null){
    echo
    "Risultato del file di testo:<br>";
    $var=@fopen("file.txt","a+");
    // qui scrivi i valori nel file separandoli con " - "
    @fwrite($var, "$nick - $number - $comment - $userfile \n");
    $var2=file("file.txt");
    @
    fclose($var);
    $i=count($var2);
    for(
    $a=0; $a<=$i; $a++){
    echo
    $var2[$a]."<br>";
    }
    }

    //da qui inizia "forse"

    $uploaddir = 'images/';
    $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

    echo
    '<pre>';
    if (
    move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo
    "File is valid, and was successfully uploaded.\n";
    } else {
    echo
    "Possibile attacco tramite file upload!\n";
    }

    echo
    'Alcune informazioni di debug:';
    print_r($_FILES);

    print
    "</pre>";
    ?>
    Perché non mi scrive nel txt il link dell'immagine?
    Ultima modifica di zerobruno : 08-04-2014 alle ore 21.21.12

  8. #8
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito

    Credo perché cerca di inserire direttamente l'immagine nel txt.

    Non può inserirla e quindi la visualizza vuoto.

    Per inserire il link devo mettere il $ associato al link... $uploadfile forse?

    Edit:
    Ho provato e non funziona. Aiutami ti prego
    Bruno
    Ultima modifica di zerobruno : 09-04-2014 alle ore 07.23.18

  9. #9
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Se vuoi inserire il link, devi scriverci $uploadfile. Però ha senso farlo dopo che l'upload sia stato correttamente eseguito. Quindi fossi in te sposterei la parte che scrive su file dopo l'upload.

    Ciao!

  10. #10
    L'avatar di zerobruno
    zerobruno non è connesso Utente
    Data registrazione
    03-10-2013
    Messaggi
    192

    Predefinito

    Grazie. Ora è perfetta.

    Ti prego di aiutarmi con l'altra discussione

Regole di scrittura

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