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
804
Vastaukset 5
- 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
- 901328
- 45677
- 20639
- 52584
- 46569
Sinisilmäiselle tutulle miehelle
Iltaisin ikävä pahenee ja olet usein mielessä. Toivon merkitseväni sinulle paljon. On ihan hirveän vaikeaa miettiä, mit38549- 70541
Nainen ... ala olemaan miehille täysin hyödytön
Otsikossa on paras neuvo jokaiselle naiselle, jonka hän voi koskaan saada. Moni mieshän ajattelee jo nyt, että naiset o132538- 41512
Ylen typerät rinnastukset.
Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan177486