• User Newbie

    Modificare lo script di un guestbook

    Salve,
    volevo sapere se qualcuno può aiutarmi a modificare lo script di un guestbook [funzionante] in modo che io venga avvertito ogni volta che qualcuno usa il guestbook,
    ovvero se lascia un messaggio tramite esso.
    Lo script è questo:

    <?php
    $data=date("d-m-y");
    $ora=date("G:i");
    $nome=Stripslashes(Strip_tags($_POST['nome']));
    $città=Stripslashes(Strip_tags($_POST['città']));
    $mail=Stripslashes(Strip_tags($_POST['mail']));
    $url=Stripslashes(Strip_tags($_POST['url']));
    $commento=Stripslashes(Strip_tags($_POST['commento']));
    $ver = $_POST['par'];
    if ($ver != 'sia') {
    header("Location: guestbook.php");
    } else {
    $leggi_file=fopen("guest.txt","r");
    $dim_file=filesize("guest.txt");
    $contenuto=@fread($leggi_file,$dim_file);
    fclose($leggi_file);
    $var=fopen("guest.txt","r+");
    fwrite($var, 'In data: '."$data".' alle ore: '."$ora".'&nbsp<b>'."$nome".'</b><br />Città: '."$città".'<br />E-Mail: '."$mail".'<br />Url: <a href="'."$url".'" target="_blank">'."$url".'</a><br /> scrive: <br />'."$commento".'<hr />'."$contenuto");
    fclose($var);
    header("Location: redirect.php");
    }
    ?>

    grazie a chi fosse gentile da rispondermi insegnandomi a fare questa cosa.


  • User Attivo

    Se questo è lo script ti è sufficiente inserire la funzione mail() prima della chiamata al redirect, subito dopo la fclose.

    Per informazioni sulla funzione mail, questo è il link alla documentazione ufficiale:

    php.net/manual/en/function.mail.php


  • User

    Per i pigri:

    <?php
    // Il messaggio
    $message = "Nuovo messaggio sul guestbook!\n Commento: $commento";

    // Invia mail
    mail('[email protected]', 'Nuovo messaggio sul guestbook', $message);
    ?>


  • User Newbie

    Grazie dymissy per le indicazioni e grazie a te miopc per i dettagli.
    Risolta questa cosa vorrei chiederne una forse un po' piu difficile, premettendo che cercherei volentieri di capire come fare da solo tramite quel link ma studio inglese solo da pochi giorni.
    Per ricevere le informazioni inserite nel guestbook (Nome, email, città, url, messaggio) come devo modificare la funzione mail () cioè cosa devo fare?
    Grazie per l'aiuto,
    Anacleo.

    edit: ehm, scusate, probabilmente la risposta alla mia domanda l'ha già data miopc.

    Comunque, modificando lo script da me presentato per dargli la funzione mail in questo modo:

    if(
    fwrite($var, 'In data: '."$data".' alle ore: '."$ora".'&nbsp<b>'."$nome".'</b><br />Città: '."$città".'<br />E-Mail: '."$mail".'<br />Url: <a href="'."$url".'" target="_blank">'."$url".'</a><br /> scrive: <br />'."$commento".'<hr />'."$contenuto")
    )
    {
    mail('[email protected]', 'Guest', 'Nuova firma sul guestbook');
    }

    come lo devo modificare affinché mi giungano tutte le informazioni che vengono inserite nel modulo del guestbook?


  • User Attivo

    Quello che passi come secondo parametro della funzione fwrite salvalo dentro una variabile, ad esempio $messaggio e poi lo passi come parametro alla funzione mail.

    Ad esempio:
    [php]
    $messaggio = 'In data: '."$data".' alle ore: '."$ora".'&nbsp<b>'."$nome".'</b><br />Città: '."$città".'<br />E-Mail: '."$mail".'<br />Url: <a href="'."$url".'" target="_blank">'."$url".'</a><br /> scrive: <br />'."$commento".'<hr />'."$contenuto";

    if( fwrite($var, $messaggio) )
    mail('[email protected]', 'Guest',$messaggio);
    [/php]


  • User Newbie

    Grazie dymissy, funziona!
    E' un po' bruttino perché arriva tutto il codice html con i vari <b> e </br> ma si può sopportare.
    Ora lo metto nel mio sito,
    davvero tante grazie!.


  • User Attivo

    Puoi sempre modificare la stringa da inviare sostituedo i <b> e i <br /> e invii quella stringa!

    [PHP]
    $messaggio = 'In data: '."$data".' alle ore: '."$ora".'&nbsp<b>'."$nome".'</b><br />Città: '."$città".'<br />E-Mail: '."$mail".'<br />Url: <a href="'."$url".'" target="_blank">'."$url".'</a><br /> scrive: <br />'."$commento".'<hr />'."$contenuto";
    $messaggio2 = 'In data: '."$data".' alle ore: '."$ora".' '."$nome".'\nCittà: '."$città".'\nE-Mail: '."$mail".'\nUrl: '."$url".'\nscrive:\n'."$commento".'--------'."$contenuto";

    if( fwrite($var, $messaggio) )
    mail('[email protected]', 'Guest',$messaggio2);
    [/PHP]

    Insomma non ho controllato la chiusura degli apostrofi ma grosso modo l'idea è questa.


  • User Newbie

    Ogni volta che mi rispondete sto qualche minuto a decifrare il messaggio :mmm:
    proverò più tardi,
    mille grazie ancora!.


  • User Attivo

    Non ho fatto altro che togliere i tag html ed inserire "\n" che corrisponde all'andare a capo. Nient altro!


  • User Attivo

    Certo che il web è piccolo...
    Mi sembra familiare questo script... :():

    :gthi: