Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zabezpieczenie przed odświeżaniem
Forum PHP.pl > Forum > Przedszkole
pomek2
Witam,
Proszę o pomoc odnośnie odświeżania,
mianowicie po dodaniu ogłoszenia w moim serwisie w końcowym jego etapie informującym o jego dodaniu po wciśnięciu odśwież lub f5 następuje ponowne dodanie tego samego ogłoszenia,
jak to najlepiej zabezpieczyć?

wstawiam kod odpowiedzialny za końcowy etap dodania ogłoszenia:

  1. //***ZAKONCZENIE DODAWANIA OGLOSZENIA***//
  2.  
  3. function end_add_ad($uniqfolder, $title, $make_id, $model_id, $model_desc, $type, $production, $damaged, $price, $exchange, $negotiation, $capacity, $power, $power_sort, $mileage, $gearbox, $fuel, $dors, $color, $metalic, $preview_1, $preview_2, $insurer_oc_1, $insurer_oc_2, $first_rejstraction_1, $first_rejstraction_2, $extra_info, $equipment, $description, $expir_time, $promotion, $price_full)
  4. {global $prefix, $db, $nukeurl, $op, $userinfo, $sitename;
  5.  
  6. include("header.php");
  7. OpenTableMain();
  8. upperMenu($op);
  9. $sellerid = user();
  10. if (!empty($preview_1)) {
  11. $review = strtotime ("01/$preview_1/$preview_2");
  12. } else {
  13. $review = '';
  14. }
  15. if (!empty($insurer_oc_1)) {
  16. $insurer_oc = strtotime ("01/$insurer_oc_1/$insurer_oc_2");
  17. } else {
  18. $insurer_oc = '';
  19. }
  20. if (!empty($first_rejstraction_1)) {
  21. $first_rejstraction = strtotime ("01/$first_rejstraction_1/$first_rejstraction_2");
  22. } else {
  23. $first_rejstraction = '';
  24. }
  25. $add_date = time();
  26. $expir_time = $add_date+$expir_time*24*60*60;
  27. $state = user_state();
  28. $title = urlencode($title);
  29. $description = urlencode($description);
  30. $result_add = $db->sql_query("INSERT INTO ".$prefix."_ads_data (title, mark, model, model_desc, type, production, damaged, price, exchange, negotiation, capacity, power, power_sort, mileage, gearbox, fuel, dors, color, metalic, review, insurer_oc, first_rejstraction, extra_info, equipment, description, sellerid, expir_time, add_date, uniqfolder, state, promotion) VALUES ('$title', '$make_id', '$model_id', '$model_desc', '$type', '$production', '$damaged', '$price', '$exchange', '$negotiation', '$capacity', '$power', '$power_sort', '$mileage', '$gearbox', '$fuel', '$dors', '$color', '$metalic', '$review', '$insurer_oc', '$first_rejstraction', '$extra_info', '$equipment', '$description', '$sellerid', '$expir_time', '$add_date', '$uniqfolder', '$state', '$promotion')");
  31. if(!$result_add) {
  32. $note = "op = $op";
  33. $result_error = $db->sql_query("INSERT INTO ".$prefix."_ads_errors (errorid, date, note) VALUES ('1', '$add_date', '$note')");
  34. echo "<br />";
  35. info_box("warning", _NOADDAD);
  36. } else {
  37. echo "<br />";
  38. $last_id = mysql_insert_id();
  39. $date_time = time();
  40. $result_pay = $db->sql_query("INSERT INTO ".$prefix."_payment (type, sum, user, date) VALUES ('1', '-$price_full', '$sellerid', '$date_time')");
  41.  
  42. //POBIERANIE SZABLONU MAILA Z POTWIERDZENIEM DODANIA I JEGO WYSYLANIE//
  43. $title = urldecode($title);
  44. $to = $userinfo['user_email'];
  45. $subject = _YOUADDNEWAD.' '.$sitename;
  46. $id = $last_id;
  47. $start_date = date("Y-m-d H:i:s", $add_date);
  48. $end_date = date("Y-m-d H:i:s", $expir_time);
  49. $price = number_format($price, 2, ',', ' ');
  50. $tmpl_file = "includes/new_ad_mail.html";
  51. $thefile = implode("", file($tmpl_file));
  52. $thefile = addslashes($thefile);
  53. $thefile = "\$r_file=\"".$thefile."\";";
  54. eval($thefile);
  55. $message = $r_file;
  56. $headers = 'MIME-Version: 1.0' . "\r\n";
  57. $headers .= 'Content-type: text/html; charset=iso-8859-2' . "\r\n";
  58. $headers .= 'To: '.str_replace(',', ' ', $userinfo['name']).' < '.$userinfo['user_email'].' >' . "\r\n";
  59. $headers .= 'From: '.$sitename.' < '.$adminmail.' >' . "\r\n";
  60. mail($to, $subject, $message, $headers);
  61. //------------------------------------------------------------------//
  62. info_box("tip", _ADADD);
  63. $i = 0;
  64. $result = $db->sql_query("SELECT sum FROM ".$prefix."_payment where user='$sellerid' ORDER BY date DESC");
  65. while ($row = $db->sql_fetchrow($result)) {
  66. $price_one[$i] = $row['sum'];
  67. $i++;
  68. }
  69. $price_all = @array_sum($price_one);
  70. info_box("tip", _YOURDEBET.@number_format($price_all, 2, ',', ' ')._PLN);
  71. echo "<center>"._SEEAD."<br /><a href=\"modules.php?name=Ads&op=show_item&id=$last_id\"><b>".$nukeurl."/modules.php?name=Ads&op=show_item&id=".$last_id."</b></a></center>";
  72. }
  73. CloseTableMain();
  74. include("footer.php");
  75. }
  76. //***KONIEC ZAKONCZENIA DODAWANIA OGLOSZENIA***///
  77.  
nospor
http://forum.php.pl/index.php?showtopic=44...t=0&start=0
Przypięty temat...
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.