Autor | Zpráva | ||
---|---|---|---|
tachov Profil |
Prosím o pomoc...
jsem začínající programátor ( HTML /PHP /CSS ) a momentálně dělám eshop .... již je kompletní včetně možností přidat inzerát ale nedokážu do končit objednávky ..... potřeboval bych php script který mi vytvoří primitivní fakturu s výpisem obsahu košíku a odešle se na mail... výpis košíku je udělaný následovně : if(isset($_SESSION["products"])) { $total = 0; echo '<ol>'; foreach ($_SESSION["products"] as $cart_itm) { echo '<li class="cart-itm">'; echo '<span class="remove-itm"><a href="cart_update.php?removep='.$cart_itm["code"].'&return_url='.$current_url.'">×</a></span>'; echo '<h3>'.$cart_itm["name"].'</h3>'; echo '<div class="p-code">Kód produktu : '.$cart_itm["code"].'</div>'; echo '<div class="p-qty">ks : '.$cart_itm["qty"].'</div>'; echo '<div class="p-price">Cena :'.$currency.$cart_itm["price"].'</div>'; echo '</li>'; $subtotal = ($cart_itm["price"]*$cart_itm["qty"]); $total = ($total + $subtotal); } echo '<span class="empty-cart"><p></span>'; echo '<span class="check-out-txt"><strong>Celkem :'.$total.' Kč</strong><p></span>'; }else{ echo 'Košik je prázdný'; } ?> Najde se někdo kdo by to ukázal aspoň nějakým příkladem ? |
||
Taps Profil |
#2 · Zasláno: 17. 4. 2015, 02:41:34
ten vypis si uloz do nejake promenne a pak ji pouziji ve funkci mail
|
||
tachov Profil |
tachov, Taps:
Jsem s php na plných začátcích ...ukážeš jak na to? mám to udělané zatím takto : $to = "mail@gmail.com" ;; $subject = "HTML email"; $nameix = $cart_itm["id"]; $namei = $cart_itm["name"]; $codei = $cart_itm["code"]; $qtyi = $cart_itm["qty"] ; $pricei = $cart_itm["price"] ; $cart_itm = " <html> <head> <title>HTML email</title> </head> <body> <table> <tr> <th >Produkt</th><td></td> <th>ID produktu</th><td></td> <th>Kusy</th><td></td> <th>Cena za kus</th><td></td> <th>Celkem</th><td></td> </tr> <tr> <td>$namei</td><td></td> <td>$codei</td><td></td> <td>$qtyi</td><td></td> <td>$pricei</td><td></td> <td>$subtotal</td><td></td> </tr> </table> </body> </html> "; // Always set content-type when sending HTML email $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; // More headers $headers .= 'From: <mail@gmail.com>' . "\r\n"; $headers .= 'Cc: mail@gmail.com' . "\r\n"; mail($to,$subject,$cart_itm,$headers); ?> odešle se to krásně ale vždy pouze poslední položka košíku. |
||
smiesek Profil |
#4 · Zasláno: 18. 4. 2015, 04:42:58
tachov:
ráda bych se zapojila, případně se dověděla něco nového... tedy co je myšleno odesláním poslední položky košíku? Můžete dát konkrétní příklad? |
||
tachov Profil |
smiesek:
kdež vložím do košíku více položek : http://ctrlv.cz/9gtK tak přijde mail kde se vypíše pouze 1 : http://ctrlv.cz/vCNh |
||
juriad Profil |
tachov:
Tak zřejmě generuješ tabulku s dvěma řádky: 1. řádek je hlavička a 2. řádek je produkt (25. - 31. řádek kódu). Potřebuješ tedy tabulku složit v cyklu. Také tam máš možná problém v tom, že si přepisuješ proměnnou $cart_itm . Napřed to je pole, a později do ní přiřazuješ řetězec.
$email = " <html> <head> <title>HTML email</title> </head> <body> <table> <tr> <th >Produkt</th><td></td> <th>ID produktu</th><td></td> <th>Kusy</th><td></td> <th>Cena za kus</th><td></td> <th>Celkem</th><td></td> </tr>"; foreach ($_SESSION["products"] as $cart_itm) { $subtotal = $cart_itm['price'] * $cart_itm['qty']; $email .= "<tr> <td>$cart_itm[name]</td><td></td> <td>$cart_itm[code]</td><td></td> <td>$cart_itm[qty]</td><td></td> <td>$cart_itm[price]</td><td></td> <td>$subtotal</td><td></td> </tr>"; } $email .= "</table> </body> </html>"; A pak odešleš $email. Upraveno. |
||
quatzael Profil |
#7 · Zasláno: 18. 4. 2015, 09:52:13
tachov:
To jsi jako naprogramoval celej eshop a zasekl jsi se na týhle banalitě? Místo for jak píše juriad spíš použij foreach . Záleží v čem to máš uložený a jak.
Jestli to taháš z databáze tak bys měl použít while ..
|
||
tachov Profil |
#8 · Zasláno: 18. 4. 2015, 10:40:10
quatzael:
produkty jsou uložený v databázi kde je pak přes ten SESSION vypisuju do košíku |
||
juriad Profil |
#9 · Zasláno: 18. 4. 2015, 10:46:42
tachov:
Upravil jsem svůj kód; nejsem si jistý tou proměnnou $subtotal; to si raději zkontroluj. |
||
tachov Profil |
juriad:
jj takhle jsem to taky upravil ale píše mi to chybu i když nechápu proč ... podle mě je to zprávně: Parse error: syntax error, unexpected '}' in......shop.php on line 89 ...u toho kodu od tebe je to ta závorka na řádku 25 |
||
juriad Profil |
#11 · Zasláno: 18. 4. 2015, 10:56:23
tachov:
Zapomněl jsem středník na předchozím řádku (za koncem toho řetězce). |
||
tachov Profil |
#12 · Zasláno: 18. 4. 2015, 10:59:34 · Upravil/a: tachov
nevím jestli to pomůže ale sesmolil přidávání do košíku takhle :
<?php session_start(); include_once("confige.php"); if(isset($_GET["emptycart"]) && $_GET["emptycart"]==1) { $return_url = base64_decode($_GET["return_url"]); session_destroy(); header('Location:'.$return_url); } if(isset($_POST["type"]) && $_POST["type"]=='add') { $product_code = filter_var($_POST["product_code"], FILTER_SANITIZE_STRING); $product_qty = filter_var($_POST["product_qty"], FILTER_SANITIZE_NUMBER_INT); $return_url = base64_decode($_POST["return_url"]); $results = $mysqli->query("SELECT product_name,price FROM products WHERE product_code='$product_code' LIMIT 1"); $obj = $results->fetch_object(); if ($results) { $new_product = array(array('name'=>$obj->product_name, 'code'=>$product_code, 'qty'=>$product_qty, 'price'=>$obj->price)); if(isset($_SESSION["products"])) { $found = false; foreach ($_SESSION["products"] as $cart_itm) { if($cart_itm["code"] == $product_code){ $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$product_qty, 'price'=>$cart_itm["price"]); $found = true; }else{ $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$cart_itm["qty"], 'price'=>$cart_itm["price"]); } } if($found == false) { $_SESSION["products"] = array_merge($product, $new_product); }else{ $_SESSION["products"] = $product; } }else{ $_SESSION["products"] = $new_product; } } header('Location:'.$return_url); } if(isset($_GET["removep"]) && isset($_GET["return_url"]) && isset($_SESSION["products"])) { $product_code = $_GET["removep"]; $return_url = base64_decode($_GET["return_url"]); foreach ($_SESSION["products"] as $cart_itm) { if($cart_itm["code"]!=$product_code){ $product[] = array('name'=>$cart_itm["name"], 'code'=>$cart_itm["code"], 'qty'=>$cart_itm["qty"], 'price'=>$cart_itm["price"]); } $_SESSION["products"] = $product; } header('Location:'.$return_url); } ?> SUPER ... už to funguje fakt moc dík za radu... už jsem z toho měl hlavu jak pátrací balon |
||
Časová prodleva: 9 let
|
0