Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: funkcja mail() + wysylanie maili
Forum PHP.pl > Forum > Przedszkole
gladiror
Witam!
Mam problem - mam skrypt:

  1. <?php
  2.  
  3. mail("ga@wp.pl","aa","asas");
  4.  
  5. ?>


Chodzi o to, że skrypt jest uruchomiony np. 31 lipca, a wiadomosci przychodza sobie pare dni poxniej i jest ich wiecej niz 1... Da sie to jakos ominac??
TomASS
Proszę o większą ilość kodu. Generalnie, jeśli na serwerze ustawione jest wszysto oki doki, to powinno wysłać tylko jednego maila.
gladiror
  1. <?
  2.  
  3. /* USUWA Z BAZY DANYCH OSOBY KTÓRE NEI DOKONAŁY AKTYWACJI KONTA W CIˇGU 1 DNIA */
  4.  
  5. $dbh=mysql_connect ("localhost", "aa", "aa") or die ('I cannot connect to the database because: ' . mysql_error());
  6. mysql_select_db ("aa"); 
  7. $dzisiaj = date("Y-m-d");
  8. $zapytanie = "SELECT * FROM koszyk WHERE potwierdzone = '' or potwierdzone = 'NIE'";
  9. $wykonaj = mysql_query($zapytanie);
  10. while($wiersz=mysql_fetch_array($wykonaj))
  11. {
  12. $data_z_bazy = "".$wiersz['data_zamowienia']."";
  13. $dzisiaj = (strtotime($dzisiaj) - strtotime($data_z_bazy)) / 86400;
  14. $nr_rekordu = "".$wiersz['id_koszyk']."";
  15. if($dzisiaj>1)
  16. {
  17. $zapytanie_usun = "DELETE FROM koszyk WHERE id_koszyk = '$nr_rekordu'";
  18. $wykonaj2 = mysql_query($zapytanie_usun);
  19. }
  20. else
  21. {
  22. print("");
  23. }
  24.  
  25. }
  26. /* USUWA Z BAZY DANYCH ZAMÓWIENIA KTÓRE NIE ZOSTAŁY AKTYWOWANE W CIˇGU 1 DNIA */
  27.  
  28. ?>
  29.  
  30. <h1>Twój koszyk:</h1>
  31.  
  32.  
  33.  
  34. <?
  35. $zapytanie_koszyk = "SELECT * FROM `koszyk` WHERE klient = '$login' and kodzik='' order by cena";
  36. $wykonaj_koszyk = mysql_query($zapytanie_koszyk);
  37. $czy_koszyk_jest_pusty = mysql_num_rows($wykonaj_koszyk); 
  38.  
  39.  
  40.  
  41. if($czy_koszyk_jest_pusty==0)
  42. {
  43. print("<h2>Twój kosztyk jest pusty!</h2>");
  44. }
  45. else
  46. {
  47.  
  48. while($wiersz=mysql_fetch_array($wykonaj_koszyk))
  49. {
  50. $numerek = "".$wiersz['id_koszyk'].""; /* nr produktu w koszyku w bazie danych */
  51. }
  52.  
  53.  
  54.  
  55.  
  56. if ((isset($_GET['action'])) && (is_numeric($_GET['id']))) /* usuwanie produktów z koszyka */
  57. {
  58. if ($_GET['action'] == "usun") 
  59.  {
  60.  $zapytanie_usun = "DELETE FROM koszyk WHERE id_koszyk = '$numerek' and kodzik=''";
  61. $wykonaj_usun = mysql_query($zapytanie_usun);
  62. }
  63. }
  64.  
  65.  
  66. $zapytanie_koszyk2 = "SELECT * FROM `koszyk` WHERE klient = '$login' and kodzik='' order by cena";
  67. $wykonaj_koszyk2 = mysql_query($zapytanie_koszyk2);
  68. $look = mysql_num_rows($wykonaj_koszyk2); 
  69. $id="0";
  70.  
  71.  
  72. if($look<>0)
  73. {
  74.  
  75. print("<table>");
  76. print("<tr><td><B>Lp</B></td>
  77. <td align="center"><B>Nazwa</B></td>
  78. <td align="center"><B>Rozmiar</B></td>
  79. <td align="center"><B>Kolor</B></td>
  80. <td align="center"><B>Cena</B></td>
  81. <td align="center"><B>Ilo&para;ć</B></td>
  82. <td align="center"><B>Suma</B></td>
  83. <td align="center"><B>Modyfikacja</B></td>
  84. </tr>");
  85.  
  86. while($wiersz=mysql_fetch_array($wykonaj_koszyk2))
  87. {
  88.  
  89. $id = $id+1;
  90.  
  91. print("<tr>");
  92. print("<td align="center">$id</td>");
  93. print("<td align="center">".$wiersz['towar']."</td>");
  94. print("<td align="center">".$wiersz['rozmiar']."</td>");
  95. print("<td align="center">".$wiersz['kolor']."</td>");
  96. $cenka = "".$wiersz['cena']."";
  97. $ile = "".$wiersz['ilosc']."";
  98. print("<td align="center">".$wiersz['cena']." zł</td>");
  99. print("<td align="center">".$wiersz['ilosc']."</td>");
  100. $suma = $cenka * $ile;
  101. print("<td align="center">$suma zł.</td>");
  102. $numerek = "".$wiersz['id_koszyk']."";
  103. print("<td align="center"><a href="koszyk.php?action=usun&id=$numerek">Usuń</a></td>");
  104. print("</tr>");
  105. $razem = $razem + $suma;
  106. }
  107. print("</table>");
  108.  
  109.  
  110.  
  111. print("<form action="koszyk.php" method="post">");
  112.  
  113.  
  114.  
  115.  
  116. print("<br>Koszt przesyłki: ");
  117. print("<A HREF="javascript:displayWindow('../../data/data/wysylka2.php',400,250)">=> Zobacz <=</a><br><br>");
  118.  
  119.  
  120.  
  121.  
  122. $zapytanie = "SELECT * FROM `koszyk` WHERE klient = '$login' and data_wyslania <> '0000-00-00'";
  123. $wykonaj = mysql_query($zapytanie);
  124. $ile_odp = mysql_num_rows($wykonaj); 
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. if(!$platnosc):
  137. {
  138. print("Wybierz rodzaj płatno&para;ci: ");
  139. print("<select name="platnosc">");
  140. print("<option></option>");
  141. print("<option>Przelew</option>");
  142. print("<option>Wpłata w UP</option>");
  143. print("<option>Odbiór osobisty</option>");
  144.  
  145. if($ile_odp>0):
  146. {
  147. print("<option>Za pobraniem</option>");
  148. }
  149. else:
  150. {
  151. print("");
  152. }
  153. endif;
  154. print("</select>");
  155. print("<input type="submit" name="submit" value="wybierz">");
  156.  
  157. }
  158. else:
  159. {
  160.  
  161. if($platnosc=='Przelew'):
  162. {
  163. $razem = $razem + 7;
  164. }
  165. else:
  166. {
  167. print("");
  168. }
  169. endif;
  170.  
  171. if($platnosc=='Odbiór osobisty'):
  172. {
  173. print("");
  174. }
  175. else:
  176. {
  177. print("");
  178. }
  179. endif;
  180.  
  181. if($platnosc=='Za pobraniem'):
  182. {
  183. $razem = $razem + 15;
  184. }
  185. else:
  186. {
  187. print("");
  188. }
  189. endif;
  190.  
  191. if($platnosc=='Wpłata w UP'):
  192. {
  193. $razem = $razem + 7;
  194. }
  195. else:
  196. {
  197. print("");
  198. }
  199. endif;
  200.  
  201.  
  202.  
  203.  
  204. print("<br>Wybrałe&para; następuj&plusmn;cy rodzaj płatno&para;ci: $platnosc");
  205. print("<br>Razem z przesyłk&plusmn;: $razem zł <br><br>");
  206.  
  207.  
  208.  
  209.  
  210. print("<div align=center"><h2>Dodaj uwagi/ pro&para;by do zamówienia</h2>Jeżeli chcesz komu&para; wysłać paczkę jako prezent to napisz tutaj to.<br><br><textarea cols="20" rows="10" name="uwagi"></textarea><br><input type="submit" name="wyslij_zamowienie" value="Wy&para;lij moje zamówienie do realizacji"></div>");
  211.  
  212. }
  213. endif;
  214.  
  215.  
  216.  
  217. }
  218. else
  219. {
  220. print("<h2>Opróżniłe&para; koszyk!</h2>");
  221. }
  222. }
  223.  
  224. print("<input type="hidden" name="aa" value="$platnosc">");
  225.  
  226.  
  227.  
  228. if(isset($wyslij_zamowienie))
  229. {
  230. $zapytanie9 = "SELECT * FROM `klienci` WHERE wlaczone = 'TAK' and uzytkownik = '$login'";
  231. $wykonaj9 = mysql_query($zapytanie9);
  232.  
  233.  
  234.  
  235. while($wiersz=mysql_fetch_array($wykonaj9))
  236. {
  237. $adres_email = "".$wiersz['mail']."";
  238. }
  239. $kod = rand(1000, 10000000);
  240.  
  241.  
  242.  
  243.  
  244. $tresc = "
  245. Witamy!<br><br>
  246.  
  247. Wła&para;nie dokonałe&para;/a&para; zakupów w sklepie<br><br>
  248.  
  249. Twój koszyk wygl&plusmn;da następuj&plusmn;co:<br><br>
  250.  
  251.  
  252.  
  253. <table border="1">
  254. <tr><td><B>Lp</B></td>
  255. <td align="center"><B>Nazwa</B></td>
  256. <td align="center"><B>Rozmiar</B></td>
  257. <td align="center"><B>Kolor</B></td>
  258. <td align="center"><B>Cena</B></td>
  259. <td align="center"><B>Ilo&para;ć</B></td>
  260. <td align="center"><B>Suma</B></td>
  261. </tr>
  262.  
  263. ";
  264. $zapytanie_koszyk2 = "SELECT * FROM `koszyk` WHERE klient = '$login' and kodzik='' order by cena";
  265. $wykonaj_koszyk2 = mysql_query($zapytanie_koszyk2);
  266. $look = mysql_num_rows($wykonaj_koszyk2); 
  267. $id="0";
  268. $razem = '0';
  269.  
  270. while($wiersz=mysql_fetch_array($wykonaj_koszyk2))
  271. {
  272.  
  273. $id = $id+1;
  274.  
  275. $tresc .= "<tr>";
  276. $tresc .= "<td align="center">$id</td>";
  277. $tresc .= "<td align="center">".$wiersz['towar']."</td>";
  278. $tresc .= "<td align="center">".$wiersz['rozmiar']."</td>";
  279. $tresc .= "<td align="center">".$wiersz['kolor']."</td>";
  280. $cenka = "".$wiersz['cena']."";
  281. $ile = "".$wiersz['ilosc']."";
  282. $suma = $cenka * $ile;
  283. $tresc .= "<td align="center">".$wiersz['cena']." zł</td>";
  284. $tresc .= "<td align="center">".$wiersz['ilosc']."</td>";
  285. $tresc .= "<td align="center">$suma zł</td>";
  286. $numerek = "".$wiersz['id_koszyk']."";
  287. $tresc .= "</tr>";
  288. $razem = $razem + $suma;
  289. }
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299. if($aa=='Przelew'):
  300. {
  301. $razem = $razem + 7;
  302. $oplata = 7;
  303. }
  304. else:
  305. {
  306. print("");
  307. }
  308. endif;
  309.  
  310. if($aa=='Odbiór osobisty'):
  311. {
  312. print("");
  313. $oplata = 0;
  314. }
  315. else:
  316. {
  317. print("");
  318. }
  319. endif;
  320.  
  321. if($aa=='Za pobraniem'):
  322. {
  323. $razem = $razem + 15;
  324. $oplata = 15;
  325. }
  326. else:
  327. {
  328. print("");
  329. }
  330. endif;
  331.  
  332. if($aa=='Wpłata w UP'):
  333. {
  334. $razem = $razem + 7;
  335. $oplata = 7;
  336. }
  337. else:
  338. {
  339. print("");
  340. }
  341. endif;
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355. $zapytanie10 = "UPDATE koszyk SET kodzik='$kod', przesylka='$aa', uwagi='$uwagi' WHERE klient = '$login' and kodzik=''";
  356. $wykonaj10 = mysql_query($zapytanie10);
  357.  
  358. $tresc .= "</table>
  359.  
  360.  
  361.  
  362. <br>
  363. Twój login to: $login<br>
  364. Twój nr zamówienia to: $kod<br>
  365. Rodzaj płatno&para;ci: $aa<br>
  366. Opłata za przesyłkę: $oplata zł<br>
  367. Razem do zapłaty (z przesyłk&plusmn;): $razem zł";
  368.  
  369.  
  370. if(($aa=="Przelew") or ($aa=="Wpłata w UP")):
  371. {
  372. $tresc .= "asdsa asdas asd asd ad asd asd ";
  373. }
  374. else:
  375. {
  376. print("");
  377. }
  378. endif;
  379.  
  380.  
  381.  
  382. $tresc .= "
  383. <br><br>
  384.  
  385. Jeżeli potwierdzasz tranzakcję proszę nacisn&plusmn;ć poniższy link lub skopiować go do przegl&plusmn;darki internetowej:<br><br>
  386.  
  387.  
  388.  
  389. Pozdrawiamy i życzmy udanych zakupów<br><br>
  390.  
  391.  
  392. ";
  393. /* Aby wysłać e-mail w formacie HTML, należy ustawić nagłówek Content-type. */
  394. $naglowki = "MIME-Version: 1.0rn";
  395. $naglowki .= "Content-type: text/html; charset=iso-8859-2rn";
  396. /* dodatkowe nagłówki */
  397. $naglowki .= "From: Potwierdzenie zakupów <klimpol@klimpol.pl>rn";
  398.  
  399.  
  400.  
  401. mail($adres_email,"Potwierdzenie zakupów", $tresc, "$naglowki");
  402.  
  403. print("<h2>WejdĽ na swoj&plusmn; pocztę i potwierdĽ zakupy!</h2>");
  404.  
  405. }
  406. else
  407. {
  408. print("");
  409. }
  410.  
  411.  
  412. print("</form>");
  413.  
  414.  
  415. ?>
revyag
Uwagi: snitch.gif
- wszechobecne if i else, aż się prosi żeby dać tam switch'a
- składnia alternatywna ma to do siebie że nawias otwierający zmieniasz na : a zamykający na endif; u ciebie jest to i to
- w miejscu if(isset($wyslij_zamowienie)) robisz petle po zapytaniu do bazy, po składni zapytania wynika, że ma zostać pobrany email jednego usera, więc po co ta pętla ?
- włącz error_reporting na E_ALL i zobacz czy nie ma warningów.
TomASS
Do bardzo konstuktywnych uwaga Revyaga dorzuce:
gladiror
Więc może zacznę od 1 wypowiedzi winksmiley.jpg ALe THX, że napisaliscie co jest źle, to będe uczył się na błędach winksmiley.jpg Nie uczyłem sie z książek, także błędy mogły wystąpić...

Cytat
- wszechobecne if i else, aż się prosi żeby dać tam switch'a


Jakoś tak przyzwyczaiłem sie do tej podstawowej funkcji... winksmiley.jpg

Cytat
- składnia alternatywna ma to do siebie że nawias otwierający zmieniasz na : a zamykający na endif; u ciebie jest to i to


Czyli chodzi, że trzeba pisać w taki sposób:
  1. <?
  2. if(a==1):
  3. print("1")
  4. else:
  5. print("inne");
  6. endif;
  7. ?>

questionmark.gifquestionmark.gif?

Cytat
- w miejscu if(isset($wyslij_zamowienie)) robisz petle po zapytaniu do bazy, po składni zapytania wynika, że ma zostać pobrany email jednego usera, więc po co ta pętla ?


A jak można wycinągnąc tylko jeden rekord bez uzywania pętli??


Cytat
- włącz error_reporting na E_ALL i zobacz czy nie ma warningów.

w php.ini - tak??


Jeżeli chodzi o status koszyka - to kwestia sporna... Moim zdaniem nie ma to dużego znaczenia... Czy coś będzie wpisane czy nie... Mozna wpisać NIE, ale równie dobrze można nic nie wpisywać... I tak na jedno wyjdzie.

Jeżeli chodzi o kod z linii 25 to on w sumie nieczemu nie służy... Poprostu jak pisze składanie if to zapisuje sobie całość i później zostają takie wybryki natury winksmiley.jpg Czyli chodzi o to, żeby nie używać nawiasów klamrowych?? Jest w ogóle jakaś roznica czy użyje sie tych nawiasów czy nie ma? Czy wystarczy wybrać sobie którąś z opcji?

Dlaczego dołączasz spacje:
  1. <?php
  2. $numerek = "".$wiersz['id_koszyk']."";
  3. ?>


A nie można dołączać spacji??

  1. <?php
  2. $numerek="".$wiersz['id_koszyk']."";
  3. ?>

Tak jest dobrze??

Jeżeli chodzi o koszyk to masz rację z tym dodaniem loginu... Rzeczywiście może wyniknać taka sytuacja... A z tym postem to też poprawie winksmiley.jpg

A dalej to już alternatywne sposoby winksmiley.jpga

Z góry dzięki za pomoc i uwagi! Proszę o odpowiedzi...
TomASS
1. Ale ze swithem jest przejżyściej
2. Tak
3. $zapytanie9 = "SELECT * FROM `klienci` WHERE wlaczone = 'TAK' and uzytkownik = '$login' LIMIT 1";
4. Tak
5. Co do koszyka, to ja wolę mieć jeden z góry ustalony status mojego rekordu. A nie że zamówienie jest nie potwierdzone, albo i nie...zrób jak chcesz, my tylko radzimy.
6. Nie o te spacje mi chodzi - chodzi mi właśnie o te " ".$wiersz['id_koszyk']." ";
7. Jak chcesz aby ktoś podglądał jakie zmienne przesyłasz, to uzywaj GETa smile.gif
gladiror
Odnośnie stosowania metody POST i GET... W tym skrypcie co mam metodę GET - zamieniłem nazwę na POST i już nie działa... W jaki sposób dzięki metodzie get ktoś będzie mógł zobaczyć moje zmienne? Bo zmienne z formularza to łatwo zobaczyć prawym i pokaż źródło... A za pomocą GET = w jaki sposó?

  1. <?php
  2.  
  3. $zapytanie9 = "SELECT * FROM `klienci` WHERE wlaczone = 'TAK' and uzytkownik = '$login' LIMIT 1";
  4.  
  5. ?>


Ok, ale teraz w jaki sposób wyciągnąć np. imie klienta? przeciez nie wpisze jak wczesniej .$wiersz[imie]....

Wracając do tych "" => jak ich nie używam, tzn. jak wpiszę samo print("<td>.$wiersz[id_koszyk].</td">); to wyskakuje błąd...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.