Hledáme Nette programátory a kolegy - super tým i plat
Téma zamknuto
Zobrazují se odpovědi 1 až 15 z 15

Pomoc se scriptem pro odesílání jednoduchého emailu

  1. Zdravím všechny,
    potřeboval bych moct se scriptem pro odesílání jednoduchého formuláře. Dokázal by mi s tím někdo pomoct aby to fungovalo ?

    Díky

    David

    Formulář vypadá takto:
    Kód:
    <div id="add_mail"> 
            <input type="text" id="mail_address" value="Pro více  informací vložte email" /><span  id="submit_link">Vožit</span> 
    </div>
    Script pro odeslání vypadá takto:
    Kód:
    $(document).ready(function(){
        
        $("#mail_address").focus( function(){ 
            if( ( $(this).val() == "Pro více informací vložte email" ) || ( $(this).val() == "Vložily jste neplatný email!" ) || ( $(this).val() == "Database Error" ) ){    $(this).val(""); }  } );
        
    //    $('li').mouseover(function(){ $(this).animate( { marginTop: '+=5px' },300); });
    //    $('li').mouseout(function()    { $(this).animate( { marginTop: '-=5px' },300);    });
        
        $('#submit_link').click(function()
        { 
            email = $("#mail_address").val();
            if(!check_mail(email)){    $("#mail_address").val("Vložily jste neplatný email!"); }
            else
            {
                $("#mail_address").val("Zpracovávám...");
    //            $.ajax({ type: 'POST', url: send.php, data: 'email=' + email, success: function(ajaxCevap){ $("#mail_address").val( ajaxCevap ); } });
                $.post("send.php", {email:$("#mail_address").val()}, function (ajaxCevap) {$("mail_address").val(ajaxCevap);} )
            }
        });
        
        $(function () {
            var austDay = new Date();
            austDay = new Date(year, month - 1, day, hour, minutes, seconds );
            $('#count_down').countdown({until: austDay});
        });
    });
    
    var email = " ";
    var toggle_value = "open_about";
    var koordinat_x;
    var koordinat_y;
    
    function check_mail( email ){ return (email.indexOf(".") > 2) && (email.indexOf("@") > 0); }
    A php soubor send.php vypadá takto:
    PHP kód:
    <?php 
    $mail 
    $_POST['mail_address']; 
    $from "tento email je od " $mail
    $predmet $from
    $text " "

    $prijemce "jmeno@server.com"
    $zahlavi "From: " $mail "\r\n" $from "\r\n";  
    if ( !empty(
    $mail)) { 
        
    mail($prijemce$predmet$text$zahlavi); 
        echo 
    "<h3>Děkujeme. Váš email byl úspěšně odeslán.</h3>";  

        } else { 
            echo 
    "<h3>Nevyplnili jste všechna pole. Mail nebyl odeslán.</h3>";  
            } 
    ?>

  2. Ja ti pomuzu alespon s jazykem ceskym.

    "Vložily jste neplatný email" -> neco tu smrdi ;-)

  3. a proc vubec pouzivat javascript?
    muze byt vypnuty

  4. Jelikož je to již hotový script jen ho stačí doupravit.
    A javascript je zapnutý (běží tam odpočítavadlo).

  5. Hlasi neco chybova konzola (FF)?

  6. u uzivatele

  7. Citace Původně odeslal acidclick Zobrazit příspěvek
    Hlasi neco chybova konzola (FF)?
    Nevím co máš teď přesně na mysli. Ale, když vložím email třeba d@d.cz tak se objeví pouze "Zpracovávám..." a to je všechno.

  8. Citace Původně odeslal netos Zobrazit příspěvek
    Ja ti pomuzu alespon s jazykem ceskym.

    "Vložily jste neplatný email" -> neco tu smrdi ;-)
    Co když ten mail slouží pouze pro ženy? ;)

  9. Citace Původně odeslal Bacon Zobrazit příspěvek
    Co když ten mail slouží pouze pro ženy? ;)
    Díky za pomoc s češtinou ale potřeboval jsem pomoct s tím scriptem. :(

  10. Máte chybný selektor na řádku 17

    Kód:
    $("mail_address")
    má být
    Kód:
    $("#mail_address")
    + http://webtrh.cz/161614-strucny-univ...spravne-zeptat

  11. Citace Původně odeslal Martin Schlemmer Zobrazit příspěvek
    Máte chybný selektor na řádku 17

    Kód:
    $("mail_address")
    má být
    Kód:
    $("#mail_address")
    + http://webtrh.cz/161614-strucny-univ...spravne-zeptat
    Díky za pomoc ale ted mi to vyhazuje hlášku z php souboru "Nevyplnili jste všechna pole. Mail nebyl odeslán."
    nechápu co tam mám špatně nastaveno :(

  12. Spíš než konkrétní odpověď, vám poradím takto:

    1) Naučte se debugovat. Máte jednoduchou podmínku, která se chová přesně obráceně, než chcete. Podívejte se podrobně na kořen podmínky.
    Kód:
    ! empty( $mail )
    Očividně je proměnná $mail prázdná. Jak se deklaruje?
    Kód:
    $mail = $_POST['mail_address'];
    Takže proměnná $_POST['mail_address']; je prázdná. Proč?
    Buď se formulářový prvek jmenuje jinak. Ověřte překlepy.
    Nebo neodesíláte formulář přes POST, ale přes GET. Ověřte.

    2) Naučte se správně pokládat dotazy. V této diskusi jste až v příspěvku č. 7 popsal symptom chyby.
    Stále jste nedodal živou ukázku.
    Požadujete, abychom vám skript krok po kroku debugovali. Opravíme jednu chybu, vyplivnete na nás další.
    Fungujete jako velmi pomalé rozhraní mezi skriptem a někým, kdo mu porozumí.

    3) Buďte proaktivní, ne defétistický.
    "Díky za pomoc ale".
    "Nechápu co tam mám špatně nastaveno :(".

    Tak se přece nejdřív pokuste to pochopit. Jste obdařený rozumem. Jste nejefektivnější a nejmocnější tvor planety.

    Dal jsem vám rybu i vysvětlil základy rybaření.
    Běžte a prosperujte.

  13. Takže jsem provedl provedl opravu proměné v souboru send.php z
    Kód:
    $mail = $_POST['mail_address'];
    na
    Kód:
    $mail = "mail_address";
    což mi už email odešle a vyhodí mí správnou odpověď a to že byl email odeslán.
    Ale, namísto emailu, který jsem zadal do tohoto formuláře mi přijde do emailu zpráva "tento email je od mail_address".
    Jak, tedy mám nadefinovat proměnou $mail aby mi dala email, který do formuláře zadám.

    děkuji

  14. Máte tam chyb jak děr v cedníku.

    Přepíšete si input na "Zpracovávám" a pak ho teprve odešlete.
    Email odesíláte v proměnné "email", ale hledáte v proměnné "mail_address"
    V emailu máte chybnou hlavičku (proměnná "from").

    Jestliže přepíšete to, co jste napsal, doporučuju si na opravu někoho najmout, nebo použít existující řešení pro kontaktní formulář.

  15. Takže z té Vaši odpověďi jsem docela zmatenej nevím co mám a co nemám udělat.
    Když jsem změnil v input id z mail_address na Zpracovávám tak formulář nešlo odeslat.
    Co je špatné na proměnné $from?

Téma zamknuto

Podobná témata

  1. Pomoc s jednoduchým .htaccess
    By Machi in forum PHP
    Odpovědí: 8
    Poslední příspěvek: 26.02.2009, 15:42
Hostujeme u Server powered by TELE3