Visualizzazione risultati 1 fino 22 di 22

Discussione: Scrivere dopo un tot di righe in una pagina php

  1. #1
    Guest

    Unhappy Scrivere dopo un tot di righe in una pagina php

    Come faccio a scrivere dopo un tot di righe il mio messaggio?
    questo script scrive in un' altra pagina un messaggio in alto ..io vorrei che scrivesse dopo (<?php $articolo .=") senza le parentesi ...come faccio??
    Codice PHP:
    <?php
    if(isset($_POST['Contenuto'])){
    $Contenuto = $_POST['Contenuto'];
    $Pagina= "mare.php";
    $file = file_get_contents($Pagina);
    $Contenuto = "$Contenuto <br>";
    $fp = fopen("$Pagina", "w+");
    $fw = fwrite($fp,$Contenuto.$file);
    fclose($fp);
    }
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> ">
    <input name="Contenuto" type="text" value="">Messaggio<br>
    <input name="submit" type="submit" >
    </form>

  2. #2
    Guest

    Predefinito

    Scusami ma non ho capito cosa vuoi fare.

    <?php articolo .= ... dov'è?

  3. #3
    Guest

    Unhappy

    quello script scrive in un' altra pagina quello che voglio però vorrei che scrivesse dopo alcune righe perchè c'è un tag php e altre cose ad esempio.. uso questo script e ci scrivo 12345ciao nel file che crea ci dovra essere
    Codice PHP:
    <?php
    ...altre 2 righe di codice se è possibile...

    12345ciao
    se riuso lo script vorrei che facesse cosi
    Codice PHP:
    <?php
    ...altre 2 righe di codice se è possibile...

    //testo nuovo caricato dallo script
    12345ciao //testo aggiunto prima
    ogni volta che aggiungo un testo vorrei che lo script leggesse le prime 2 righe e scrivesse.. come si puo fare

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

    Predefinito

    Non puoi usare il modo che ti avevo detto?

    In questo caso, forse è meglio usare la funzione file(), modifichi l'array ottenuto e sovrascrivi il file con l'array modificato.

    Comunque, andar a modificare il sorgente php per aggiungere articoli, non è una buona cosa. Dovresti usare un database!

    Ciao!
    Ultima modifica di alemoppo : 28-08-2011 alle ore 18.10.30

  5. #5
    Guest

    Predefinito

    Per fare quello che pensi io scriverei il contenuto da modificare in un file che poi richiamerei dalla pagina php con un require nella posizione che mi serve.

    Sul come fare a scrivere in cima ad un file, mi pare che ti sia stato detto in un altro post.

  6. #6
    Guest

    Predefinito

    #simpleticket è meglio risparmiare pagine
    #alemoppo ho già provato quello che hai detto tu:
    Codice PHP:
    <?php
    if(isset($_POST['Contenuto'])){
    $Contenuto = $_POST['Contenuto'];
    $Pagina= "mare.php";
    $Contex= "<?php //testo che non cambia";
    $file = file_get_contents($Pagina);
    $Contenuto = "$Contenuto <br>";
    $fp = fopen("$Pagina", "w+");
    $fw = fwrite($fp,$Contex.$Contenuto.$file);
    fclose($fp);
    }
    ?>

    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> ">
    <input name="Contenuto" type="text" value="">Contenuto<br>
    <input name="submit" type="submit" >
    </form>
    dove sbaglio??potresti correggerlo?
    mi scrive cosi "<?php //testo che non cambia+testo inserito
    non dovrebbe leggere $Contex e poi scrivere $Contenuto con $file??
    se credi che la funzione ()file è migliore potresti farmelo??non sono bravo con l'inglese

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    #simpleticket è meglio risparmiare pagine
    E perchè?

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    ...
    se credi che la funzione ()file è migliore potresti farmelo??non sono bravo con l'inglese
    Studiare no?
    E poi di guide ne trovi a decine anche in italiano.
    Ma forse dovresti impegnarti ad adattarle alle tue esigenze.
    In effetti i forum sono pieni di gente che non ha null'altro da fare che scrivere codice per gli altri...

  8. #8
    Guest

    Predefinito

    #simpleticket
    1)diciamo che ho letto una centinaia di guide e forum ,ma niente di quello che voglio fare senza database
    2)io prima di aprire un topic cerco sempre sul forum e su google.
    3)ho già provato ad adattarlo alle mie esigenze che poi ho postato ...perchè rinfacciarmelo??
    4)il tuo sarcasmo non mi piace!

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

    Predefinito

    Prova a controllare se $fp e $fw sono diversi da false.
    Poi, prova a stampare $file per vedere se legge bene...

    Lo script sembra essere corretto. Pensavo volessi fare un'altra cosa, invece non è necessario usare la file(): come hai fatto te può andar bene.

    Ciao!

  10. #10
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Prova a controllare se $fp e $fw sono diversi da false.
    Poi, prova a stampare $file per vedere se legge bene...

    Lo script sembra essere corretto. Pensavo volessi fare un'altra cosa, invece non è necessario usare la file(): come hai fatto te può andar bene.

    Ciao!
    non so cosa vorresti dirmi comunque credo sia un' errore mio nel spiegarmi .. vorrei che leggesse $contex se non esiste lo crea e poi scrivesse quello che invio con il $contenuto.. esempio:
    uso lo script e ci scrivo "hasta la vista" e poi apro mare.php e leggo
    <?php //testo che non cambiahastalavista <br>
    fin qui va tutto bene
    riuso lo script e scrivo "hey la" e qui mi scrive
    <?php //testo che non cambiahey la <br><?php //testo che non cambiahastalavista <br>
    come puoi vedere ha riscritto.. io volevo che leggesse (nel senso che lo salti) "<?php //testo che non cambia" e poi scrivesse il resto.
    come hai detto te voglio modificare il sorgente php per aggiungere articoli.. come posso correggere?

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

    Predefinito

    avevo capito correttamente.
    Faccio un esempio io per avere la prova del 9:

    -file vuoto
    -scriviamo "ciao":
    Codice:
    <?php //testo che non cambiaciao
    -scriviamo "cane":
    Codice:
    <?php //testo che non cambiacane<?php //testo che non cambiaciao
    -scriviamo "coccodrillo":
    Codice:
    <?php //testo che non cambiacoccodrillo<?php //testo che non cambiacane<?php //testo che non cambiaciao
    Giusto?

    Però, sembra che la file_get_contents() non funzioni a dovere, quindi ecco perché ti chiedevo di stampare $file e vedere cosa legge... Lo script mi sembra corretto...

    Ciao!
    Ultima modifica di alemoppo : 29-08-2011 alle ore 03.08.58

  12. #12
    Guest

    Predefinito

    Scusami per il triplo post consecutivo.. errore mio (connessione lenta)
    funziona bene ma vorrei che facesse cosi
    -file vuoto
    -scriviamo "ciao":
    Codice PHP:
    <?php //testo che non cambiaciao
    -scriviamo "cane":
    Codice PHP:
    <?php //testo che non cambiaciaocane
    -scriviamo "coccodrillo":
    Codice PHP:
    <?php //testo che non cambiaciaocanecoccodrillo

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    #simpleticket
    1)diciamo che ho letto una centinaia di guide e forum ,ma niente di quello che voglio fare senza database
    Beh, se cerchi guide sulla gestione dei file non credo che trovi molto che riguardi i DB.
    Se poi cerchi la guida "Scrivere dopo un tot di righe in una pagina php" non credo la troverai.

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    2)io prima di aprire un topic cerco sempre sul forum e su google.
    E poi apri due topic per lo stesso argomento!

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    3)ho già provato ad adattarlo alle mie esigenze che poi ho postato ...perchè rinfacciarmelo??
    Come prima, perchè al posto di cercare di risolvere, hai aperto un'altra discussione

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    4)il tuo sarcasmo non mi piace!
    Neanche a me piace che scrive "me lo fai"

    e con questo chiudo.

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

    Predefinito

    @CHELAIFACHAT:

    Quindi vuoi fare una semplice append! Forse l'ora, ma avevo capito tutt'altro... e addirittura avevo letto lo script diversamente!.

    Codice PHP:
    <?php
    if(isset($_POST['Contenuto'])){
    $Pagina= 'mare.php';
    if(!
    file_exists($pagina)) //se il file non esiste, lo creo e scrivo la prima riga
    {
    $fp = fopen($Pagina, 'w');
    if(!
    $fp)
    die(
    'Problemi a creare il file '.$Pagina);
    $fw = fwrite($fp,'<?php //testo che non cambia');
    if(!
    $fw)
    die(
    'Problemi durante la scrittura nel file'.$Pagina);
    fclose($fp);
    }

    $fp = fopen($Pagina, 'a');
    if(!
    $fp)
    die(
    'Problemi ad aprire il file '.$Pagina);
    $fw = fwrite($fp,$_POST['Contenuto'].'<br>');
    if(!
    $fw)
    die(
    'Problemi durante la scrittura nel file'.$Pagina);
    fclose($fp);
    }
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> ">
    <input name="Contenuto" type="text" value="">Messaggio<br>
    <input name="submit" type="submit" >
    </form>
    Non l'ho provato, ma dovrebbe andare...
    Infine, ti consiglio di guardarti la funzione file_put_contents()

    @simpleticket

    CHELAFAICHAT credo si sia dato un minimo da fare: alcuni utenti vogliono uno script pronto senza saper minimamente il PHP. CHELAFAICHAT invece ha provato a farlo, anche se in effetti forse non ci ha ragionato troppo... Forse basandosi troppo sulla vecchia discussione...

    Per il fatto della doppia discussione, quella vecchia era stata risolta. È vero che è lo stesso argomento, ma il problema è lievemente diverso. Per questo motivo non ho unito le discussioni.

    Le prossime volte, ti prego di dire queste cose all'utente in modo privato e non andando OT sul forum, salvo in evidenti casi in cui l'utente non ha minimamente idea di quello che sta facendo/chiedendo.

    Ciao!
    Ultima modifica di alemoppo : 29-08-2011 alle ore 13.22.29

  15. #15
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    ...

    @simpleticket

    CHELAFAICHAT credo si sia dato un minimo da fare: alcuni utenti vogliono uno script pronto senza saper minimamente il PHP. CHELAFAICHAT invece ha provato a farlo, anche se in effetti forse non ci ha ragionato troppo... Forse basandosi troppo sulla vecchia discussione...

    Per il fatto della doppia discussione, quella vecchia era stata risolta. È vero che è lo stesso argomento, ma il problema è lievemente diverso. Per questo motivo non ho unito le discussioni.

    Le prossime volte, ti prego di dire queste cose all'utente in modo privato e non andando OT sul forum, salvo in evidenti casi in cui l'utente non ha minimamente idea di quello che sta facendo/chiedendo.

    Ciao!
    Come già espresso in privato, chiedo scusa a CHELAIFACHAT ed a tutto il forum per l'innalzamento dei toni.


    Riguardo la problematica espressa, credo che la cosa sia un filino più complessa.
    Correggetemi se sbaglio, ma io credo di aver capito che il file su cui si va a scrivere, potrebbe anche avere più righe, e la necessità è quella di scrivere del testo dopo un certo punto (<?php //Testo ...) e prima di eventuale altro testo.

    Ho inteso bene?
    Se è così, io resto dell'idea di scrivere il testo su un altro file (dedicato solo a questo) ed includere questo ove è necessario. Non ci sono problemi di prestazioni ed il lavoro è più pulito.

    Dall'esterno a me pare che quello che CHELAIFACHAT vuole fare è quello di mostrare, in ordine cronologico inverso una sequenza di messaggi, e da qui la necessità di scrivere in cima e non già in coda ad un file.

    Sbaglio?
    Ultima modifica di simpleticket : 29-08-2011 alle ore 15.17.31

  16. #16
    Guest

    Predefinito

    lo script non mi funziona :
    -scrivo ciao
    Codice PHP:
    <?php /testo che non cambiaciao <br>
    -scrivo italia (mi cancella tutto e scrive)
    Codice PHP:
    <?php /testo che non cambiaitalia <br>
    ho provato a cercare qualche errore ma non ho trovato niente
    #sipleticket
    hai inteso bene..(scrivere nel testo dopo un certo punto (<?php //Testo ...) e prima di eventuale altro testo.)
    prima di aprire un topic ho pensato al include ma cosi sono 2 file php.
    #alemoppo quello che ha descritto simpleticket e un append?
    grazie per l'aiuto che mi state dando
    Ultima modifica di CHELAIFACHAT : 29-08-2011 alle ore 22.32.37

  17. #17
    Guest

    Predefinito

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    ...
    hai inteso bene..(scrivere nel testo dopo un certo punto (<?php //Testo ...) e prima di eventuale altro testo.)
    prima di aprire un topic ho pensato al include ma cosi sono 2 file php.
    ...
    Sicuramente sarà 1 file php ma l'altro (quello coi contenuti) può essere un file anche senza estensione (così come .txt, .inc, .dat, .php, ...)
    Tu andresti a modificare solo i contenuti, mentre tutto il resto (posizione, stile, ecc) resta definito nel primo file.

    Ma scusa, anche per una migliore gestione non ti conviene memorizzare i messaggi in un db? (pensa solo, usando i file, per cambiare l'ordine cronologico di presentazione dei messaggi per lo meno sarai costretto a tripli salti mortali carpiati ...

  18. #18
    Guest

    Predefinito

    quindi non si puo fare niente? attendiamo una risposta da alemoppo forse lui ha qualche soluzione a riguardo
    EDIT: non ho mai usato un database
    Ultima modifica di CHELAIFACHAT : 29-08-2011 alle ore 23.15.19

  19. #19
    Guest

    Predefinito

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    quindi non si puo fare niente? attendiamo una risposta da alemoppo forse lui ha qualche soluzione a riguardo
    No. non ho detto che non si può fare niente.
    Ho detto che usando un db avresti molta più flessibilità.
    Che non vuol dire che non si possa fare.



    Una mia soluzione:

    pagina index.php

    Codice PHP:
    <?php
    if(isset($_POST['Contenuto'])) {
    $Pagina = "mess.txt";
    if(!
    file_exists($Pagina)) {
    $fp = fopen($Pagina, 'w');
    if(!
    $fp) die('Problemi a creare il file '.$Pagina);
    fclose($fp);
    }

    $fp = fopen($Pagina, 'a');
    if(!
    $fp) die('Problemi ad aprire il file '.$Pagina);
    $fw = fwrite($fp, "-----------------\r\n".$_POST['Contenuto']."\r\n");
    if(!
    $fw) die('Problemi durante la scrittura nel file'.$Pagina);
    fclose($fp);
    }
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> ">
    <input name="Contenuto" type="text" value="">Messaggio<br>
    <input name="submit" type="submit" >
    </form>
    pagina mare.php

    Codice PHP:
    <?php
    // Qui metti quello che ti pare

    $Pagina= 'mess.txt';
    if(!
    file_exists($Pagina)) {
    $fp = fopen($Pagina, 'w');
    if(!
    $fp) die('Problemi a creare il file '.$Pagina);
    fclose($fp);
    }

    echo
    "<pre>";
    require_once(
    'mess.txt');
    echo
    "</pre>";
    // Qui continui col tuo file
    ?>

    e i messaggi sono salvati in mess.txt, che viene creato al primo messaggio.

    Se provi ad aprire mare.php vedrai che il testo sta li dove lo hai messo nel codice php senza preoccuparti di quello che sta prima o dopo.
    Ho personalizzato un po' la cosa inserendo una serie di trattini per separare i messaggi, ma queste son personalizzazioni che puoi fare, non fare o modificare.

    PS. il codice di alemoppo non funziona in quanto ha scritto prima

    Codice PHP:
    $Pagina = "mare.php";
    e subito dopo

    Codice PHP:
    if(!file_exists($pagina))
    Notare $Pagina e $pagina (2 variabili diverse!)
    Ultima modifica di simpleticket : 29-08-2011 alle ore 23.29.07

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

    Predefinito

    Citazione Originalmente inviato da CHELAIFACHAT Visualizza messaggio
    lo script non mi funziona :
    [...]
    Con la correzione di simpleticket (chiedo scusa, ma con appena 5 ore di sonno... ), ho provato il mio e fa quello che hai indicato qui. (aggiunge anche un <br> dopo ogni parola, visto che nei sorgenti prima l'avevi messo...), ma lo puoi togliere molto facilmente.

    Ah, comunque ha ragione simpleticket: è molto meglio usare un file esterno o, come avevo detto dall'inizio, un database.

    Ciao!
    Ultima modifica di alemoppo : 29-08-2011 alle ore 23.56.32

  21. #21
    Guest

    Predefinito

    non so come posso ringraziarvi per il tempo perso ..ma il minimo che posso fare è dirvi grazie di tutto :)
    EDIT: scusatemi di nuovo.. per curiosità ..se volessimo che i messaggi nuovi fosserò visualezzati in alto come posso fare??.
    esempio:
    -scrivo ciao
    Codice PHP:
    <?php //testo che non cambiaciao
    -scrivo cane
    Codice PHP:
    <?php //testo che non cambiacaneciao
    -scrivo nuovissimo
    Codice PHP:
    <?php //testo che non cambianuovissimocaneciao
    Ultima modifica di CHELAIFACHAT : 30-08-2011 alle ore 02.09.13

  22. #22
    Guest

    Predefinito

    Una soluzione usando un solo file:

    Codice PHP:
    <?php
    $Pagina
    = "mess.txt";
    if(!
    file_exists($Pagina)) {
    $fp = fopen($Pagina, 'w');
    if(!
    $fp) die('Problemi a creare il file '.$Pagina);
    fclose($fp);
    }

    if(isset(
    $_POST['Contenuto'])) {
    filesize($Pagina) > 0 ? $old = file_get_contents($Pagina) : $old ="";
    $new = $_POST['Contenuto']."\r\n-----------------\r\n".$old;
    $fw = file_put_contents($Pagina, $new);
    if(!
    $fw) die('Problemi durante la scrittura nel file'.$Pagina);
    }
    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?> ">
    <input name="Contenuto" type="text" value="">Messaggio<br>
    <input name="submit" type="submit" >
    </form>
    <hr />
    <?php
    // Qui metti quello che ti pare
    echo "<pre>";
    require_once(
    'mess.txt');
    echo
    "</pre>";
    // Qui continui col tuo file
    ?>
    Ho unito index.php e mare.php in modo da mostrare i messaggi sotto al form.
    I nuovi messaggi stanno sopra.

    Come vedi l'uso di file ti rende molto rigido, l'uso di un database ti concederebbe, ad esempio, la possibilità di invertire al volo l'ordine di presentazione, o l'implementazioni di funzioni di ricerca, o la possibilità di cancellare, sempre al volo, un messaggio, ...

Tags for this Thread

Regole di scrittura

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