Emailový [php] formulář podle požadavků

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
simpanc
Nováček
Nováček
Uživatelský avatar
Registrován: 14. srp 2005

Emailový [php] formulář podle požadavků

Příspěvek 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 :o )

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:
:-D Skrytý objekt předmětu - pěvně daný a anebo dále volitelný z nabídky
:wink: Volitelné pole - email a jméno
:lol: 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ů :wink:

//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 :mrgreen:
Naposledy upravil(a) simpanc dne ned 1. čer 2008, 13:49, celkem upraveno 1 x.
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Příspěvek 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"> &nbsp; <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 :wink:
simpanc
Nováček
Nováček
Uživatelský avatar
Registrován: 14. srp 2005

Příspěvek od simpanc »

díky za rychloiu odpověď email funguje, ještě s tím předmětem, volení z nabídky :D - to nemusí pokud je to složitý
a hlavně aby jméno, email nebyly povinné - phpéčkem že :razz:
Caderom
Začátečník
Začátečník
Uživatelský avatar
Registrován: 03. pro 2005
Bydliště: Beroun

Příspěvek 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"> &nbsp; <input type="reset" value="Vymazat"></td></tr>
</form></table>
</td></tr></table>
</body>
</html> 
simpanc
Nováček
Nováček
Uživatelský avatar
Registrován: 14. srp 2005

Příspěvek 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 :wink:
simpanc
Nováček
Nováček
Uživatelský avatar
Registrován: 14. srp 2005

Příspěvek 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ě :razz: potřebuju aby byl danej text v TEXTAREA a po kliknutí zmizel... ale k tomu bude asi potřeba javascript, no nevím :o


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. :wink:
[/code]
martin.ol
Začátečník
Začátečník
Registrován: 18. srp 2006
Bydliště: Olomouc
Kontaktovat uživatele:

Příspěvek 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?
Desktop: MB: K9N6PGM2-V2 - Čipset NVIDIA , socket AM2+, DDR2, SATA2; GK: nVidia GT240, 512MB, DVI + HDMI; CPU: AMD ATHLON II X2 Dual-Core 3,0 GHz, 4MB; RAM: DDR2 4GB 800MHz; HDD: 2TB SATAII, 250GB SSD DVD: DVD-RAM LG; OS: Win 10 Home
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Příspěvek od bubanek »

spíš .innerhtml
OndraSter
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 22. úno 2006
Bydliště: Praha / ČVUT FIT
Kontaktovat uživatele:

Příspěvek 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>
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32


Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
simpanc
Nováček
Nováček
Uživatelský avatar
Registrován: 14. srp 2005

Příspěvek 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">
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Příspěvek od bubanek »

do textarea spanem nic nenapíšeš
1nfo
Nováček
Nováček
Registrován: 06. dub 2008

Příspěvek 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.
martin.ol
Začátečník
Začátečník
Registrován: 18. srp 2006
Bydliště: Olomouc
Kontaktovat uživatele:

Příspěvek 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... :roll:
Desktop: MB: K9N6PGM2-V2 - Čipset NVIDIA , socket AM2+, DDR2, SATA2; GK: nVidia GT240, 512MB, DVI + HDMI; CPU: AMD ATHLON II X2 Dual-Core 3,0 GHz, 4MB; RAM: DDR2 4GB 800MHz; HDD: 2TB SATAII, 250GB SSD DVD: DVD-RAM LG; OS: Win 10 Home
1nfo
Nováček
Nováček
Registrován: 06. dub 2008

Příspěvek od 1nfo »

v něčem by mohl pomoct tento článek
http://www.mazlo.org/blog/clanek/86-Pro ... unkce-mail
nicolas.john
Nováček
Nováček
Registrován: 17. čer 2008

pomoc prosim :)

Příspěvek 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
martin.ol
Začátečník
Začátečník
Registrován: 18. srp 2006
Bydliště: Olomouc
Kontaktovat uživatele:

Re: pomoc prosim :)

Příspěvek od martin.ol »

nicolas.john píše: $osloveni = $_POST ["osloveni"];
$jmeno = $_POST ["jmeno"];...
A tohle má, kromě zabrání paměti, jaký význam?
Desktop: MB: K9N6PGM2-V2 - Čipset NVIDIA , socket AM2+, DDR2, SATA2; GK: nVidia GT240, 512MB, DVI + HDMI; CPU: AMD ATHLON II X2 Dual-Core 3,0 GHz, 4MB; RAM: DDR2 4GB 800MHz; HDD: 2TB SATAII, 250GB SSD DVD: DVD-RAM LG; OS: Win 10 Home
Clant
Začátečník
Začátečník
Registrován: 31. črc 2006
Bydliště: Benešov

Re: pomoc prosim :)

Příspěvek 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"
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Příspěvek 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
nicolas.john
Nováček
Nováček
Registrován: 17. čer 2008

Příspěvek od nicolas.john »

Hm tak jak koukam nikdo mi zatim neporadil s tim o co jsem zadal :)
bubanek
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 24. dub 2005
Bydliště: D1

Příspěvek 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";...
Odpovědět

Zpět na „Programování a web“