Stránka 1 z 2
Emailový [php] formulář podle požadavků
Napsal: ned 1. čer 2008, 13:42
od simpanc
Ahojte všici, byl bych moc rád, kdyby mi někdo (po)mohl vytvořit následující... (formuláře s php neumím

)
Potřebuji v php formulář na odesílání emailů. Něco jako známý blueboard. Ale na mé stránce a abych si to mohl později ,až to budu umět, dodělat podle sebe...
Chci tam:

Skrytý objekt předmětu - pěvně daný a anebo dále volitelný z nabídky

Volitelné pole - email a jméno

a nakonec hlavně textové pole
to všechno malý, asi 400x150
Měl bych to na hostingu wztka, nebude tu problém s max xpočtem odeslaných emailů?
Můžu vás napsat na seznam spolupracovníků
//vím že už tu něco takovýho je, ale ne takhle komplexně a však si zkuste v tomhle dementní hledání vyhledat třeba "php emailový formulář"
Předem moc díky

Napsal: ned 1. čer 2008, 13:48
od bubanek
via google nalezeno za 2 vteřiny
Kód: Vybrat vše
<-- formular.php -->
<head>
<title>mailform</title>
</head>
<body>
<table height="100%" width="100%" cellSpacing="0" cellPadding="0" border="0">
<tr><td align="center" valign="top">
<form action="send.php" method="post">
<table width="200" border="0" class="text">
<tr><td width="50"><b>J</b>méno :</td><td><input name="jmeno" accesskey="j" type="text"></td></tr>
<tr><td width="50"><b>E</b>mail :</td><td><input name="email" accesskey="e" type="text"></td></tr>
<tr><td width="50"><b>W</b>eb :</td><td><input name="web" accesskey="w" type="text" value="http://"></td></tr>
<tr><td width="50" valign="top"><b>T</b>ext :</td><td><textarea name="text" accesskey="t" rows="5" cols="25"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" class="button" value="Odeslat"> <input type="reset" value="Vymazat"></td></tr>
</form></table>
</td></tr></table>
</BODY></HTML>
<-- send.php -->
<?php
$to = "vas@email.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Vzkaz od ".$jmeno."";
$mess = "Jméno: ".$jmeno."\nEmail: ".$email."\n Web: ".$web."\nText:\n".$text."";
mail ($to, $subject, $mess, $extra);
?>
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=formular.php">
</head></html>
//jo a jestli se ti nelíbí místní hledání, tak taky můžeš použít google

Napsal: ned 1. čer 2008, 14:27
od simpanc
díky za rychloiu odpověď email funguje, ještě s tím předmětem, volení z nabídky

- to nemusí pokud je to složitý
a hlavně aby jméno, email nebyly povinné - phpéčkem že

Napsal: ned 1. čer 2008, 15:01
od Caderom
Zkus tohle
Kód: Vybrat vše
<?php
$jmeno=$_POST["jmeno"];
$email=$_POST["email"];
$web=$_POST["web"];
$subject=$_POST["subject"];
$text=$_POST["text"];
$odeslat=$_POST["odeslat"];
if($odeslat)
{
if($text!="")
{
$to = "vas@email.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$mess = "Jméno: ".$jmeno."\nEmail: ".$email."\n Web: ".$web."\nText:\n".$text."";
mail ($to, $subject, $mess, $extra);
}
else
{
$error="Nevyplněný text";
}
}
?>
<html>
<head>
<title>mailform</title>
</head>
<body>
<table height="100%" width="100%" cellSpacing="0" cellPadding="0" border="0">
<tr><td align="center" valign="top">
<form method="post">
<? echo $error; ?>
<table width="200" border="0" class="text">
<tr><td width="50"><b>J</b>méno :</td><td><input name="jmeno" accesskey="j" type="text"></td></tr>
<tr><td width="50"><b>E</b>mail :</td><td><input name="email" accesskey="e" type="text"></td></tr>
<tr><td width="50"><b>W</b>eb :</td><td><input name="web" accesskey="w" type="text" value="http://"></td></tr>
<tr><td width="50"><b>P</b>ředmět :</td><td><select name="subject" accesskey="s">
<option value="Objednavka">Objednávka</option>
<option value="Nabidka">Nabídka</option>
</select></td></tr>
<tr><td width="50" valign="top"><b>T</b>ext :</td><td><textarea name="text" accesskey="t" rows="5" cols="25"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="odeslat" class="button" value="Odeslat"> <input type="reset" value="Vymazat"></td></tr>
</form></table>
</td></tr></table>
</body>
</html>
Napsal: ned 1. čer 2008, 19:26
od simpanc
dik.. podívám se
ještě, že to chcu mít na několika stránek, takže formular.php není použitelný s refresh stránkou (+s užitím include) , chceto něco na to potvrzeni, ze to prislo viz první příspěvek send.php [<META HTTP-EQUIV="Refresh" CONTENT="0; URL=formular.php">] třeba javascriptem aby formular mohl být include .... trochu zmateny ja vim to upravim az se nebudu motat

Napsal: ned 8. čer 2008, 15:05
od simpanc
takto vypadá součastný kód
formular.php s tím že se použije na několika stránkách pomocí include
Kód: Vybrat vše
<p><b>Kontaktní formulář:</b><br />
<div class="formular">
<form action="../../send.php" method="post" />
<b>Jméno</b>:<input name="jmeno" accesskey="j" type="text" />
<b>Email</b>:<input name="email" accesskey="e" type="text" /><br />
<b>Předmět</b>:<input name="subject" accesskey="s" type="text" value="<?php print "$hodnota"; ?>" /><br />
<input type="submit" class="odeslat" value="Odeslat" valign="right" />
<fieldset class="fomrtext"><legend class="legendtext"><b>Text zprávy</b></legend><textarea name="text" accesskey="t" rows="4" cols="43"></textarea></fieldset>
</div>
send.php
Kód: Vybrat vše
<?php
$to = "vas@email.cz";
$extra = "From: $email\r\nReply-To: $email\r\n";
$subject = "Vzkaz od ".$jmeno."";
$mess = "Jméno: ".$jmeno."\nEmail: ".$email."\n Web: ".$web."\nText:\n".$text."";
mail ($to, $subject, $mess, $extra);
?>
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=formular.php">
</head></html>
[color=black]//toto za php kódem tam nechci, refresh není použitelný s URL, max referer nebo nevím ale hlavně bych chtěl naby se do TEXTAREA napsalo odesláno s vlastním spanem.[/color]
díky za nabídku tu užiju ale teď budu potřebovat něco jiného. Chtěl bych aby v předmětu byl jeden krátký neviditelný text, podle hodnoty proměnné, dále viditelný text podle proměnné, který by nešel smazat + s mezerou a místo na vlastní předmět ,)
Nutně

potřebuju aby byl danej text v TEXTAREA a
po kliknutí zmizel... ale k tomu bude asi potřeba javascript, no nevím
A ještě chci, aby se po napsání
napsalo v text area Úspěšně
odesláno - spanem: <span class="odeslano">
Díky moc všem i za část, v tomto se zatím motám.

[/code]
Napsal: ned 8. čer 2008, 15:58
od martin.ol
Kód: Vybrat vše
$subject = $promena1." ".$promena2." ".$promena3;
Tolik k předmětu...
Kód: Vybrat vše
<textarea onclick="this.value=''">Danej Text</textarea>
Bych tip

A nebo možná this.text?
Napsal: ned 8. čer 2008, 16:33
od bubanek
spíš .innerhtml
Napsal: ned 8. čer 2008, 17:22
od OndraSter
Problem bude, pokud napise text, klikne nekam jinam, pak si tam vsimne chyby a bude to prepisovat nanovo
<textarea onclick="if ( this.innerHTML == 'Danej Text' ) this.innerHTML='';">Danej Text</textarea>
Napsal: úte 10. čer 2008, 21:22
od simpanc
aha to jsem chtěl použít na "hlášku" u emailu a jména, že to nemusí vyplňovat, né u pole zprávy, špatně napsané
martin.ol píše:Kód: Vybrat vše
$subject = $promena1." ".$promena2." ".$promena3;
Tolik k předmětu...
Hmm, dík já ale chtěl aby
v předmětu byl jeden krátký neviditelný (hidden) text, podle hodnoty proměnné, dále viditelný text podle proměnné, který by nešel smazat s mezerou a [-] a pak text který by tam tam někdo dopsal
A pořád ještě chci, aby se po napsání napsalo v text area
Úspěšně odesláno stylované spanem - třeba
<span class="odeslano">
Napsal: stř 11. čer 2008, 11:57
od bubanek
do textarea spanem nic nenapíšeš
Napsal: stř 11. čer 2008, 13:27
od 1nfo
To co tu vsichni posilate za reseni neni nic moc, zadny kodovani , temer zadny hlavicky v emailu, to teda moc dobra rada neni. Pokud mi pujde vecer uz net, tak ti poslu o neco lepsi priklad.
Napsal: stř 11. čer 2008, 16:49
od martin.ol
Kód: Vybrat vše
<?php
function send_mail_form($text, $to, $from, $subject)
{
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-2\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: php\n";
$headers .= "From: ".$from."\n";
mail($to, $subject, $text, $headers);
}
if ($_POST["antispam"] == 31)
{
send_mail_form($_POST["text"]."\n\nPosláno z webu: ".date("d.m.Y H:i:s"), "mail@domena.cz", $_POST["jmeno"]." <".$_POST["email"].">", $_POST["predmet"]);
header("Location: ./mailok.html");
}
else
header("Location: ./mailko.html");
?>
Tož já to běžně drtím takto...

Napsal: stř 11. čer 2008, 20:17
od 1nfo
pomoc prosim :)
Napsal: úte 17. čer 2008, 12:52
od nicolas.john
Ahoj, mam takovou prosbu. Udelal jsem si v php email. formular, kde se vyplnuji osobni info a ted nevim jak mam osetrit to, aby se mi tyto vsechny udaje poslali ve zprave.
email.php
<?php
$osloveni = $_POST ["osloveni"];
$jmeno = $_POST ["jmeno"];
$prijmeni = $_POST ["prijmeni"];
$ulice = $_POST ["ulice"];
$psc = $_POST ["psc"];
$mesto = $_POST ["mesto"];
$zeme = $_POST ["zeme"];
$telefon = $_POST ["telefon"];
$email = $_POST ["email"];
$stranky = $_POST ["stranky"];
$oddeleni = $_POST ["oddeleni"];
$predmet = $_POST ["predmet"];
$zprava = $_POST ["zprava"];
$kod = $_POST ["kod"];
if ($jmeno == "") {
echo "Nevyplnili jste jméno";
}
if ($prijmeni == "") {
echo "Nevyplnili jste prijmeni";
}
if ($ulice == "") {
echo "Nevyplnili jste ulici";
}
if ($psc == "") {
echo "Nevyplnili jste poštovní směrovací číslo";
}
if ($mesto == "") {
echo "Nevyplnili jste mesto";
}
if ($telefon == "") {
echo "Nevyplnili jste Váš telefon";
}
if ($email == "") {
echo "Nevyplnili jste Váš email";
}
if ($kod <> "4") {
echo "Nevyplnili jste Váš email";
}
$mess = "Oslovení:".$jmeno. \n "Text zprávy:".$zprava.;
Mail($oddeleni, $predmet, $mess, "From: " . $email);
echo "<p><strong>Váš e-mail byl úspěšně odeslán</strong>.</p>";
?>
-------------------------------------------------------------------------------
Diky moc za pomoc
Re: pomoc prosim :)
Napsal: úte 17. čer 2008, 14:30
od martin.ol
nicolas.john píše:
$osloveni = $_POST ["osloveni"];
$jmeno = $_POST ["jmeno"];...
A tohle má, kromě zabrání paměti, jaký význam?
Re: pomoc prosim :)
Napsal: úte 17. čer 2008, 18:29
od Clant
martin.ol píše:nicolas.john píše:
$osloveni = $_POST ["osloveni"];
$jmeno = $_POST ["jmeno"];...
A tohle má, kromě zabrání paměti, jaký význam?
Co na tom nechapes?
promena "osloveni" bude ziskana z predesle stranky treba "index.php" a tohle bude obsahovat "send.php"
Napsal: úte 17. čer 2008, 19:03
od bubanek
no, celý to úchylný přepisování se dá udělat pomocí jednoho příkazu:
Kód: Vybrat vše
import_request_variables("gp", "v");
kde v je začátek proměnných, které pochází z POSTu
čili $_POST['jmeno'] to předělá na $vjmeno
Napsal: stř 18. čer 2008, 07:23
od nicolas.john
Hm tak jak koukam nikdo mi zatim neporadil s tim o co jsem zadal

Napsal: stř 18. čer 2008, 21:56
od bubanek
tak co si třeba do proměnné $mess přiřadit to co chceš ještě poslat
třeba $mess .= "Město: $mesto \n"; $mess .= "Ulice: $ulice \n";...