DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Slanje liste proizvoda na mail - potrebna pomoć (http://www.devprotalk.com/showthread.php?t=2669)

trollhorn 26. 03. 2007. 10:53

Slanje liste proizvoda na mail - potrebna pomoć
 
Guten Tag svima! Radim na faxu projekat iz php-a i to computer shop (online) i sve mi radi ok osim slanja mail-a korisniku. Nemam pojma kako da korisniku nakon kupovine posaljem LISTU komponenata tj. onog sto je kupio. Imam kod za automatsko generisanje password-a i slanje na mail. Kontam da mi treba session koji vec imam (pamti vec izabrane komponente), ali ne znam kako da ih ubacim u kod za slanje mail-a... Molim za pomoc i unapred hvala!

BrainDamage 26. 03. 2007. 11:45

pa, provuci kroz foreach() proizvode (ako ih cuvas kao array u sesiji)

PHP kôd:

$emailText "Lista proizvoda:\n\n";
$productsTotalPrice 0;

foreach (
$_SESSION['products'] as $product) {
    
$emailText .= $product['name']." - ".$product['price']."EUR\n";
        
$productsTotalPrice += $product['price'];
}
$emailText .= "\nUKUPNO:".round($productsTotalPrice,2); 

...i dobijes nesto tipa:

Kôd:

Lista proizvoda:

Proizvod 1 - 100EUR
Proizvod 2 - 200EUR

UKUPNO: 300,00EUR


Eniac 26. 03. 2007. 19:14

ma jok... verovatno radis sa necim tipa OSCommerce, koji ne salje na mail, ali sacuva u bazi podatke iz forme, tako da opusteno mozes da pristupis... A kad postavis na server sve radi kako treba (posto pretpostavljam da radis u lokalu)

trollhorn 27. 03. 2007. 09:48

da, radim u localhostu. inace, pocetnik sa na neki nacin pa imam problema malo sa ovim... probao sam ubaciti kod za mail samo za jednu promenljivu, mislim da je bila samo ukupna cena da se salje na mail... imao sam gresku u config file-u, nesto sa portovima. tu sam trokirao. e,da! skontao sa da zone alarm blokira rad sesion-a, sta ga sve jos moze blokirati?

oliver78 27. 03. 2007. 12:53

Citat:

Originalno napisao trollhorn
da, radim u localhostu.

Verovatno je ovo problem. Kako da posaljes mail, sa localhosta na kome (najverovatnije) nemas mail server.

trollhorn 27. 03. 2007. 14:37

da, ali sam probao i na serveru!

Ilija Studen 27. 03. 2007. 14:40

1. Kako pozivaš mail() funkciju? Postuj parče koda koje generiše poruku i sam poziv.
2. Koje poruke o grešci dobijaš?
3. Sad ću da budem malo zao ali nadam se da ćete mi oprostiti. To što si početnik nije uopšte opravdanje da postavljaš pitanja koja jednostavno ne mogu biti odgovorena bez umeća gledanja u pasulj i pileće iznutrice (drevne veštine koje se koriste kod telepatskog debugovanja kada pokušavaš da pomogneš nekom, a o samom problemu ne znaš gotovo ništa). Takođe nije opravdanje da ne znaš da imenuješ temu kako treba. "Potrebna pomoć" ili "Upomoććććććć" ništa ne govori.

Što više detalja o problemu pošalješ (problematično parče koda, poruka o grešci koju dobiješ itd) to će nam lakše biti da pomognemo. Ovako i pored najbolje volje ne može puno da se uradi...

trollhorn 27. 03. 2007. 22:11

Ha!!! Sredio sam! Mislim da je red da se izvinim jer sam komplikovao dzabe, nasao sam gresku a ne smem Vam reci sta je... Sramota me. :-) U svakom slucaju hvala za trud. Inace, treba jos da ubacim slike za komponente.
Naime, ubacio sam ih malopre u bazu i mislim da je to ok. Da li treba u php kodu da ubacim nekakvu petlju sa, ubacivanjem img tag-a ili samo da je pozivam iz baze?

Ilija Studen 27. 03. 2007. 22:51

Pogledaj kako se prosleđuju slike u PHP-u (jedan od načina).

http://www.php.net/manual/en/function.fpassthru.php

Moj savet bi bio da slike čuvaš na disku, ne u bazi. 10x je jednostavnije. U bazi samo čuvaš ime fajla...

trollhorn 28. 03. 2007. 10:46

thanx man! Da, imam ih na disku a u bazu sam naveo samo putanju do slike, tako da je to ok.

trollhorn 28. 03. 2007. 12:02

PHP kôd:

$pic $line['image'];
  
$size getimagesize("images/${pic}.jpeg");

  
$fp=fopen("images/${pic}.jpeg""rb");
  if (
$size && $fp) {
  
//header("Content-type: {$size['mime']}");
  
fpassthru($fp);
  exit;
} else {
 
// error


poludecu, dobijem klinasto pismo...:mad:

Ilija Studen 28. 03. 2007. 13:15

Ako ne čuvaš slike u bazi onda ih samo linkuješ. Ne treba ti fpassthru(). On se koristi ako želiš da direktno serviraš binarne podatke browseru (kao u slučaju kada slike ili bilo koje druge binarne formate čuvaš u bazi podataka).

ivanhoe 28. 03. 2007. 13:24

Citat:

Originalno napisao Ilija Studen
kao u slučaju kada slike ili bilo koje druge binarne formate čuvaš u bazi podataka

takodje cest slucaj je kad zelis da sprecis direktan pristup slikama, recimo pornjava i slicno, gde samo ulogovani korisnici mogu da vide sliku, onda takodje koristis php da posaljes sliku. Tebi to naravno ne treba za ovaj tvoj projekat, znaci kao sto rece Ilija, samo printaj <img> tagove sa odgovarajucim putanjama do slika...

BTW, klinasto pismo dobijes zato sto:
a) ne posaljes dobar header za Content-type
b) printas nesto pre nego sto posaljes sliku pa se zato ili ne posalje header uopste ili se posalje header, ali bude visak karaktera na pocetku slike..

trollhorn 29. 03. 2007. 10:46

Vidite, imam bazu komponenata i svaka komponenta ima svoju sliku. Prilikom iscitavanja (recimo samo jedne vrste komponenata) treba da dobijem njihovu listu sa slikama. U bazi svaki model treba da ima odgovarajucu sliku pa stoga na osnovu id-a modela izvlaci se i prikazuje njegova slika.
Kontam da mogu ubaciti switch i za svaki model navoditi putanju u zavisnosti od id-a... A to nije optimalno resenje za ogromne baze kao sto je moja...
Ako u bazi navedem samo naziv slike da li moze sad ovako napamet i da li ste ovako mislili:

$pic = $line['image'];
echo "<img src=images/$pic.jpeg />";

trollhorn 29. 03. 2007. 11:19

E radi! Svaka cast momci!!! Uz Vas covek moze svasta da nauci!
A je l' moze sesija delimicno da se brise?
Da ubacim checkbox-ove ispred modela u "korpi" i da obrisem samo odredjene modele. Cini mi se malo komplikovano, s obzirom da mi ne pada nista na pamet...:1049:

Ilija Studen 29. 03. 2007. 12:06

Pošto podatke najverovatnije čuvaš kao niz u sesiji polja koja ti više ne trebaju možeš jednostavno da unsetuješ.

Btw, zar ne misliš da je dosta offtopica? Ovo je već treća tema unutar ove teme ;)

trollhorn 29. 03. 2007. 13:41

E ta ti je dobra...tj. obe! unset mi uopste nije ni pao na pamet a sto se tice tema... Vazi! :)


Vreme je GMT +2. Trenutno vreme je 12:18.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.