Joku tossa edellisessä kaipasi palaute lomaketta joka lähettää kaikki lomakkeen arvot tässä olisi nyt sellainen.
palaute.php
<?php // Palaute.php // Palaute - Scripti $palaute = ""; // Elä muuta $vast = "oma@email.com"; // Kenelle lähetetään $onnis = "lahetetty.html"; // Onnistui redircetin kohde $epaonnis = "virhe.html"; // Epäonnistui redirectin kohde foreach($_POST as $nimi => $arvo){ // Käsitellään arvot $palaute .= $nimi.": ".$arvo."\n"; } $viesti = mail ($vast, "Palautetta sivuilta", $palaute, ""); if($viesti){ header("location: ".$onnis); } else{ header("location: ".$epaonnis); } ?>
palaute.html
<html> <head> <title>Palaute</title> </head> <body> <form method="POST" action="palaute.php"> <p> Nimi: <input type="text" name="nimi" size="20"></p> <p>Email: <input type="text" name="email" size="20"></p> <p>Kommentti: <input type="text" name="kommentti" size="20"></p> <p><input type="submit" value="Lähetä" name="laheta"></p> </form> </body> </html>
tässä ois nyt semmoinen.
viestiin tulee muodossa:
Kentän nimi: Kentän arvo
toivottavasti testä on jollekkin hyötyä.
Toimii :) Rock.
Hyvä esimerkki mailaamisesta ja taulukkojen käsittelystä, vaikka itse tykkään enemmän while() -loopista ;)
Hienoa! Nyt sain varmasti toimivan palautelomakkeen omille sivuilleni; kiitos, Niko!
Loistavaa, tämän otankin heti käyttöön Ankkalinnakkeeseen :D
Okkei.. Toimiikos toi php-sydeemi ihan niin, että kopypeistaa ton Notepadii ja seivaa nimellä palaute.php vai pitääkö siihen lisätä <html><head><title> -hössötykset?
Kaikki nämä palauteskriptit joita olen kokeillut ovat toimineet muuten ihan hyvin, mutta viesti ei koskaan mene perille s-postiini. Mistähän voi johtua?
Onko tää semmonen joka lähettää palautteen suoraan mailiin?
tätä mä tarttinkin. kiva
Kiitos! ei mitään ongelmia ole ollut tän skriptin kans..
<?php
// Palaute.php
// Palaute - Scripti
$palaute = ""; // Elä muuta
$vast = "myemail@my.com"; // Kenelle lähetetään
$onnis = "Formi lähetetty osoitteeseen: ---@---.fi"; // Onnistui redircetin kohde
$epaonnis = "Formia ei voitu lähettää eteenpäin, ota yhteys webmasteriin: ---@---.fi"; // Epäonnistui redirectin kohde
foreach($_POST as $nimi => $arvo){ // Käsitellään arvot
$palaute .= $nimi.": ".$arvo."\n";
}
$viesti = mail ($vast, "Palautetta sivuilta", $palaute, "");
if($viesti){
print ("$onnis ");
}
else{
print ("$epaonnis ");
}
?>
Pistin koodin tommoseks? Mitää aukkoja esim?
Mua jäi kiusaamaan se että ku mulle tulee sähköpostia ni siin lukee otsikkona: apache
Tässäkin tuntuu olevan se bugi, että voi lähetää tyhjän palautteen?
Ei toimi Futuronin palvelimellani, mutta toimii esim. MBnetin servulla. Missä vika? Ei tule mitään virheilmoitusta, mutta viesti ei vain tule perille.
Toi on melkin kokonaan kopsattu PHP-oppaasta :)
Ape: Kysy futuronin ylläpidolta onko mail() funktio käytössä
Aihe on jo aika vanha, joten et voi enää vastata siihen.