Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Problém s odesíláním mailů. PHP mailform

PHP PHP Problém s odesíláním mailů. PHP mailform American English version English version

Aktivity (1)
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í
+1 bodů
Ř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.