Visualizzazione risultati 1 fino 20 di 20

Discussione: baco nel salvataggio su file testo?

  1. #1
    Guest

    Predefinito

    Su altervista quando uso un semplice script del tipo

    <?php
    $filename = "rec.xml";
    $file_h = fopen($filename,"w");
    fputs($file_h,stripslashes($_POST['testo']));
    fclose($file_h);
    echo "<br>Salvataggio completo.";
    echo "<script language=\"javascript\">";
    echo "window.location=('finito.html');";
    echo "</script>";

    ?>

    per salvare del testo in un file si aggiungono dei caratteri binari sempre gli stessi
    Iêï‹8¨™¨¥iË«iØ¡¶Úÿ 0[^*X¬µª+g===

    baco di php?
    fate qualcosa!

  2. #2
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    A me non ha mai fatto niente del genere, i file me li scrive giusti, per cui escluderei il baco di php, però non so suggerirti una soluzione.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    A me non ha mai fatto niente del genere, i file me li scrive giusti, per cui escluderei il baco di php, però non so suggerirti una soluzione.
    prova ad usare gli script che ho copiaincollato e vedi se va...

  4. #4
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Che errore ti da esattamente?
    Io ho preso il tuo script e lo ho modificato come segue:

    [code:1:7d23ffc279]<?php
    $filename = "rec.xml";
    $file_h = fopen($filename,"w");
    fputs($file_h,stripslashes('ciao')&#41 ;;
    fclose($file_h);
    echo "<br>Salvataggio completo.";
    echo "<script language=\"javascript\">";
    echo "window.location=('finito.html');&quo t;;
    echo "</script>";
    ?> [/code:1:7d23ffc279]

    praticamente ho tolto $_POST["testo"] per non dovre creare un form) e funziona, crea il file rec.xml con dentro la stringa 'ciao'. Quindi mi dà errore perchè non trova finito.html (cosa naturale visto che non lo ho creato), però se il problema è la scrittura del file mi funziona.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    Che errore ti da esattamente?
    Io ho preso il tuo script e lo ho modificato come segue:

    [code:1:1b9d4e28d6]<?php
    $filename = "rec.xml";
    $file_h = fopen($filename,"w");
    fputs($file_h,stripslashes('ciao')&#41 ;;
    fclose($file_h);
    echo "<br>Salvataggio completo.";
    echo "<script language=\"javascript\">";
    echo "window.location=('finito.html');&quo t;;
    echo "</script>";
    ?> [/code:1:1b9d4e28d6]

    praticamente ho tolto $_POST["testo"] per non dovre creare un form) e funziona, crea il file rec.xml con dentro la stringa 'ciao'. Quindi mi dà errore perchè non trova finito.html (cosa naturale visto che non lo ho creato), però se il problema è la scrittura del file mi funziona.
    quindi il problema è nel form

  6. #6
    Guest

    Predefinito

    devi assicurariti che $_POST['testo'] sia definito...

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da numerone
    devi assicurariti che $_POST['testo'] sia definito...
    Non so nemmeno cosa vuol dire ... io di php so il resto di niente (e pure di form) ho semplicemente modificato degli script già pronti.
    Comunque penso che si è capito cosa voglio fare... il contenuto della textarea
    deve essere salvato in un file di testo.....

    se qualche anima pia mi da una mano sono contento

  8. #8
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Dunque, tu immagino abbia un file con dentro un form;

    Mettiamo che il tuo script per il salvataggio si trovi nel file save.php,
    allora un form possibile sarà:

    <FORM method="post" action="save.php">
    <input type="text" name="testo">
    </FORM>

    Quel che dice Numerone è che devi controllare che nel form di partenza esista un campo di input (<textarea>,<input> o quant'altro) con name="testo" , che conterrà quanto viene salvato nel file;
    altrettanto necessario è che questo form abbia action="save.php" e method="post" come nel mio esempio.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    Dunque, tu immagino abbia un file con dentro un form;

    Mettiamo che il tuo script per il salvataggio si trovi nel file save.php,
    allora un form possibile sarà:

    <FORM method="post" action="save.php">
    <input type="text" name="testo">
    </FORM>

    Quel che dice Numerone è che devi controllare che nel form di partenza esista un campo di input (<textarea>,<input> o quant'altro) con name="testo" , che conterrà quanto viene salvato nel file;
    altrettanto necessario è che questo form abbia action="save.php" e method="post" come nel mio esempio.
    Questo è il mio form
    <form action="dbmailer.php" method="post">

    <textarea
    rows="25" cols="80" name="testo">
    </textarea>
    <br>

    <input type="submit" value="mandami la recensione">


    </form>

  10. #10
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    E dbmailer.php è il file con lo script di salvataggio?
    Allora dovrebbe funzionare.
    L'unica cosa che mi viene in mente se non ti funge è di provare a modificare così:

    <textarea rows="25" cols="80" name="testo" id="testo">
    </textarea>

    anche se non dovrebbe essere necessario specificare id se c'è già name;
    inoltre controlla di non avere nella pagina altre tag html con id="testo" o name="testo"
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    E dbmailer.php è il file con lo script di salvataggio?
    Allora dovrebbe funzionare.
    L'unica cosa che mi viene in mente se non ti funge è di provare a modificare così:

    <textarea rows="25" cols="80" name="testo" id="testo">
    </textarea>

    anche se non dovrebbe essere necessario specificare id se c'è già name;
    inoltre controlla di non avere nella pagina altre tag html con id="testo" o name="testo"

    ma funziona! solo che se io scrivo "pippo è simpatico" nella textarea nel file mi ritrovo "pippo è simpatico àòglhùfjùà" ovvero 10 caratteri in più a casaccio

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da tonysuper
    $file_h = fopen($filename,"w");
    Prova a stampare a video la stringa, magari è quella che contiene qualche problema, ovvero:
    print($_POST['testo']);

    Per l'apertura del file puoi provare con:

    $file_h = fopen($filename, 'a');


    Ciao :o

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da bodo
    Citazione Originalmente inviato da tonysuper
    $file_h = fopen($filename,"w");
    Prova a stampare a video la stringa, magari è quella che contiene qualche problema, ovvero:
    print($_POST['testo']);

    Per l'apertura del file puoi provare con:

    $file_h = fopen($filename, 'a');


    Ciao :o
    La stampa è corretta
    se metto append non cambio niente

    il problema è della scrittura o forse della chiusura perchè se gli faccio fare
    due scritture di seguito funziona la prima volte ed aggiunge SEMPRE gli stessi caratteri e sempre alla fine.
    Se tolgo la chiusura non cambia niente

  14. #14
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Ho riguardato lo script di salvataggio:
    prova a togliere:
    stripslashes($_POST['testo'])
    sostiduendolo semplicemente con:
    $_POST['testo']

    La funzione stripslashes serve per togliere i caratteri di escape tipo \" , ma in questo caso è completamente superflua (di solito viene usata per toglierli quando per una qualche ragione sono stati aggiunti), magari fa casino anche se non dovrebbe.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    Ho riguardato lo script di salvataggio:
    prova a togliere:
    stripslashes($_POST['testo'])
    sostiduendolo semplicemente con:
    $_POST['testo']

    La funzione stripslashes serve per togliere i caratteri di escape tipo \" , ma in questo caso è completamente superflua (di solito viene usata per toglierli quando per una qualche ragione sono stati aggiunti), magari fa casino anche se non dovrebbe.
    nada... non cambia nulla

  16. #16
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    dbmailer.php contiene altro oltre allo script incriminato? Se si magari post l'intero contenuto del file che vediamo se c'è qualcosa.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    dbmailer.php contiene altro oltre allo script incriminato? Se si magari post l'intero contenuto del file che vediamo se c'è qualcosa.
    no niente altro ma questo non è il primo script che provo

    eccolo intero

    <?php
    $filename = "rec.xml";
    $file_h = fopen($filename,'a');
    fputs($file_h,stripslashes($_POST['testo']));
    fclose($file_h);
    echo "<br>Salvataggio completo.";
    echo "<script language=\"javascript\">";
    echo "window.location=('finito.html');";

    echo "</script>";

    ?>

    ecco la form intera

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//IT">
    <html>
    <head>
    <link href="tonysuper.css" rel="stylesheet" type="text/css">
    </head>
    <body lang="it-IT" class="centra">
    <h3>Modifica la recensione tipo ed inviamela automaticamente</h3>
    <form action="dbmailer.php" method="post">

    <textarea
    rows="25" cols="80" name="testo">

    <?xml version="1.0" encoding="iso-8859-1"?>
    <?xml-stylesheet type="text/xsl" href="../../scheda.xsl"?>

    <scheda>

    <artist>
    Nunsacc Sunà
    </artist>
    <autore>tonysuper</autore>
    <comm>Mi piace commentare così e fare un bel sottotitolo</comm>
    <prit> Questo musicista a me pare un fesso</prit>
    <pren> This player is stupid</pren>
    <opera>
    <t> Melodie e dissonanze </t>
    <y> 2003 </y>
    <r> 9 </r>
    <rit> questo disco mi piace </rit>
    <ren> i like this record </ren>
    </opera>
    <opera>
    <t> Rutti e flatulenze </t>
    <y> 2004
    </y>
    <r> 4 </r>
    <rit> questo disco fa schifo
    </rit>
    </opera>

    </scheda> </textarea>
    <br>

    <input type="submit" value="mandami la recensione">


    </form>
    <p class="centra"><a href="http://tonysuper.altervista.org/copyright.html">Copyright © Ascolta e Pentiti 2003</a> <SCRIPT src="http://tonysuper.altervista.org/stats/php-stats.js.php"></SCRIPT></p>

    </body>
    </html>

  18. #18
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Io ho provato a fare taglia incolla del form e dello script e a piazzarlo nel mio spazio per provare, e il risultato nel file rec.xml è questo:
    [code:1:5cb7dd833e]



    <?xml version="1.0" encoding="iso-8859-1"?>

    <?xml-stylesheet type="text/xsl" href="../../scheda.xsl"?>



    <scheda>



    <artist>

    Nunsacc Sunà

    </artist>

    <autore>tonysuper</autore>

    <comm>Mi piace commentare così e fare un bel sottotitolo</comm>

    <prit> Questo musicista a me pare un fesso</prit>

    <pren> This player is stupid</pren>

    <opera>

    <t> Melodie e dissonanze </t>

    <y> 2003 </y>

    <r> 9 </r>

    <rit> questo disco mi piace </rit>

    <ren> i like this record </ren>

    </opera>

    <opera>

    <t> Rutti e flatulenze </t>

    <y> 2004

    </y>

    <r> 4 </r>

    <rit> questo disco fa schifo

    </rit>

    </opera>



    </scheda>[/code:1:5cb7dd833e]
    Come vedi senza alcun carattere strano aggiunto, tutto regolare, mi sa che ti conviene provare a chiedere a qualche amministratore se ci son problemi sul tuo server.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  19. #19
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Un'idea ce mi è sovvenuta dopo la tua risposta al mio post sulle mail con allegati ( http://www.altervista.org/forum/viewtopic.php?p=70489 ):

    Non è che magari il problema dei caratteri aggiunti si presenta solo nel file rec.xml inviato alla tua mail e non nel file salvato sul server dal primo script? In questo caso il problema sarebbe nello script manda.php e non sul server.
    Ciò è possibile perchè lo script da quel che ho capito (lo devo ancora provare ma gli ho dato un'occhiata) provvede a caricare il file in una variabile, quindi ne rielabora il contenuto e per spedirlo lo fonde col testo della mail, ovvero crea un multipart MIME file come lo chiama (non chiedermi come funge perchè non so); da ciò consegue che se c'è un bug nello script i due file possono non essere uguali.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  20. #20
    Guest

    Predefinito

    Citazione Originalmente inviato da gve
    Un'idea ce mi è sovvenuta dopo la tua risposta al mio post sulle mail con allegati ( http://www.altervista.org/forum/viewtopic.php?p=70489 ):

    Non è che magari il problema dei caratteri aggiunti si presenta solo nel file rec.xml inviato alla tua mail e non nel file salvato sul server dal primo script? In questo caso il problema sarebbe nello script manda.php e non sul server.
    Ciò è possibile perchè lo script da quel che ho capito (lo devo ancora provare ma gli ho dato un'occhiata) provvede a caricare il file in una variabile, quindi ne rielabora il contenuto e per spedirlo lo fonde col testo della mail, ovvero crea un multipart MIME file come lo chiama (non chiedermi come funge perchè non so); da ciò consegue che se c'è un bug nello script i due file possono non essere uguali.
    no no è nel file salvato su disco .. ho già controllato

Regole di scrittura

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