Autor Zpráva
Zdeny
Profil
Zdravím všechny,
nejdřív Vám ukáži co chci použít/používám a pak položim dotaz :)
JS
<script type=text/javascript>
  <!--
    function kontrola_emailu(adresa) {
      re = /^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$/;  
        return adresa.search(re) == 0;
    }
    function kontrola_formulare() {
    if (!kontrola_emailu(self.document.forms.novinky.vlozeny_email.value))
      {
      alert("Chybně zadaný e-mail!");
      return false;
      }
    alert("Odeslano. Budete přesměrovani");
    return true;  
    }
    // -->
  </script>
HTML
<form name="novinky" onsubmit="return kontrola_formulare();" action=mail.php method=post>
<input name="vlozeny_email">
<input type="submit" value="Odeslat">
PHP
<?php
$vlozeny_email =  substr(htmlspecialchars(trim($_POST['vlozeny_email'])), 0, 50); 
$predmet = "info";
$prijemce = "muj@mejl.cz";
$zahlavi = "From: " . $vlozeny_email . "\r\n"; 
$telo = $_POST['vlozeny_email'];

function kontrola($vlozeny_email)
{
if(preg_match("/^[\w-\.]+@([\w-]+\\.)+[a-zA-Z]{2,4}$/", $vlozeny_email))
        return true;
    else
        return false;
}
if ( kontrola($_POST['vlozeny_email'])) {
  mail($prijemce, $predmet, $telo, $zahlavi);
  echo "Váš e-mail byl odeslan.";
  header("location:http://www.seznam.cz"); 
} else {
  echo "<h3>Nastala chyba</h3>";
}
?>

Tyto kódy jsou funkční a fungují, tak jak potřebuji, tzn., že návštěvník na stránce zadá svůj e-mail a dá odeslat, otestuje se zda zadaný e-mail je platný a provedes e jeho odeslani na požadovanou adresu. V mejlu se zadaný e-mail zobrazí jak v samotném těle mejlu, tak i části odesilatele.

Teď k samotnému dotazu:

1) JS jsem použil z důvodu, že chci návštěvníka informovat o tom, že došlo ke stisku tlačítka odeslat a v případě, že je vše ok nechat(přesměrovat) ho na stávající stránce. V php jsem nepřišel na nic jiného, než ho přesměrovat rovnou bez "ok - odeslani proběho" (koukal sem, že by asi šlo použít sleep, ale to nechci) a nebo vypsani "ok - odeslani probehlo" ale uživatel by se musel na předchozi nebo jinou stránku prokliknout. JDE to tedy vyřešit nějak elegantněji, abych soubor.php zavolal, provedl, ale nezobrazila se mi nová stránka. Použití JS mi příjde zbytečne, ale jinak nevím jak na to.

2) Pokud vše proběhne jak má, vyskočí nějaká hláška ve smyslu "ok - přesměrovávám " je to úplně vhodné? Přeci jen, to je varovné sdělení a nepozorného uživatele to může zmást (pokud si nepřečte co je tam napsáno) a může si myslet, že došlo k chybě. ANO tím by můj bod 1) ztrácel na významu, uživateli by se pomocí php zobrazila hláška "OK" a on by kliknul na odkaz a byl by přesměrován kam by chtěl. Takže jak? :)

3) Šlo by to automatizovat? určitě! ale jak?? :) Funkčnost výše uvedeného kódu je taková. Stránky jsou pro 3. osobu, té příjde z těchto stránek e-mail s klientovou mejlovou adresou, kterou si uloží do adresáře a každý, např. týden bude v určitý den odesílat na tyto adresy informační zprávu s přílohou v pdf... E-maily bych do databáze uložit dokázal, ale co dál, jak nastavit pravidelné odesílání - to by asi byl nejmenší problém, ale jak udělat, aby tam ta 3. osoba vložila zpravu a soubor.pdf? Zřejmě přes ftp nebo webadmin na určité místo a databáze by si tyto soubory načetla/ připojila. Určitě by to šlo pomocí administrace, ale do toho se pustit..to je pro mě passé. Takže nějaké návrhy?? (3. osobě to tak, jak to zatím je vyhovuje nejvíce, sbírá si mejly do adresáře a když chce rozešle hromadný e-mail s jakou chce zprávou a přílohou, ale přeci jenom, já bych to chtěl zefektivnit a zmodernizovat :) ale bohužel, zatím jsou moje znalosti php atd. na skomírající úrovni :)

Všem moc díky za rady a koukám, že sem se nějak rozepsal, tak snad se to bude chtít někomu přečíst :)
candiess
Profil
Zdeny:
Ad1
Stejně volíte f-ci alert(), která je oznamovacího typu, takže vám ve výsledku stejně příjde úplně jedno jakým stylem to dáte najevo.

Ad2
Bude se to odvíjet podle toho, co si odpovíte v Ad1.

nepozorného uživatele to může zmást (pokud si nepřečte co je tam napsáno) a může si myslet, že došlo k chybě
Doporučuji to udělat formou hlášky, ne planý text, ale nastylovat varovné hlášky tak, aby je nepřehlédl.

Ad3
Pokud to má mít nějakou úroveň, administraci se nevyhnete a mnohdy to ulehčí spoustu práce oproti webadminu.

každý, např. týden bude v určitý den odesílat na tyto adresy informační zprávu s přílohou v pdf
A to buď fyzická osoba a nebo CRON, CRON je aplikace, která spouští dané URL (váš skript) v daných časech.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: