Autor | Zpráva | ||
---|---|---|---|
margotka Profil |
#1 · Zasláno: 21. 10. 2012, 17:34:27
Ahojte, mám taký malý problém a neviem ako si s ním dať rady...
spravil som malý eshop, ktorý sa skladá zo štyroch (častí) sekcí. 1. časť je sekcia, v ktorej si vyberiem tovar 2. časť je sekcia, v ktorej vyplním údaje do formulára 3. čast, tu sa ukážu vyplnené údaje a vyberie sa možnosť opraviť ich alebo odoslať objednávku 4. časť je posledná, ktorá vypíše, že vaša objednávka bola odoslaná, a odosiela formulár na email. Všetko funguje tak ako má, ale občas (v pravudelných intervaloch) mi príde prázdny email s objednávkou, nie je tam nič napísane, iba od koho prišiel a prázdny mail. A o niekoľko hodím ešte jedn rovnaký. Email sa nedá odoslať bez vyplnených údajov, takže na poslednú časť sa bez ich vyplnenia dostanete iba zadaním kompletnej URL do prehliadača. A ak ju do prehliadača zadám, príde mi tento prázdny email, pretože sa potvrdí odoslanie. Môže to byť sposobené nejakou záloho servera a následným refrešom poslednej stránky, ktorá sa odosiela? dá sa tomu nejak zabrániť? diky |
||
yFang Profil |
#2 · Zasláno: 21. 10. 2012, 17:44:21
margotka:
A kontroluješ jestli do 4. části přišly údaje ze 3. části? |
||
margotka Profil |
yFang:
jo, mám tam takúto podmienku <? echo(ereg_replace("\n","<br>",$text)); echo("<br><br><p><strong>Na adresu:</strong></p>"); echo(ereg_replace("\n","<br>",$udaje_text)); if (@mail("moj@email.com","Objednávka na tovar z eshopu",$text."\n\n".$udaje_text.$zahlavi)) { echo("<br><p><strong>Objednávka bola odoslaná </strong></p>"); } else { echo("<br><p>Chyba : <strong>Objednávka nebola odoslaná, skontrolujte si správnosť všetkých údajov! </strong></p>"); } ?> |
||
yFang Profil |
#4 · Zasláno: 21. 10. 2012, 17:54:10
margotka:
A kde se berou hodnoty proměnných $text, $udaje_text a $zahlavi? |
||
margotka Profil |
#5 · Zasláno: 21. 10. 2012, 17:56:49
yFang:
sú to hodnoty, ktoré predávajú tovar v košíku do formulára <? $text=""; $row = split(";", $basket); for ($i = 0;$i<sizeof($row)-1;$i++) { $text = $text.$row[$i].""; } $text = $text." "; $udaje_text=""; $udaje_rw = split(";", $udaje); for ($i = 0;$i<sizeof($udaje_rw);$i++) { $udaje_text = $udaje_text.$udaje_rw[$i]."\n"; } ?> |
||
yFang Profil |
#6 · Zasláno: 21. 10. 2012, 18:05:55
margotka:
Myslím, že by to chtělo přidat ještě podmínku předtím, než vůbec budeš odesílat ten mail a v ní testovat, jestli nejsou proměnné prázdné. if(!empty($text) && !empty($udaje_text) && !empty($zahlavi)) { if (@mail("moj@email.com","Objednávka na tovar z eshopu",$text."\n\n".$udaje_text.$zahlavi)) { .... |
||
margotka Profil |
#7 · Zasláno: 21. 10. 2012, 21:05:58
zabralo, diky moc :)
|
||
margotka Profil |
#8 · Zasláno: 23. 10. 2012, 19:38:08
yFang:
ešte taká vec, ak bude celá podmienka vyzerať takto: if(!empty($text) && !empty($udaje_text) && !empty($zahlavi)) { if (@mail("t.masko@gmail.com","Objednávka na tovar z www.nikomi.sk",$text."\n\n".$udaje_text.$zahlavi)) { echo("<br><p><strong>Objednávka bola odoslaná </strong></p>"); } else { echo("<br><p>Chyba : <strong>Objednávka nebola odoslaná, skontrolujte si správnosť všetkých údajov! </strong></p>"); } } funguje, že sa prázdny formulár neodošle, ale tým pádom sa mi neodošle email a ani mi nevypíše echo
|
||
yFang Profil |
#9 · Zasláno: 23. 10. 2012, 23:26:26
margotka:
Tak ta podmínka kontroluje, jestli proměnné nejsou prázdné. Můžeš si přidat else větev, co chceš aby to udělalo, když je jedna z proměnných prázdná. |
||
Časová prodleva: 11 let
|
0