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
762
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
Yritystuet 10 mrd. vuodessa, eli yrittäjäriski valtiolla kuten kommunismissa
Pelkästään Viking Linen viinanhakuristeilyitä sponsoroidaan 20 miljoonalla eurolla vuosittain. Dieselin verotukikin on1209935- 1039795
Sannan kirja USA:n bestseller!
"Congratulations to Sanna Marin's HOPE IN ACTION, officially a USA TODAY bestseller!" Kertoo Scribner. Mitäs persut tä349101- 217901
Sture Fjäder haluaa tuensaajien nimet julki
Kokoomuspoliitikko haluaa yli 800 euroa kuukaudessa tukia saavien nimet julki. Ehkä olisi syytä julkaista myös kuvat? h1776284Luotathan siihen tunteeseen, joka välillämme on?
Uskothan myös, että se kestää tämän? Kaipaan sinua valtavasti. Vielä tehdään yhdessä tästä jotain ihmeellistä ja kaunist585488Onnettomuus
Hukkajärventiellä kolaroi lavetti ja henkilöauto. Uutista ei missään! Hys hys ollaanko hiljaa tästäkin?104952Metsäalan rikolliset
Jokohan alkaa vähitellen kaatua kulissit näillä ihmiskauppaa harjoittavilla firmoilla.304802- 394438
- 404425