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
759
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
- 392497
Maatalous- ja yritystuet pois, työeläkevaroilla valtion velka pois
Suomi saadaan eheytettyä kädenkäänteessä, kun uskalletaan tehdä rohkeita ratkaisuja. Maatalous- ja yritystuet ovat hait31518Mies mä oon ihan helppo
Miehelle johon oon ihastunut. Olen harvoin ihastunut, mutta suhun olen. Ei tarvitse kuin pyytää, niin...381373- 841323
- 631211
Mies olen aika erakko nykyään
Vanhentunutkin olen muutamana viime vuonna parikyt vuotta. Kun en ennenkään kelvannut, niin tuskin nytkään kelpaan. Lisä40959Lavroville taitaa olla jo ikkuna raollaan?
Lavrovin syytä välttää korkeita paikkoja ja ikkunoiden läheisyyttä.Ettei vain keikahda ikkunasta pihalle.124843- 31771
Ylen johdon hulppeat bonukset alkavat taas
Suora kopio Iltalehdestä: "Asiasta kertoo Iltalehdelle Ylen hallituksen puheenjohtaja Matti Apunen. Mitä tulospalkkioi25623Skenaario
Elämä ja kuolema ovat merkillisin nyytti olevaisuutta. Mutta kun kumpaakaan ei ole, syntyy lapsuksia, joita korjaamaan58596