« 1 2
Autor Zpráva
..Johny..
Profil *
tak tam přidej jednoduše
echo "<input type="submit" value="&lt;&lt; Zpět" title="Zpět k napsanému formuláři">";

jde o to, jestli chceš dělat tlačítko zpět pomocí odkazu nebo javascriptem pomocí onclick history -1
XxXxX
Profil *
Nemáte někdo zkušenosti s tím kódováním té diakritiky? Protože, pak je mi ten formulář na nic, když mi uživatel zašle zkomolenou zprávu..., díky.
stinky
Profil *
S kódováním emailu je to rochu složitější...většinou to odešle špatně předmět a ještě něco. Po pár hodinách strávených řešením stejného problému jse to našel. Snad někomu pomůže tento kousek kódu, který jsem zplácal. Je plně funkční. Je to nastavené pro kódování stránky s tímto formulářem ISO-8859-2.


<?
$mkam = "email@email.cz";
function kod_mailu($text) {
//$text = iconv("CP1250","ISO-8859-2",$text);
$text = str_replace(" ", "_", trim($text)) ;
$text = str_replace("?", "=3F", str_replace("=\r\n", "", imap_8bit($text))) ;
$text = str_replace("\r\n", "?=\r\n =?ISO-8859-2?Q?", chunk_split($text, 55)) ;
$text = "=?ISO-8859-2?Q?" . substr($text, 0, strlen($text)-20) . "?=" ;
return $text;
}
if($_POST["odeslat"]) {
unset($_POST["odeslat"]);
if(!$_POST["jmeno"]) echo"<p class=\"red\">Zapomněli jste vyplnit pole Vaše jméno.</p>\n";
elseif(!$_POST["email"]) echo"<p class=\"red\">Zapomněli jste vyplnit pole Váš email.</p>\n";
elseif(!(substr_count($_POST["email"], "@") && substr_count($_POST["email"], "."))) echo"<p class=\"red\">Uvedený email není platný.</p>\n";
elseif(!$_POST["subject"]) echo"<p class=\"red\">Zapomněli jste vyplnit pole Předmět.</p>\n";
elseif(!$_POST["message"]) echo"<p class=\"red\">Nenapsali jste žádnou zprávu.</p>\n";
else {
$recipient .= $mkam;
$subject = kod_mailu($_POST["subject"]) ;
$message .= $_POST["message"];
$message .= "\n-----------------------------------------------------------\r\n"; //oddělovač signatury
$message .= "Email odeslaný z kontaktního formuláře na www.nekde.cz";
$headers .= "Content-Type: text/plain; charset=iso-8859-2\n"; // Mime typ
$headers .= "From: ".kod_mailu($_POST["jmeno"])."<".$_POST["email"].">\n";
$headers .= "MIME-version: 1.0\n";
$headers .= "X-Sender: <".$mkam.">\n";
$headers .= "X-Mailer: PHP\n"; // mailový klient
$headers .= "X-Priority: 3\n";
$headers .= "Return-Path: <".$mkam.">\n"; // Návratová cesta pro chyby
$headers .= "Content-Transfer-Encoding: quoted-printable\n\n";
if(mail($recipient, $subject, $message, $headers))
echo"<p class=\"green\">E-mail byl úspěšně odeslán.</p>\n";
else
echo"<p class=\"red\">E-mail se nepodařilo odeslat. Zkuste to prosím ještě jednou a v případě přetrvávajících problému použijte svého e-mailového klienta.</p>\n";
unset($_POST["jmeno"]);
unset($_POST["subject"]);
unset($_POST["email"]);
unset($_POST["message"]);
}
} ?>

<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post" name="mail" lang="cs">
<label>Vaše jméno:<br /><input name="jmeno" type="text" size="40" maxlength="60" value="<? echo $_POST["jmeno"] ?>" /></label><br />
<label>Váš email:<br /><input name="email" type="text" size="40" maxlength="60" value="<? echo $_POST["email"] ?>" /></label><br />
<label>Předmět:<br /><input name="subject" type="text" size="40" maxlength="60" value="<? echo $_POST["subject"] ?>" /></label><br />
<label>Obsah zprávy:<br /><textarea name="message" cols="54" rows="10"><? echo $_POST["message"] ?></textarea></label>
<p class="right"><input name="odeslat" type="submit" value="Odeslat" /></p>
</form>
..Johny..
Profil *
Tady jsem upravil ten včerejší jednoduchej, text té novinky funguje v pořádku, bohužel s tim jménem v předmětu nehnu, leda to jméno dát do textu zprávy, to by byla taky možnost...
..Johny..
Profil *
Tady je funkčí docela dobrá verze, snad ti bude vyhovovat:
<?php

$prijemce = "r.skola@seznam.cz";
$header .= "Content-Type: text/html; charset=windows-1250\n";
$text = "<b>Novinku napsal</b> : ".$jmeno."<br><b>Text novinky</b> : ".$novinka."";
if ($akce == "Odeslat") {
if (($jmeno=="") or ($novinka=="")):
echo "<h6>Nejsou vyplněny požadované údaje</h6>";
else: {
if (mail($prijemce,"Novinka z webu", $text, "From: ".$mail."\r\n".$header)) {
echo "<h3>E-mail byl úspěšně odeslán!</h3>";
}
else {
echo "<h3>E-mail se nepodařilo odeslat!</h3>";
}
}
endif;
}
?>
..Johny..
Profil *
Rozhodl jsem se, že to budu používat taky, tak jsem to jestšě trochu vylepšil zde je verze, která umí dakritiku a vypíše : čas odeslání, IP počítače z kterého byla odeslána, jméno a vzkaz.
<?php

$ip_number=$_SERVER['REMOTE_ADDR'];
$ip_name=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$prijemce = "neco@seznam.cz";
$header .= "Content-Type: text/html; charset=windows-1250\n";
$text = "<b>Novinka odeslána v</b> : ".Date(" d/m/Y H:i:s")."<br><b>Novinka odeslána z IP</b> : ".$ip_number.", ".$ip_name."<br><b>Novinku napsal</b> : ".$jmeno."<br><b>Text novinky</b> : ".$novinka."";
if ($akce == "Odeslat") {
if (($jmeno=="") or ($novinka=="")):
echo "<h6>Nejsou vyplněny požadované údaje</h6>";
else: {
if (mail($prijemce,"Novinka z webu", $text, "From: ".$mail."\r\n".$header)) {
echo "<h3>E-mail byl úspěšně odeslán!</h3>";
}
else {
echo "<h3>E-mail se nepodařilo odeslat!</h3>";
}
}
endif;
}
?>
XxXxX
Profil *
..Johny..: Moc děkuju, paráda. Jen jestli ještě můžu, tak je tam jen malinká chybka. Mě to nevykreslý ten e-mail, když mi ho tam napíše někdo...


<br><strong>e-mail</strong> : ".$mail."
..Johny..
Profil *
Dyť mail máš v položce OD. Když dáš odpovědět na mail, tak odpovíš na ten mail co ti tam někdo napsal.
Přijde mi k ničemu, aby tam byl napsanej mail v těle stránky.
XxXxX
Profil *
Ne ne, když můj návštěvník vyplní e-mail, nebo ne tak se mi u obou variant objeví na e-mailu centrum.cz ODESILATEL "added by portage for...", když jsem měl tvůj kód ten první, tak když návštěvník vyplnil e-mail, tak mě přišel edesilatel ten vyplněný (e-mail). Teď "added by portage for..."
..Johny..
Profil *
Tak to nevim, mě to funguje u inboxu i na seznamu naprosto v pohodě. Kdyžtak si tam přidej nějakej if a do proměné $text si nadeklaruj pole E-mail, ale jen když bude vyplněné, pokud ti nevadí že by ti to tam psalo přád "E-mail :" tak tam ten if bejt nemusí a vlastně tam vlož jen tohle, nelíp úplně na začátek proměné $text :
<b>E-mail</b> : ".$mail."<br>
XxXxX
Profil *
I po vyplnění e-mailu, se mě pošle na email: E-MAIL prázdnej..., takhle to mám zapsáno ten formulář a udělal jsem si nový soubor "vzkaz.php" a tam jsem šoupnul tvůj kód. Já se opravdu omlouvám. Já jsem nikdy neviděl ani ten nejjednodušší php kód, jen mám zkušenosti s instalací a include, takže je to pro mě těžké a opravdu to potřebuji. Nevím, jak byćh to napsal. Prakticky celý kód tu mám...

novinky.php

<form action="vzkaz.php?action=Odeslat" method="post">
<fieldset>
<legend>Poslat novinku</legend>
<label for="e-mail">Váš e-mail:</label><br>
<input type="text" size="20" id="e-mail" name="e-mail" value="@"><br>

<label for="jmeno" class="nal">* Vaše jméno:</label><br>
<input type="text" size="20" id="jmeno" name="jmeno"><br>

<label for="novinka" class="nal">* Zde napište novinku:</label><br>
<textarea id="novinka" name="novinka" cols="20" rows="5"></textarea>
</fieldset>
<p><strong>Silně</strong> vytažené položky s&nbsp;<strong>hvězdičkou (*)</strong> je nutné vyplnit. Nezapomeňte uvést e-mail, stojíte-li o odpověď.</p>
<p>
<input class="odeslat" type="submit" name="akce" value="Odeslat" title="Odeslat vyplněný formulář">
</p>
</strong>


vzkaz.php

tůj kód ...Johny...
..Johny..
Profil *
Už ten problém vidim ty máš totiž v inputu e-mail name="e-mail" změň to na name="mail", navíc ještě jedna věc zrušilk bych tam tu hodnotu value="@", já osobně to tam nesnášim, protože když někam píšu mail, tak to pak musim mazat. Pro mě je mnohem rychleší to napsat, než hledat, kde je tam @ a posouvat se.
XxXxX
Profil *
Díky, moc. Seš borec. Másš pravdu, hned jsem to smazal. Jen bych se chtěl zeptat. Jak dlouho ses učil php, aby jsi v něm uměl celkem slušně. Také se do toho chci pustit. Jen chci všdět co mě čeká..., díky moc. Přeju hodně štěstí...
..Johny..
Profil *
XxXxX---> Já začal s PHP před cca 2. mesícema, ale stránky už dělam 3 roky a programuju taky 3 roky. K PHP nemam ani jednu knížku, moje učení probíhá tak, že když najdu nějakej script, snažim se ho pochopit jak co funguje atd..., když takhle přečteš 100 scriptů a pochopíš je, tak pak už jen různě skládáš své vědomosti v to co potřebuješ.
XxXxX
Profil *
Tak za vše dík. Já se webdesignu necelý půlrok, php mě přijde složité, ale někdy začít musim..., měj se.
« 1 2
Toto téma je uzamčeno. Odpověď nelze zaslat.

0