21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Jakubfidler
Profil
Dobrý den,
mám koupenou šablonu a snažím se jí zprovoznit, nicméně v kontaktním formuláři vše vyplním a a pošlu, ale nic nepřijde :-(
web je vystavatitanic.sk , věděl by si s tím někdo rady a pomohl mi? mockrát děkuji
Kajman
Profil
Poproste hosting, ať se mrkne do logů mailového serveru.
Jakubfidler
Profil
a co přesně bych po nich měl chtít?
Alphard
Profil
Nevím, jestli Kajman trochu nepředbíhá. Alespoň mně není ten dotaz úplně jasný.
Na té odkázané vystavatitanic.sk stránce je ta zakoupená šablona a problém je, že se neodešle Kontaktný formulár?

V tom formuláři jsou pole jen jako
<input type="text" class="input">
tj. bez name. Vypadá to, že odesílání není vůbec naimplementováno, je to jen html šablona.
Zkuste to udělat podle tohoto Nejčastější potíže s PHP (FAQ) » Kódování e-mailu, aneb abychom neposílali otazníky..
Jakubfidler
Profil
toto mám na stránkách

<form action="#" id="ContactForm">
                                        <div class="success"> Kontaktný formulár spracovaný!<br>
                                        <strong>Brzy budete kontaktováni.</strong> </div>
                                        <fieldset>
                                            <div class="wrapper">
                                                <span class="col1">Meno:</span>
                                                <label class="name">
                                                    <span class="bg"><input type="text" class="input"></span>
                                                    <span class="error">*chybne uvedené.</span> <span class="empty">*je potrebné vyplniť toto pole.</span>
                                                </label>
                                            </div>
                                            <div class="wrapper">
                                                <span class="col1">Email:</span>
                                                <label class="email">
                                                    <span class="bg"><input type="text" class="input"></span>
                                                    <span class="error">*chybne uvedené.</span> <span class="empty">*je potrebné vyplniť toto pole.</span>
                                                </label>
                                            </div>
                                            <div class="wrapper">
                                                <span class="col1">Telefon:</span>
                                                <label class="phone">
                                                    <span class="bg"><input type="text" class="input"></span>
                                                    <span class="error">*chybne uvedené.</span> <span class="empty">*je potrebné vyplniť toto pole.</span>
                                                </label>
                                            </div>
                                            <div class="wrapper">
                                                <span class="col1">Správa:</span>
                                                <label class="message">
                                                    <span class="bg"><textarea rows="1" cols="1"></textarea></span>
                                                    <span class="error">*Správa je moc krátka.</span> <span class="empty">*je potrebné vyplniť toto pole.</span>
                                                </label>
                                            </div>
                                            <div class="btns"><a href="#" class="link1" data-type="submit">Odoslať</a><a href="#" class="link1" data-type="reset">Zmazať</a></div>
                                        </fieldset>
                                    </form>



a toto je v mailhandler.php

<?php
    $owner_email = $_POST["owner_email"];
    $headers = 'From:' . $_POST["email"];
    $subject = 'A message from your site visitor ' . $_POST["name"];
    $messageBody = "";
    
    if($_POST['name']!='nope'){
        $messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }
    if($_POST['email']!='nope'){
        $messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }else{
        $headers = '';
    }
    if($_POST['state']!='nope'){        
        $messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }
    if($_POST['phone']!='nope'){        
        $messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }    
    if($_POST['fax']!='nope'){        
        $messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
        $messageBody .= '<br>' . "\n";
    }
    if($_POST['message']!='nope'){
        $messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
    }
    
    if($_POST["stripHTML"] == 'true'){
        $messageBody = strip_tags($messageBody);
    }
    
    try{
        if(!mail($owner_email, $subject, $messageBody, $headers)){
            throw new Exception('mail failed');
        }else{
            echo 'mail sent';
        }
    }catch(Exception $e){
        echo $e->getMessage() ."\n";
    }
?>



jo a ještě tohle v forms.js


//forms
;(function($){
    $.fn.forms=function(o){
        return this.each(function(){
            var th=$(this)
                ,_=th.data('forms')||{
                    errorCl:'error',
                    emptyCl:'empty',
                    invalidCl:'invalid',
                    notRequiredCl:'notRequired',
                    successCl:'success',
                    successShow:'4000',
                    mailHandlerURL:'bin/MailHandler.php',
                    ownerEmail:'fidler@jvsgroup.cz',
                    stripHTML:true,
                    smtpMailServer:'localhost',
                    targets:'input,textarea',
                    controls:'a[data-type=reset],a[data-type=submit]',
                    validate:true,
                    rx:{
                        ".name":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
                        ".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},
                        ".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},
                        ".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
                        ".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},
                        ".message":{rx:/.{20}/,target:'textarea'}
                    },
                    preFu:function(){
                        _.labels.each(function(){
                            var label=$(this),
                                inp=$(_.targets,this),
                                defVal=inp.val(),
                                trueVal=(function(){
                                            var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()
                                            return defVal==''?defVal:tmp
                                        })()
                            trueVal!=defVal
                                &&inp.val(defVal=trueVal||defVal)
                            label.data({defVal:defVal})                                
                            inp
                                .bind('focus',function(){
                                    inp.val()==defVal
                                        &&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))
                                })
                                .bind('blur',function(){
                                    _.validateFu(label)
                                    if(_.isEmpty(label))
                                        inp.val(defVal)
                                        ,_.hideErrorFu(label.removeClass(_.invalidCl))                                            
                                })
                                .bind('keyup',function(){
                                    label.hasClass(_.invalidCl)
                                        &&_.validateFu(label)
                                })
                            label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()
                        })
                        _.success=$('.'+_.successCl,_.form).hide()
                    },
                    isRequired:function(el){                            
                        return !el.hasClass(_.notRequiredCl)
                    },
                    isValid:function(el){                            
                        var ret=true
                        $.each(_.rx,function(k,d){
                            if(el.is(k))
                                ret=d.rx.test(el.find(d.target).val())                                        
                        })
                        return ret                            
                    },
                    isEmpty:function(el){
                        var tmp
                        return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')
                    },
                    validateFu:function(el){                            
                        el.each(function(){
                            var th=$(this)
                                ,req=_.isRequired(th)
                                ,empty=_.isEmpty(th)
                                ,valid=_.isValid(th)                                
                            
                            if(empty&&req)
                                _.showEmptyFu(th.addClass(_.invalidCl))
                            else
                                _.hideEmptyFu(th.removeClass(_.invalidCl))
                            
                            if(!empty)
                                if(valid)
                                    _.hideErrorFu(th.removeClass(_.invalidCl))
                                else
                                    _.showErrorFu(th.addClass(_.invalidCl))                                
                        })
                    },
                    getValFromLabel:function(label){
                        var val=$('input,textarea',label).val()
                            ,defVal=label.data('defVal')                                
                        return label.length?val==defVal?'nope':val:'nope'
                    }
                    ,submitFu:function(){
                        _.validateFu(_.labels)                            
                        if(!_.form.has('.'+_.invalidCl).length)
                            $.ajax({
                                type: "POST",
                                url:_.mailHandlerURL,
                                data:{
                                    name:_.getValFromLabel($('.name',_.form)),
                                    email:_.getValFromLabel($('.email',_.form)),
                                    phone:_.getValFromLabel($('.phone',_.form)),
                                    fax:_.getValFromLabel($('.fax',_.form)),
                                    state:_.getValFromLabel($('.state',_.form)),
                                    message:_.getValFromLabel($('.message',_.form)),
                                    owner_email:_.ownerEmail,
                                    stripHTML:_.stripHTML
                                },
                                success: function(){
                                    _.showFu()
                                }
                            })            
                    },
                    showFu:function(){
                        _.success.slideDown(function(){
                            setTimeout(function(){
                                _.success.slideUp()
                                _.form.trigger('reset')
                            },_.successShow)
                        })
                    },
                    controlsFu:function(){
                        $(_.controls,_.form).each(function(){
                            var th=$(this)
                            th
                                .bind('click',function(){
                                    _.form.trigger(th.data('type'))
                                    return false
                                })
                        })
                    },
                    showErrorFu:function(label){
                        label.find('.'+_.errorCl).slideDown()
                    },
                    hideErrorFu:function(label){
                        label.find('.'+_.errorCl).slideUp()
                    },
                    showEmptyFu:function(label){
                        label.find('.'+_.emptyCl).slideDown()
                        _.hideErrorFu(label)
                    },
                    hideEmptyFu:function(label){
                        label.find('.'+_.emptyCl).slideUp()
                    },
                    init:function(){
                        _.form=_.me                        
                        _.labels=$('label',_.form)

                        _.preFu()
                        
                        _.controlsFu()
                                                        
                        _.form
                            .bind('submit',function(){
                                if(_.validate)
                                    _.submitFu()
                                else
                                    _.form[0].submit()
                                return false
                            })
                            .bind('reset',function(){
                                _.labels.removeClass(_.invalidCl)                                    
                                _.labels.each(function(){
                                    var th=$(this)
                                    _.hideErrorFu(th)
                                    _.hideEmptyFu(th)
                                })
                            })
                        _.form.trigger('reset')
                    }
                }
            _.me||_.init(_.me=th.data({forms:_}))
            typeof o=='object'
                &&$.extend(_,o)
        })
    }
})(jQuery)
$(window).load(function() {    
    $('#ContactForm').forms({
        ownerEmail:'fidler@jvsgroup.cz'
    })
})

tak by to mělo být přednastavené nebo se mýlím?
Alphard
Profil
Aha, tady je ajaxové odesílání, to jsem si původně nevšiml. Možná že Kajman zas tak moc nepředbíhal :-)
Podle Firebugu se správně doplní post data a odezva je mail sent, což dle php kódu odpovídá správnému odeslání.

Tyhle věci se ladí dost obtížně, podíval jste se i do spamu? Ty logy [#2] Kajman jsou také dobrý nápad. Zkuste si kdyžtak poslat i nějaký jednoduchý testovací mail (bez všech těch proměnných) a zkuste ho poslat i na jinou adresu.
Jakubfidler
Profil
aha, tak teď mi od vás ten mail přišel, ale jak jsem to zkoušel já tak mi nic nepřišlo(teda jestli jste něco posílal)


tak pánové mockrát děkuji za pomoc, vypadá to že to funguje

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0