Avatar
Martin Švejda:

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("svejdam13@gmail.com". "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. srpna 14:04
Avatar
Maxy_obr
Člen
Avatar
Odpovídá na Martin Švejda
Maxy_obr:

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. srpna 14:54
Avatar
petr.jouza
Člen
Avatar
Odpovídá na Martin Švejda
petr.jouza:

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

<?php
 mail("svejdam13@gmail.com". "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(
        "svejdam13@gmail.com",
        "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í
+1 bodů
Řešení problému
 
Nahoru Odpovědět 27. srpna 8:16
Avatar
Martin Švejda:

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

M

 
Nahoru Odpovědět 27. srpna 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.