
Jde celý obsah webové stránky přeposlat na email?
Ahoj, konstruuji eshop, jádro(košík, produkty) už mám hotové(no, hotové, spíše stažené), ale potýkám se s jedním problémem. PHP skript mi vygeneruje hotovou www stránku, kterou bych potřeboval přeposlat na email(potvrzení objednávky). Ono by stačilo "vyexportovat" jednu tabulku, tu dát do souboru, který by byl jako příloha k emailu.
Moje představa:
Zákazník si nakliká všechno zboží, dá nákupní košík. Dále si překontroluje objednávku, dá potvrzení objednávky, vygeneruje se soubor s náhodným názvem(aby nebyly 2 stejné, o to se postará databáze jako u košíků), vyplní jméno, adresu, typ poslání atd. a email se odešle s přílohou.
Ten email s přílohou udělám, mě jde o to vyexportovat tu tabulku do souboru.
Tohle třeba vyleze z toho skriptu:
<html>
<head>
<title> Nákupní koík </title>
<script language="JavaScript">
function updatepocet(polozka)
{
id = polozka.name;
pocet = polozka.options[polozka.selectedIndex].text;
document.location.href = 'kosik.php?action=update&id='+id+'&pocet='+pocet;
}
</script>
</head>
<body bgcolor="#ffffff">
<h1>Nákupní koík</h1>
<form name="frmCart" method="get">
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="15%">
<b>Počet</b>
</td>
<td width="55%">
<b>Produkt</b>
</td>
<td width="20%">
<b>Cena</b>
</td>
<td width="10%">
<b>Odstranit</b>
</td>
</tr>
<tr>
<td width="15%">
<select name="2" onChange="updatepocet(this)">
<option selected <option >2</option><option >3</option><option >4</option><option >5</option><option >6</option><option >7</option><option >8</option><option >9</option><option >10</option><option >11</option><option >12</option><option >13</option><option >14</option><option >15</option><option >16</option><option >17</option><option >18</option><option >19</option><option >20</option>
</select>
</td>
<td width="55%">
Fyzika </td>
<td width="20%">
80 Kč
</td>
<td width="10%">
<a href="kosik.php?action=remove&id=2">Odstranit</a>
</td>
</tr>
</table>
<b>Celková cena: 80.00 Kč</b>
</form>
<a href="index.php">Návrat na výběr zboí</a>
</body>
</html>
Část, kterou bych si potřeboval uložit do souboru, je vyhraněna obrovskou mezerou, cenu si překontroluji kvůli nějakým šikulům, kteří by dokázali pozměnit to. Díky moc.
Poslední problém před dokončením:
Zobrazí se mi v emailu pouze první řádek zboží (Objednané zboží : Číslo produktu: 3 - Počet kusů: 13,), ostatní bohužel ne, jak to udělat, aby to bylo takhle v tom emailu:
Číslo produktu: x - Počet kusů: x === Číslo produktu: x - Počet kusů: x
Jako x tam budou dosazena čísla z databáze
Pak je zdroj problému pouze v jednom z následujících bodů:
- Dané proměnné jsou prázdné - neobsahují nic, mimo proměnnou $zbozi.
- Do proměnné $message je nakonec nekde omylem zkopirovan obsah $zbozi a nebo je omylem pouzita proměnná $zbozi namísto $message.
Já to napsal blbě. Vše ostatní funguje, ale mám "objednáno" 3 druhy zboží a v emailu se zobrazuje pouze ten poslední druh, ostatní ne...
Takhle to vypadá ten email:
Jméno: a
Přijmení: a
Firma: a
IČO: a
DIČ: a
Telefon: a
Email: a
Jiný kontakt : a
Způsob dodání : Osobní vyzvednutí
Poznamka : a
Objednané zboží : a kde jsou ty ostatní výrobky??? Číslo produktu: 3 - Počet kusů: 9,
P.S. Ale ten samý kód na stránce udělá toto:
Číslo produktu: 2 - Počet kusů: 12, Číslo produktu: 1 - Počet kusů: 15, Číslo produktu: 3 - Počet kusů: 9,
No protože to máš navržené tak, že počítáš pouze s jedním objednaným výrobkem(zbožím).
Musíš si tam "dodělat" to, aby to fungovalo pro libovolný počet zboží.
Na toto se nejlépe hodí právě objektové programování(objekty), ale tady je možné to i vybírat přímo z databáze(možná) jako strukturu. To záleží jak jsou uskladněna a vybrána data ze zdroje (např. databáze to vrací přímo jako strukturu, což je něco jako bratranec objektu.
No jo, jenže mi vrtá hlavou, proč to v emailu nejede a na normální stránce ano
Protože to vypisuješ dobře:
RESPEKTIVE
p5ep93e3 na.....
Neco takoveho no.
Prostě si nějak v té smyčce jenom doplň to skladování (tady by bylo blbnutí s objektama nesmyslnost teda).
Napoveda: to co vypisujes na obrazovku jenom "naskladujes" do pole zaroven.
Takže jsem si to udělal takhle:
A ono mi to vyhodí na příkaz echo pouze "Array" a nic víc.
Hurá. Tak to tvoje funguje, akorát tam byla blbě udělaná ta poznámka. U PHP se to dělá /* poznámka */
já mám za to, že u PHP jsou dva druhy poznámek. Jedna nezalomitenlá (pouze na jeden řádek, druhá zalomitelná na několik řádků.
Já je píšu:
//poznámka
to /*poznámka*/ používám u CSS.
S tou poznámkou to nejde, jak má. Necháme to být. Prostě /* */ je funkční
Ještě jedno mi vrtá hlavou. Odeslal jsem z webovek asi 100 zpráv a pak se mi to seklo. Nemohli mi to webzdarmáci zablokovat?
Aha, chtěli reklamu
V tomto případě to znova vypíše tu poslední
V tomto případě to pošle megamail s počtem opakování, kolik je tam záznamů.
Jak to už do prkýnka zelenýho udělat?
Díky, konečně mám své 8kb jádro obchodu hotové. Jenom bych se chtěl zeptat, jestli se jde zbavit těch Notice hlášek:
Hlášky lze potlačit umístěním zavináče před proměnnou:
Ale není dobré si na to zvykat.