Eli tämä saattaapi olla helpohko ongelma arvon raadille.
Olen tehnyt muutaman erilaisen koe/harjoitus koodauksen, mutta en saa lomakkeelta tarvittavia tietoja siirtymään php:lle.
Lomake/selain kyllä siirty action koodilla testi.htm:stä -> testi.php:lle. Mutta testi.php ei osaa ottaa lomakkeelle syötettyä tietoa ylös. (tai testi.htm-lomake ei osaa sitä lähettää testi.php:lle. en tiedä)
Eli ongelmani on seuraavanlainen:
Olen yrittänyt saada www-sivuiltani lähetettyä sähköpostin itselleni. Ja ainut "copy paste" koodaus jolla olen siinä onnistunut, on tämä:
ONGELMANI onkin, että miten saan yllä olevan $to arvoa (eli email tunnuksen) muutettua yhdessä tällä form-koodilla ?
(Koodauksen tarkoitus olisi, että vierailija voisi kirjoittaa oman maili tunnuksen ja saisi sitten sivustoltani postin..)
Nimimerkillä:
30v ukko jolla kokemusta php-koodauksesta 2päivää :)
FORM ja PHP
5
712
Vastaukset
- näin mene..
$to = $_get('email');
- keksa
testi.html
testilomake
testi.php
Lisäksi sun pitäis tarkistaa, että email sisältää vain sallittuja merkkejä ja että se on validi email-osoite. Toiseksi lomakkeen avulla voisi nyt spämmätä mitä haluaa sähköpostiosotteita roskapostilla - keksa
testi.html
testilomake
testi.php
Lisäksi sun pitäis tarkistaa, että email sisältää vain sallittuja merkkejä ja että se on validi email-osoite. Toiseksi lomakkeen avulla voisi nyt spämmätä mitä haluaa sähköpostiosotteita roskapostilla- alkuperäinen.
Alkuun ISO KIITOS sinulle, antamasi koodaus toimi!! Tosin vain ilman php-koodin yläosaa. Eli ilman tätä:
//onko email muuttuja POST-arrayssä?
if(!isset($_POST['email']))
{
//ei oo. takas lomakeeseen
header("Location: http://www.munsivut.com/test.html");
exit();
}
Nyt laitoin roskapostittamisen ehkäisyksi tällaiset koodit:
//TÄMÄN ALKUUN
session_start();
$to = $_POST['email'];
$subject = "Terve";
$body = "Moro";
$from = "From: Sinun Testi";
//TÄMÄN
if (isset($_SESSION["form_time"]) and $_SESSION["form_time"] > time()) die ("Virhe: Roskapostittamisen ehkäisyksi on sallittua lähettää vain yksi viesti per 10 minuuttia.");
if (mail($to, $subject, $body, $from)) {
// JA TÄMÄN
$_SESSION["form_time"] = time() 60 * 10;
echo("Viesti lähti.");
} else {
echo("No eipä lähteny.");
}
exit();
?>
Lisäksi olen ajatellut laittaa lähetäjän ip-numeron body osan loppuun Meneeköhän se näin (?):
$body = "Moro" "Lähettäjän IP-numero: " . getenv("REMOTE_ADDR");
Onkohan jotain vielä mitä tulisi huomioida? Esim. miten saa tehtyä sellaisen, että roskapostin ehkäisyksi vierekkäin on kaksi eri laatikkoa, joihin pitää kirjoittaa SAMA sana.
Esim näin:
Laatikko1: Kissa
Laatikko2: Kissa
= SAMAT sanat ja viesti lähti
Laatikko1: Aipina
Laatikko2: Istui
= ERI sanat ja viesti ei lähde alkuperäinen. kirjoitti:
Alkuun ISO KIITOS sinulle, antamasi koodaus toimi!! Tosin vain ilman php-koodin yläosaa. Eli ilman tätä:
//onko email muuttuja POST-arrayssä?
if(!isset($_POST['email']))
{
//ei oo. takas lomakeeseen
header("Location: http://www.munsivut.com/test.html");
exit();
}
Nyt laitoin roskapostittamisen ehkäisyksi tällaiset koodit:
//TÄMÄN ALKUUN
session_start();
$to = $_POST['email'];
$subject = "Terve";
$body = "Moro";
$from = "From: Sinun Testi";
//TÄMÄN
if (isset($_SESSION["form_time"]) and $_SESSION["form_time"] > time()) die ("Virhe: Roskapostittamisen ehkäisyksi on sallittua lähettää vain yksi viesti per 10 minuuttia.");
if (mail($to, $subject, $body, $from)) {
// JA TÄMÄN
$_SESSION["form_time"] = time() 60 * 10;
echo("Viesti lähti.");
} else {
echo("No eipä lähteny.");
}
exit();
?>
Lisäksi olen ajatellut laittaa lähetäjän ip-numeron body osan loppuun Meneeköhän se näin (?):
$body = "Moro" "Lähettäjän IP-numero: " . getenv("REMOTE_ADDR");
Onkohan jotain vielä mitä tulisi huomioida? Esim. miten saa tehtyä sellaisen, että roskapostin ehkäisyksi vierekkäin on kaksi eri laatikkoa, joihin pitää kirjoittaa SAMA sana.
Esim näin:
Laatikko1: Kissa
Laatikko2: Kissa
= SAMAT sanat ja viesti lähti
Laatikko1: Aipina
Laatikko2: Istui
= ERI sanat ja viesti ei lähde>Laatikko1: Kissa
>Laatikko2: Kissa
>= SAMAT sanat ja viesti lähti
formiin:
php tarkistus:
if (!isset($_POST['laatikko1']) || !isset($_POST['laatikko2']) || $_POST['laatikko1'] 1= $_POST['laatikko2']) {
die('Virhe!');
} else {
....
}
About noin kun nopeesti tässä väsyneenä miettii
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Persuilla ja Saksi-Riikalla meni sitten pornon levittämiseksi koko touhu.
Onko kenellekään yllätys?1801915Hei A, osaatko
sanoa, miksi olet ihan yhtäkkiä ilmestynyt kaveriehdotuksiini Facebookissa? Mitähän kaikkea Facebook tietää mitä minä en501836Synnittömänä syntyminen
Helluntailaisperäisillä lahkoilla on Raamatunvastainen harhausko että ihminen syntyy synnittömänä.1351568Euroviisut fiasko, Suomen kautta aikain typerin esitys, jumbosija odottaa. Olisi pitänyt boikotoida!
Tämän vuoden euroviisut on monella tapaa täydellinen fiasko. Ensinnäkin kaikkien itseään kunnioittavien eurooppalaisten1371363Mitä tämä tarkoittaa,
että näkyy vain viimevuotisia? Kirjoitin muutama tunti sitten viestin, onko se häipynyt avaruuteen?411314Nukkumisiin sitten
Käsittelen asiaa tavallani ja toiveissa on vielä että tästä pääsee hyppäämään ylitse. Kaikenlaisia tunteita on läpikäyny41174Muistatko komeroinnin?
Taannoin joskus kirjoitin aloituksen tänne komeroinnista eli hikikomoreista; syrjäytyneistä nuorista ihmisistä. Ehkä asu481152Naisten tyypilliset...
Naiset ei varmaan ymmärrä itse miten karmealle heidän tavara haisee. Miehet säälistä nuolevat joskus, yleensä humalassa101121Syö kohtuudella niin et liho.
Syömällä aina kohtuudella voi jopa laihtua.On paljon laihoja jotka ei harrasta yhtään liikuntaa. Laihuuden salaisuus on101099Tuollainen kommentti sitten purjehduspalstalla
"Naisen pillu se vasta Bermudan kolmio on. Sinne kun lähdet soutelemaan niin kohta katoaa sekä elämänilo että rahat"31098