- Home
- Categorie
- Coding e Sistemistica
- PHP
- Modificare lo script di un guestbook
-
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".' <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.
-
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:
-
Per i pigri:
<?php
// Il messaggio
$message = "Nuovo messaggio sul guestbook!\n Commento: $commento";// Invia mail
mail('[email protected]', 'Nuovo messaggio sul guestbook', $message);
?>
-
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".' <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?
-
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".' <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]
-
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!.
-
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".' <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.
-
Ogni volta che mi rispondete sto qualche minuto a decifrare il messaggio
proverò più tardi,
mille grazie ancora!.
-
Non ho fatto altro che togliere i tag html ed inserire "\n" che corrisponde all'andare a capo. Nient altro!
-
Certo che il web è piccolo...
Mi sembra familiare questo script... :():