Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> funkcja mail() + wysylanie maili, dlaczego wysylka kilka e-maili a nie 1?
gladiror
post
Post #1





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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??


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Proszę o większą ilość kodu. Generalnie, jeśli na serwerze ustawione jest wszysto oki doki, to powinno wysłać tylko jednego maila.


--------------------
Go to the top of the page
+Quote Post
gladiror
post
Post #3





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  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. ?>


Ten post edytował gladiror 9.09.2005, 08:54:01


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


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.


--------------------
-------------

------
Go to the top of the page
+Quote Post
TomASS
post
Post #5





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Do bardzo konstuktywnych uwaga Revyaga dorzuce:


--------------------
Go to the top of the page
+Quote Post
gladiror
post
Post #6





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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...

Ten post edytował gladiror 9.09.2005, 22:43:43


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
TomASS
post
Post #7





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


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

Ten post edytował TomASS 9.09.2005, 22:51:18


--------------------
Go to the top of the page
+Quote Post
gladiror
post
Post #8





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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...


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:57