NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 9 - Kontaktní e-mailový formulář v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na Tomík
Tomáš Maňhal:4.7.2015 1:25

Však já Tě tady nekamenuji za to, že se to učíš...učit se to budeš celý život, jako my, pokud se tím budeš někdy živit ;-) Jde o to, že je mnohem rychlejší napsat do google "charset" než napsat požadavek do fóra a čekat na odpověď :-)

Do fóra se choď ptát, až budeš mít nějaký kód, nebude ti fungovat a i po mnoha pokusech hledání podobného problému a řešení na internetu budeš prostě bezradný. Potom jsme tu my, kteří ti rádi pomůžeme :-)

PS: Je tu mnoho tutoriálů, obrovská část zdarma, pro začátečníky :-)

 
Odpovědět
4.7.2015 1:25
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Tomík
mkub:9.7.2015 22:48

nikto uceny este nespadol z neba, tak je potrebne aby si sa naucil vyhladavat na nete a myslim, ze vysvetlenie, na co sluzi charset najdes na prvej stranke Google... tak si myslim, ze v tom pripade je to trosku hlupa otazka, pri ktorej sa stretnes s takymi vecami, ako UTFG... takze to su zakladne informacie, bez ktorych sa pri vyvoji webstranok nezaobides

 
Odpovědět
9.7.2015 22:48
Avatar
Horrigan
Člen
Avatar
Horrigan:26.7.2015 13:26

Zdravím,
chtěl bych se zeptat, s PHP nejsem moc kamarád a snažím se mu pokud možno vyhýbat, ale jsem nucený si vytvořit právě kontaktní formulář. Už jsem něco málo zbastlil, co mi i nějakým způsobem funguje (nefunguje mi tam čeština, ale to mi zrovna tak nevadí, to půjde ve druhé vlně)

Potřebuju dvě věci: S jednou si asi poradím sám, ale kdyby měl někdo lepší nápad, tak sem s tím:
Potvrzovací kopie daného mejlu na adresu, kterou zadá uživatel. Chci to řešit poměrně jednoduše, že prohodím $from a $to, zbytek nechám jak je, mb_send_mail (header jsem si připravil předem, pošlu pro oba stejný), a jen si otestuju návratovou hodnotu. Myslím, že by to tak mohlo fungovat a není to ani žádný zvěrstvo.

  1. a s tím si neporadím, i google a dokumentace mlčí (nebo nepokládám správné otázky, to spíš), je taková docela běžná věc jako jsou attachmenty. Kdysi jsem měl starý formulář, který jsem "někde" sebral (pod volnou licencí), který to uměl, ale používalo to úplně jiné věci a v tom kódu se nějak nejsem schopný vyznat, pochopil jsem to tak, že při odeslání si hodí kopii těch souborů z odesílacího stroje někam do tempu a tyto pak hodí do odesílaného mejlu jako celek s příslušnými řídícími informacemi (jako je třeba jméno, typ a počet příloh). Otázka zní: umí něco podobného i mb_send_mail(...), případně jiná metoda, jejíž výstup MB_SM přijme, nebo mám celou MB_SM zahodit a použít něco jiného? V takovém případě co?

Díky

 
Odpovědět
26.7.2015 13:26
Avatar
patrikbraborec:26.7.2015 18:18

Ahoj,

mám problém s odesíláním e-mailů, když vložím script na free webhosting (Endora) , tak mi prostě emaily nedochází.

<?php

mb_internal_encoding("UTF-8");

$hlaska = '';
if($_POST)
{
    if (isset($_POST['jmeno']) && $_POST['jmeno'] &&
                isset($_POST['email']) && $_POST['email'] &&
                isset($_POST['zprava']) && $_POST['zprava'] &&
                isset($_POST['rok']) && $_POST['rok'] == date('Y'))
    {
      $hlavicka = 'From:' . $_POST['email'];
      $hlavicka .= "\nMIME-Version: 1.0\n";
      $hlavicka .= "Content-Type: text/html; charset=\"utf-8\"\n";
      $adresa =  '[email protected]';
      $predmet = 'Nová zpráva z mailformu';
      $uspech = @mail($adresa, $predmet, $_POST['zprava'], $hlavicka);

      if ($uspech)
      {
        $hlaska = 'Email byl úspěšně odeslán, brzy Vám odpovím.';
      }
      else
        $hlaska = 'Email se nepodařilo odeslat. Zkontrolujte adresu.';

    }
      else
        $hlaska = 'Formulář není správně vyplněný!';
}

?>

        <form method="POST">
            <table>
              <tr>
                <td>Vaše jméno</td>
                <td><input name="jmeno" type="text" /></td>
              </tr>
              <tr>
                <td>Váš email</td>
                <td><input name="email" type="email" /></td>
              </tr>
              <tr>
                <td>Aktuální rok</td>
                <td><input name="rok" type="number" /></td>
              </tr>
          </table>
          <textarea name="zprava"></textarea><br />

            <input type="submit" value="Odeslat" />
            <?php
                if ($hlaska)
                echo('<p>' . $hlaska . '</p>');
            ?>
        </form>
Odpovědět
26.7.2015 18:18
To nejcennější, co všichni máme, je náš čas.
Avatar
patrikbraborec:26.7.2015 20:46

*budu rád, když mi poradíte. Děkuju

Odpovědět
26.7.2015 20:46
To nejcennější, co všichni máme, je náš čas.
Avatar
Odpovídá na patrikbraborec
Tomáš Maňhal:26.7.2015 20:57

Už to tu bylo několikrát omýláno a řešilo se to. Freehostingy mají často zakázané odesílání mailů :-)

 
Odpovědět
26.7.2015 20:57
Avatar
Odpovídá na Tomáš Maňhal
patrikbraborec:26.7.2015 21:31

Aha, tak toho jsem si bohužel nevšiml, moje chyba-ale díky za odpověď! :)

Odpovědět
26.7.2015 21:31
To nejcennější, co všichni máme, je náš čas.
Avatar
Tomáš123
Člen
Avatar
Odpovídá na patrikbraborec
Tomáš123:26.7.2015 21:48

Na e-mail, ktorý si pri registrácii použil ti prišla správa. Skontroluj si zložku spam (ak sa to nezobrazí v doručenej pošte) a prečítaj si bližšie informácie.

Odpovědět
26.7.2015 21:48
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Filip Kuboš
Člen
Avatar
Filip Kuboš:30.7.2015 11:01

Zdravím vás, mám taký problém, že mi email odošle, ale nepríde mi na zadanú adresu (nie je ani v spame). Je to z lokálneho serveru. Platí to ako pri freehostingoch, že sa nedajú posielať emaily? Vopred vďaka za radu :)

Editováno 30.7.2015 11:03
 
Odpovědět
30.7.2015 11:01
Avatar
Odpovídá na Filip Kuboš
Tomáš Maňhal:30.7.2015 11:15

Pokud nemáš na localhostu rozjetý také mailserver, tak ne, z localhostu neodešleš mail :-) Pokud používáš XAMP, tak je tam tuším schovaná fičura "Fake sendmail" a tou už by to jít mohlo, samozřejmě nejspíš jako emulace.

 
Odpovědět
30.7.2015 11:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 289.