Autor Zpráva
DanielG
Profil
Zdravím všechny,

momentálně jsem si tvořil kontaktní formulář na mou stránku a narazil jsem na malý problém. Vždy mi příjde jenom email, který není vyplněný:
Name:
Email:
Message:
Website:


Můj kontaktní formulář vypadá takhle:

<form method="post" action="send.php" id="contactform">

                    <div>
                    <p>Send me a message</p>
                    </div>

                    <div>
                    <label>Name <span class="required">*</span></label>
                    <input name="name" type="text" id="name" value="" />
                    </div>

                    <div>
                    <label>Email <span class="required">*</span></label>
                    <input name="email" type="text" id="email" value="" />
                    </div>

                    <div>
                    <label>Website</label>
                    <input name="website" type="text" id="website" value="" />
                    </div>

                    <div>
                    <label>Subject</label>
                    <input name="subject" type="text" id="subject"  value="" />
                    </div>

                    <div>
                    <label>Message <span class="required">*</span></label>
                    <textarea name="message" rows="20" cols="50"  id="message" ></textarea><br /><br />
                    </div>

                    <div>
                    <input type="submit"  value="Submit" class="button">
                     <input type="reset" value="Reset" class="button">
                    </div>


                </form>

A soubor v send.php následovně:

<?php

$to = "my email";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Message from ".$name."";
$mess = "Name: ".$name."\nEmail: ".$email." \nMessage: ".$message."\nWebsite: ".$website." \n";

mail ($to, $subject, $mess, $extra);

?>

<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=my address">
</head></html>


Možná zde budou chyby s proměnýma ale nějak se v tom nevyznám tak bych byl rád kdyby mi někdo poradil co a kde opravit :)

Děkuji všem za reakce

Daniel
Joker
Profil
DanielG:
Jestli to send.php je celý kód, logicky to fungovat nemůže. Nejsou nikde definované proměnné $email, $name, $message, $website.

Pro převzetí dat odeslaných metodou POST použijte pole $_POST (např.: $_POST["name"] a podobně).
Ale bylo by dobré dělat alespoň nějakou validaci těch polí, když někdo zadá do pole e-mail odřádkování, Bcc: a milión adres, rozešle se zadaná zpráva na ty adresy.
DanielG
Profil
díky za reakci, tak jsem to tam zkusil dát a už to nefunguje vůbec, asi jsem to špatně pochopil jak to tam napsat

<?php

$to = "***";
$extra = "From: "$_POST["email"]"\r\nReply-To: "$_POST["email"]"\r\n";
$subject = "Message from "$_POST["name"]"";
$mess = "Name: "$_POST["name"]"\nEmail: "$_POST["email"]" \nMessage: "$_POST["message"]"\nWebsite: "$_POST["website"]" \n";

mail ($to, $subject, $mess, $extra);

?>

<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=***">
</head></html>
Keeehi
Profil
Zapomněl jsi na tečky pro spojení řetězců.
DanielG
Profil
TO: Joker, Keeehi

Děkuji moc za reakce a rychlé vyřešení problému :) , už mi to teda funguje.

Mějte se

Daniel

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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