Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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: Problém s odesíláním mailů. PHP mailform

Aktivity
Avatar
Martin Švejda:22.8.2016 14:04

Zdravím a moc prosím někoho o radu.
Chci si udělat mailový formulář na svoje stránky a nechodí mi ty zprávy na můj mail. Vše ostatní se zobrazuje správně. Zde jsou podmínky a kontaktní formulář ve footeru. PHP se začínám učit možná mi uniká nějaká drobnost....
Druhý dotaz - Nevíte jak mám udělat, aby při "submitnutí" zprávy zůstala stránka pořád ve footeru? Když pošlu přes kontaktní formulář nějaké údaje , tak mi to skočí na začátek stránky (do headru). Stačí mi napsat kde to najít, případně odkaz na nějaký tutoriál , nevím jestli se to řeší v php nebo v html....

Mnohokrát děkuji za Váš čas.
Martin

<?php
if ($_POST['submit']) {
    if (!$_POST['name']) {
        $error="<br/>- Please enter your name";
    }
    if (!$_POST['email']) {
        $error.="<br/>- Please enter your email";
    }
    if (!$_POST['message']) {
        $error.="<br/>- Please enter your message";
    }
    if (!$_POST['check']) {
        $error.="<br/>- Please confirm you are human";
    }

    if ($error) {
        $result='<div class="alert alert-danger" role="alert"><strong>Please correct the following:</strong> '.$error.'</div>';
    } else {
        mail("[email protected]". "Contact message". "Name: ".$POST['name']."
        email: ".$_POST['name']."
        message: ".$_POST['message']);

        {
        $result='<div class="alert alert-success" role="alert">Thank you, I will be in touch</div>';
        }
    }
}
?>
        <footer>
                <section id="contact">
                        <div class="row">
                            <div class="col-md-6 col-md-offset-3">
                                <div id="fourth">
                                    <h1>Contact Form</h1>

                                    <p>Please, do not hesitate to contact me if you want to get more information.</p>

                                    <?php echo $result;?>

                                    <form method="post" role="form">
                                        <div class="form-group">
                                            <input type="text" name="name" class="form-control" placeholder="Your name" value="<?php echo $_POST['name']; ?>">
                                        </div>
                                         <div class="form-group">
                                             <input type="email" name="email" class="form-control" placeholder="Your email" value="<?php echo $_POST['email']; ?>">
                                         </div>
                                        <div class="form-group">
                                            <textarea name="message" rows="5" class="form-control" placeholder="message...."><?php echo $_POST['message']; ?></textarea>
                                        </div>
                                        <div class="checkbox">
                                            <label>
                                                <input type="checkbox" name="check">I am human
                                            </label>
                                        </div>
                                        <input type="submit" name="submit" class="btn btn-secondary" value="send message">
                                    </form>
                              </div>
                         </div>
                    </div>
                </section>
        </footer>

svejdamartin.com

 
Odpovědět
22.8.2016 14:04
Avatar
maxy obr
Člen
Avatar
Odpovídá na Martin Švejda
maxy obr:22.8.2016 14:54

Na to aby se ti stránka odskrolovala do zápatí použij kotvu. a pak do form přes action (které bys měl mít myslím vždy vyplněné) přidej parametr do url na tu kotvu. Doufám, že to ak funguje. :)

 
Nahoru Odpovědět
22.8.2016 14:54
Avatar
petr.jouza
Člen
Avatar
Odpovídá na Martin Švejda
petr.jouza:27.8.2016 8:16

Ahoj,
řekl bych, že máš špatně tu funkci mail:

<?php
 mail("[email protected]". "Contact message". "Name: ".$POST['name']."
        email: ".$_POST['name']."
        message: ".$_POST['message']);
?>

funkce mail musí vypadat následovně:

<?php
mail($emailKamPoslat,$predmet,$textZpravy,$libovolneHlavicky) ;
?>

Ty máš v poli kam poslat email pospojované další informace, které mají být zřejmě v textu zprávy. Nebo jak na to koukám, tak místo čárky "," máš tečky ".". Tečky spojují řetězec.

Tedy fungující příklad:

<?php
mail(
        "[email protected]",
        "Contact message "."Name: ".$POST['name'],
        "email: ".$_POST['name']." message: ".$_POST['message']
) ;
?>

Ještě bys měl zauvažovat nad uvedením hlaviček pro formátování emailu.

Co se týče scrolování po submitu, tak jak psal Maxy_obr přes Action bych přidal kotvu na tvůj formulář, pak ti to odscroluje automaticky dolů.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
27.8.2016 8:16
Avatar
Martin Švejda:27.8.2016 18:01

Děkuji mnohokrát,
vyřešeno.

M

 
Nahoru Odpovědět
27.8.2016 18:01
Avatar
Odpovídá na maxy obr
Martin Švejda:27.8.2016 18:01

Díky moc,
M

 
Nahoru Odpovědět
27.8.2016 18:01
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 5 zpráv z 5.