Sende mail når der bliver klikket ok
HejHar følgende php kode, som jeg har fundet på nettet.
Det er en simpel gæstebog, som jeg godt vil udvide lidt.
At når man klikker på "gem i gæstebog"..
så modtager jeg en mail på, at der er skrevet i den.
Det skal siges.. jeg fatter IKKE php, og mit webhotel desværre ikke understøtter msaccess.
Så håber en hjælpsom person vil give lidt hjælp :)
Her er koden til gæstebogen..
<?php
// Definer navn på txt-fil og tjek at den findes, og hvis ikke, så lav den.
$filnavn = "gaestebog.txt";
if(!file_exists($filnavn)) {
$fp = fopen($filnavn, 'w+');
if ($fp) {
fputs($fp, "");
fclose($fp);
}
chmod($filnavn, 0777);
}
clearstatcache();
// Er der klikket på submitknappen?
if (isset($_POST['navn'], $_POST['email'], $_POST['homepage'], $_POST['besked'])) {
//hvis textarea-feltet er tomt, er der ingen grund til at skrive noget i textfilen
if(empty($_POST['besked'])) {
header("Location:". $_SERVER['PHP_SELF'] ."");
exit;
}
//definerer $felter som et array, for nemmere at kunne "bearbejde" input
$felter = array();
// en foreach til at bearbejde inputs
// 1. Fjerne html tags
// 2. Fjerne alle | tegn da de bruges til at holde info adskilt
// 3. Gøre brug af LJweb\'s tagster
foreach($_POST as $value) {
$value = strip_tags($value);
$value = ereg_replace("(\|)", "", $value);
// LJweb's tagster, som kan findes på "http://ljweb.biz" eller "http://lars.jensen.name"
// Spørg mig IKKE om hvordan den virker, men den virker! :O) (steffen)
$value = " ".$value;
$value = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])((ftp|http|https|telnet|news|nttp|nntp|file):\/\/[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@\&:;,=\?\/_\+-])+)", "\\1<A HREF=\"\\2\" TARGET=\"_blank\">\\2</A>", $value);
$value = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])(www\.[a-z0-9~#%@\&\(\):;=\?\/\.,_-]+[a-z0-9~#%@\&:;,=\?\/_\+-]+)", "\\1<A HREF=\"http://\\2\" TARGET=\"_blank\">\\2</A>", $value);
$value = eregi_replace("([_\.0-9a-z-]+@([0-9a-z-]+)+\.[a-z]{2,4})","<A HREF=\"mailto:\\1\">\\1</A>", $value);
// Slut på tagster
//Undgå at \ bliver sat før ' og " når der skrives til filen
$value = stripslashes($value);
// Bruger array'et $felter
// $felter[0] starter med første input felt, $_POST['navn'], o.s.v.
$felter[] = $value;
}
//Omdan f.eks. æ til htmlkode, lagt her for ikke at "forstyrre" tagsteren
$felter[0] = htmlentities($felter[0]);
$felter[3] = htmlentities($felter[3]);
// Erstatter entertryk fra textarea'et med en enkelt <br>-tag så linieskift osse vil blive vist
$felter[3] = ereg_replace("(\r\n|\n\r|\n|\r)+", "<br>", $felter[3]);
// Hvis navn $felter[0] ikke er indtastet, skriver vi anonym i stedet
if(empty($felter[0])) {
$felter[0] = "Anonym";
}
// finder tidspunkt
$tid=date("d-m-Y : H:i:s",time());
// Den streng som skal skrives til textfilen, startende med tidspunkt og afluttet med en ny linie
$str = $tid ."|". $felter[0] ."|". $felter[1] ."|". $felter[2] ."|". $felter[3] ."\n";
// Åben txt-filen for skrivning
$fp = fopen($filnavn, 'a+');
if ($fp) {
fputs($fp, $str);
fclose($fp);
}
//redirecte til filen selv
header("Location:". $_SERVER['PHP_SELF'] ."");
exit;
}
?><html><head><title>Gæstebog</title>
<style type="text/css">
body, td, th {font-family: arial; font-size: 0.8em; color: black; background-color: #ffffff;}
a:link {color: #4f0000; text-decoration: underline;}
a:visited {color: black; text-decoration: underline;}
a:hover {color: #4f0000; text-decoration: none;}
a.menu:hover {color: #4f0000; text-decoration: none; background-color: #cfd192;}
.big {font-size: 2.4em;}
.input {color: black; background-color: #ffffff; font-family: arial; font-size: 0.9em; border-color: black; border-width: 1px;}
.submit {font-family: arial; font-size: 0.8em; border-width: 1px; border-color: black;}
.fra {background-color: #999966; color: white;}
.besked {background-color: #eaeaea; color: black; padding-left: 16px; padding-left: 10px;}
</style>
</head>
<body>
<center>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="0" width="70%" cellspacing="0" cellpadding="4"><tr>
<td class="big" align="center">Gæstebog</td>
</tr><tr>
<td align="center" style="border-bottom: solid black; border-width: 1px;"><table border="0" cellspacing="0" cellpadding="4"><tr>
<td>Dit navn:<br>
<input type="text" name="navn" size="24" class="input"></td>
<td>Din email:<br>
<input type="text" name="email" size="24" class="input"></td>
</tr><tr>
<td colspan="2">Din hjemmeside:<br>
<input type="text" name="homepage" size="52" value="http://" class="input"></td>
</tr><tr>
<td colspan="2" align="center"><textarea cols="48" rows="8" name="besked" class="input"></textarea><br>
<input type="submit" value="Tilføj indlæg" class="submit"></td>
</tr></table></td>
</tr><?php
$indhold = file($filnavn);
// for-løkke til at hente hver linie ud af txt-filen.
// Startende med sidste linie først! Tak til jakoba og tipsen fra eksperten for hjælp
for ($i = count($indhold)-1; $i >=0; $i--) {
// Del hver linie op efter " | " og "ignorer" nylinie tegn, "chop"
$vis = split("\|", chop($indhold[$i]));
// Lav output
echo"<tr>\n";
echo" <td class=\"fra\" style=\"border-left: solid black; border-right: solid black; border-width: 1px;\">Indlæg af ". $vis[1] ." d. ". $vis[0] ." Email: ". $vis[2] ." ". $vis[3] ."</td>\n";
echo"</tr><tr>\n";
echo" <td class=\"besked\" style=\"border-left: solid black; border-right: solid black; border-bottom: solid black; border-width: 1px;\">". $vis[4] ."</td>\n";
echo"</tr>";
}
?></table>
</form>
</center>
</body></html>
