Diskuze: odesílání dat z formuláře na e-mail
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
smiesek:18.8.2015 3:55
je třeba možné spíše dát celý obsah souboru?
Podle toho výše uvedeného jsem to já pochopila následovně, že adresa:
- projekty10@seznam.cz je adresa pro příjem e-mailů
- info@ataxam.cz je adresa, odesílatele e-mailů
Otázkou je, proč nepříjde/se nezobrazí adresa odesílatele, alespoň zatím podle toho výše uvedeného se mi to tak jeví. Předpokládám, že se jedná o kontaktní formulář a nebo pak když to tak čtu, pokud se jedná pouze o informativní formulář s daty ze stránek majitele, pak je to OK a e-mail "info@ataxam.cz" je v tomto případě pouze informativní, lze tam nastavit jakoukoli e-mailovou adresu.
Ještě si akorát pak nejsem jistá částí Reply-To, resp. s proměnnou $eXail odkud se bere a hlavně co obsahuje, protože část Reply-To slouží pro zaslání odpovědi, většinou obsauje stejný e-mail jako proměnná odesílatele, ale ve výše uvedeném kódu jsem to zatím nedohledala, že by se to shodovalo
Radim Galíček:18.8.2015 9:01
díky za reakci, pošlu celý soubor,ale až odpoledne až se dostanu k pc
Radim Galíček:18.8.2015 14:23
posílám ten zdroják,minule jsem upravil e-mail odesílatele,projekty10@seznam je můj druhý e-mail, nechtěl jsem dělat negativní publicitu bývalému správci, ale co, všechno se dá dohledat.
<? $title="Čištění koberců - potvrzení objednávky"; include("head.inc"); ?>
<div id="incontent" style="width:500px">
<h2>Čištění koberců - potvrzení objednávky</h2>
<?
if (isset($_POST["termin"]) && $_POST["termin"] != "" && !strstr($_POST["termin"],'@') && $_POST["cpc"] == "e5hb" ) {
$uklid = array("","odstranění hrubších nečistot vysavačem",
"čištění koberců",
"čištění sedací soupravy 3+1+1",
"čištění sedací soupravy 3+2+1",
"čištění kuchyňské, kancelářská židle",
"čištění křesla",
"čištění pohovky dvoumístné",
"čištění pohovky třímístné",
"čištění dvojité postele (letiště)",
"čištění postele nebo matrace",
"čištění kuchyňské lavice");
for($i=1;$i<12;$i++) {
$field = "c".$i;
if ($_POST[$field]=="on") $telo .= $uklid[$i]." - množství: ".$_POST["v".$i]."\r\n";
}
while (list($k, $v) = each ($_POST)) if (substr($k,0,1)!="c" && substr($k,0,1)!="v") $telo .= "\r\n$k: $v";
mail("[email protected]","Objednavka cisteni a uklidu z cisteni-uklid.cz", $telo,
"From: [email protected]\nContent-Type: text/plain; charset=\"windows-1250\"\nReply-To: $eXail\nX-Mailer: PHP/".phpversion());
error_reporting(0);
if ($fp = fopen ("objednavky.txt", "a")) {
fwrite($fp,"\r\n\r\n-----------------".date("Y-m-d H:i:s ")."--------------------\r\nObjednavka cisteni a uklidu\r\n\r\n");
fwrite($fp,$telo);
fclose($fp);
}
echo "<p>Děkujeme Vám za využití této služby a přejeme Vám příjemné prožití zbylého dne.</p><br /><br /><br /><br /><br />";
} else { ?>
<p>Objednávka nebyla přijata.</p>
<? } ?>
</div>
<? include("bottom.inc") ?>
smiesek:18.8.2015 14:36
co jsem se tedy koukala, tak adresa začínající radim... je adresa, kam budou posílány e-maily a adresa začínající info bude zobrazena jako odesílatel.
Jen tedy pořád nemůžu dohledat a není to v tom uvedeno (v souboru jinde nepoužito), co jsi přiložil, odkud se bere ta proměnná $eXail
Radim Galíček:18.8.2015 15:24
ten formulář je umístěn zde na této stránce, jestli to pomůže
<? $title="Čištění koberců Ostrava, Nový Jičín a okolí"; $simple=1; include("head.inc"); ?>
<div id="incontent">
<h2>Čištění koberců a čalounění</h2>
<h3>Způsob čištění koberců</h3>
<p>
Používáme vysoce účinný způsob čištění koberců a čalounění, kterým je hloubkové čištění. Jde o mokrý proces čištění, kdy čištěná plocha je propírána tlakem vody s čistícím prostředkem. Druhým krokem je kartáčování, při kterém jsou z čištěné plochy odstraněny zbylé nečistoty. Nakonec jsou všechny z koberce odsány do sběrné nádrže.
</p>
<h3>Šetrnost při čištění koberců a čalounění</h3>
<p>
Tento způsob je velice šetrný, prodlužuje životnost veškerých textilních povrchů, regeneruje vlákno, protože odstraní nečistoty v celém jeho rozsahu a vrátí jej do polohy vlákna nového.
Koberec či čalounění zůstávají po čištění vlhké. Doba schnutí závisí na teplotě vzduchu, typu koberce či čalounění a rovněž na stupni znečištění. V praxi to znamená, že při čištění silně znečištěné plochy je nutno použít větší množství vody.
</p>
<h3>Čištění stroji Karcher</h3>
<img src="imgs/extrakce.png" alt="čištění koberců" title="čištění koberců" style="float:right; margin:0px 0px 0px 10px;" />
<p>
Koberec lze opatřit impregnací pro odpuzování prachu a nečistot.
Při čistění je používán nejvýkonnější čistič koberců, včetně přídavné kartáčovací hlavice a příslušenství zn. Kärcher, určené pro velké plochy, jako jsou hotelové, restaurační a kancelářské prostory. Hodinový výkon tohoto zařízení činí až 60 m2/hod. Zárukou úspěchu je kvalitně odvedená práce. Mezi malými a velkými plochami není činěn rozdíl, proto i při práci v bytech používáme toto vysoce výkonné zařízení. Při čištění koberců je používán nepěnivý čistící prostředek Purex T firmy MPD Plus Rakovník se silným čisticím účinkem.
</p>
<br />
<p id="cistenicenik">
<strong>Ceny služeb – čištění koberců a čalounění včetně souvisejících úkonů</strong>
</p>
<table width="100%">
<col></col><col align="right"></col>
<tr><th>Druh služby</th><th class="t-right">Cena od</th></tr>
<tr><td>Odstranění hrubších nečistot vysavačem</td><td class="t-right"> 3 Kč / m2</td></tr>
<tr class="light"><td>Čištění koberců včetně kartáčování podle stupně znečištění, typu a délky vlasu</td><td class="t-right">14 Kč / m2</td></tr>
<tr><td>Čištění potahových látek židlí, bez opěradla</td><td class="t-right">20 Kč / ks</td></tr>
<tr class="light"><td>Čištění potahových látek židlí, s opěradlem</td><td class="t-right">30 Kč / ks</td></tr>
<tr><td>Čištění kancelářských otočných křesel</td><td class="t-right">50 Kč / ks</td></tr>
<tr class="light"><td>Čištění čalounění postele, matrace cca 1x2m jednostranně</td><td class="t-right">100 Kč / ks </td></tr>
<tr><td>Čištění čalounění dvojitých postelí (letiště)</td><td class="t-right">250 Kč / ks</td></tr>
<tr class="light"><td>Čištění sedací soupravy 3 – 1 – 1</td><td class="t-right">400 Kč / ks </td></tr>
<tr><td>Čištění sedací soupravy 3 – 2 – 1</td><td class="t-right">500 Kč / ks</td></tr>
<tr class="light"><td>Čištění rohové sedací soupravy bez křesla (4-místná)</td><td class="t-right">450 Kč / ks</td></tr>
<tr><td>Čištění pohovky 3 místná</td><td class="t-right">250 Kč / ks</td></tr>
<tr class="light"><td>Čištění pohovky 2 místná</td><td class="t-right">180 Kč / ks</td></tr>
<tr><td>Čištění jednotlivého křesla</td><td class="t-right">80 Kč / ks </td></tr>
<tr class="light"><td>Čištění kuchyňské lavice</td><td class="t-right">120 Kč / ks </td></tr>
</table>
<p><br />
<strong>Dopravné</strong> při čištění koberců v Ostravě, Havířově, Orlové, Karviné, Opavě, Novém Jičíně, Frýdku Místku a okolí <strong>není účtováno. Je zdarma!</strong>
</p>
<p>
Ceny jsou pouze orientační, cena je vždy upřesněna a dohodnuta před zahájením prací při konkrétní zakázce. Cenu ovlivňuje mnoho faktorů (stupeň znečištění, typ koberce, druh látky čalounění, členitost čištěné plochy apod.).
<br /><br />
Minimální cena za jednu zakázku činí 550 Kč.<br />
</p>
<br />
<script type="text/javascript">
<!--
function checkfill() {
var xform = document.getElementById('cisteni')
xform.jmeno.className = (xform.jmeno.value.length < 3) ? "empty":"intext";
xform.mesto.className = (xform.mesto.value.length < 3) ? "empty":"intext";
xform.ulice.className = (xform.ulice.value.length < 3) ? "empty":"intext";
xform.termin.className = (xform.termin.value.length < 6) ? "empty":"intext";
xform.kontakt.className = (xform.kontakt.value.length < 3) ? "empty":"intext";
xform.cpc.className = (xform.cpc.value.length < 4) ? "empty":"intext";
}
function validate(){
var xform = document.getElementById('cisteni')
var filled = 0;
for(i=1;i<12;i++)
{
eval("if (xform.c"+i+".checked) filled=1;");
}
if (filled==0) {
alert('Zvolte minimálně jeden z úkonů v rozsahu prací');
return false;
}
checkfill();
if (xform.jmeno.value.length < 3 || xform.mesto.value.length < 3 || xform.ulice.value.length < 3 || xform.kontakt.value.length < 3 || xform.termin.value.length < 6 || xform.cpc.value.length < 4)
{
alert ("Vyplňte povinné údaje!");
return false;
}
return true;
}
-->
</script>
<form method="post" id="cisteni" action="cisteni-kobercu-potvrzeni.php" onsubmit="return validate()">
<fieldset class="formfields"><legend>Objednávka čištění koberců a čalounění</legend>
<label>Službu využíváte jako:</label>
<input type="radio" name="osoba" value="organizace" checked="checked" />organizace<br/>
<input type="radio" name="osoba" value="fyzická osoba-občan" />fyzická osoba-občan<br/>
<label>Rozsah prací:</label>
<table>
<tr><td>
<input type="checkbox" name="c1" />
odstranění hrubších nečistot vysavačem</td><td>
počet m2 <input type="text" name="v1" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c2" />
čištění koberců</td><td>
počet m2 <input type="text" name="v2" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c3" />
čištění sedací soupravy 3+1+1</td><td>
počet ks <input type="text" name="v3" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c4" />
čištění sedací soupravy 3+2+1</td><td>
počet ks <input type="text" name="v4" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c5" />
čištění kuchyňské, kancelářská židle</td><td>
počet ks <input type="text" name="v5" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c6" />
čištění křesla</td><td>
počet ks <input type="text" name="v6" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c7" />
čištění pohovky dvoumístné</td><td>
počet ks <input type="text" name="v7" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c8" />
čištění pohovky třímístné</td><td>
počet ks <input type="text" name="v8" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c9" />
čištění dvojité postele (letiště)</td><td>
počet ks <input type="text" name="v9" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c10" />
čištění postele nebo matrace</td><td>
počet ks <input type="text" name="v10" maxlength="3" size="3" /></td></tr>
<tr><td>
<input type="checkbox" name="c11" />
čištění kuchyňské lavice</td><td>
počet ks <input type="text" name="v11" maxlength="3" size="3" /></td></tr>
</table>
<label>Jiné úklidové služby</label>
Uveďte typ úklidové služby o kterou máte zájem:
<input type="text" name="jina_sluzba" size="50" class="intext" />
<label>Vaše kontaktní údaje pro místo určení:</label>
<div id="kontaktniudaje">
<label class="row">Jméno a příjmení:</label><input type="text" name="jmeno" class="intext" onfocus="checkfill()"/><div class="clear"></div>
<label class="row">Nazev firmy:</label><input type="text" name="firma" class="intext" onfocus="checkfill()"/><div class="clear"></div>
<label class="row">Ulice:</label><input type="text" name="ulice" class="intext" onfocus="checkfill()"/> ulice, č.p., poschodí<div class="clear"></div>
<label class="row">Město:</label><input type="text" name="mesto" class="intext" onfocus="checkfill()"/><div class="clear"></div>
<label class="row">Kontakt:</label><input type="text" name="kontakt" class="intext" onfocus="checkfill()"/> e-mail, telefon<div class="clear"> </div>
<p>Pro rychlejší vyřízení uvádějte Váš email, děkujeme Vám.</p>
</div>
<label>Zadejte Váš návrh pro stanovení data a času realizace:</label>
<input type="text" name="termin" value="" onfocus="checkfill()" onblur="checkfill()" class="intext" /> dd.mm.rr hh:mm
<label>Opište kontrolní text:</label>
<img src="imgs/areyourobot.png" style="margin:0;vertical-align:middle" /><input type="text" name="cpc" value="" class="intext" onfocus="checkfill()" onblur="checkfill()" />
<hr class="clear"/><br />
<p>Po odeslání Vaší objednávky Vás budeme do 24 hodin kontaktovat a upřesníme datum i čas pro poskytnutí služby.</p>
<hr class="clear"/>
<p class="smaller">
Souhlas se zpracováním osobních údajů<br />
Podle zákona č. 101/2000 Sb. zákon o ochranně osobních údajů a o změně některých zákonů, v platném znění.
</p>
<p class="smaller">
Já výše jmenovaný(á) souhlasím s tím, že moje osobní údaje poskytované této firmě, mohou být zpracovávány v potřebném rozsahu.
Funkcí "odeslat" potvrzuji, že jsem byl ve smyslu ustanovení §11 zákona o ochraně osobních údajů informován o zpracování mých osobních údajů za výše uvedeným účelem, jakož i o svých právech souvisejících se zpracováním mých osobních údajů.
</p>
<input type="submit" value="Odeslat" />
</fieldset>
</form>
</div>
<div class="panel"><div class="paneltop"><div class="panelbottom">
<img src="imgs/puzzi300.jpg" alt="puzzi 300" style="margin-top: 20px;"/>
<h3>KÄRCHER PUZZI 300</h3>
</div></div></div>
<? include("kontakt-panel.inc") ?>
<? include("bottom.inc") ?>
smiesek:18.8.2015 15:31
tak bohužel já ze své strany nedokážu tedy určit, co přesně obsahuje a nebo se tedy chová ta proměnná, třeba poradí někdo ze zkušenějších kolegů, mimo to v tom souboru taky není použita
i tak dík, pokud se neozve někdo další, tak jednoduše přepíšu ten jeho e-mail a budu doufat,že to bude stačit. Budu muset spustit nový web co nejdříve,ať vyloučím riziko úniku dat.
Uživatel sítě :18.8.2015 17:22
- Adresa (radim.galicek@seznam.cz) je kam se e-mail odešle.
- Adresa (From: info@zwa.cz) je odesílatel
- Adresa (Reply-To: $eXail) je adresa pro odpověď.
Ve tvém případě bych smazal \nReply-To: $eXail, není tam vůbec potřeba. Odesílatel, může být tvar třeba objednavka@tvojedomena.
smiesek:18.8.2015 17:59
taky jsem chtěla případně pak navrhnout, aby se to smazalo
myslím si, že to má souvislost s tím, že se ty objednávky ukládaly do textového souboru. Jelikož byly služby ze strany správce ukončeny už před několika týdny a nové objednávky se ukládaly pouze do doby funkčních služeb správcovství, tak něco umazali a upravili a proto možná ta proměnná $eXail,která vám tam nesedí
smiesek:19.8.2015 3:14
v tom případě mě pak i napadlo, jestli to nyní zapomenutá proměnná, se kterou se dále nepracovalo a nebo záleží na programátorovi, zdali tehdy použil část kodu pro mail a tím pádem proměnnou bezhlavě překopíroval.
Zobrazeno 12 zpráv z 12.