Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z funkcją..
Forum PHP.pl > Forum > Przedszkole
Ulysess
witam , problem polega na tym że add_item nie zwraca mi zmiennej $unique_id i jedy powód tego to że obydwie funkcje wykonuje się w jeszcze innej.. może się mylę ale jeśli nie to jak ten problem rozwiązać questionmark.gif

  1. <?php
  2.  
  3. function add_item($id_item,$plus_item,$id_user)
  4. {
  5. $przedmiot_id = $id_item;
  6. include('inc/case_items.php');
  7. $wykonano_zapytanie['dodanie_przedmiotu'] = mysql_query("INSERT INTO `items` (`type`,`id_items`,`plus_items`,`id_char`) VALUES ('".mysql_real_escape_string($typ_przedmiotu)."','".mysql_real_escape_string($id_item)."','".mysql_real_escape_string($plus_item)."','".mysql_real_escape_string($id_user)."')") or die(mysql_error());
  8. global $unique_id;
  9. $unique_id = mysql_insert_id();
  10. }
  11.  
  12. function add_item_log($place,$id_items,$plus,$id_char,$id_item,$price,$date)
  13. {
  14. $wykonano_zapytanie['dodanie_logu_przedmiotow'] = mysql_query("INSERT INTO `logs_items` (`place`,`id_items`,`plus`,`id_char`,`id_item`,`price`,`date`) VALUES ('".mysql_real_escape_string($place)."','".mysql_real_escape_string($id_items)."','".mysql_real_escape_string($plus)."','".mysql_real_escape_string($id_char)."','".mysql_real_escape_string($id_item)."','".mysql_real_escape_string($price)."','".mysql_real_escape_string($date)."')") or die(mysql_error());
  15. }
  16.  
  17. function add_gift($grade,$id_user)
  18. {
  19. $wykonano_zapytanie['rand_item'] = mysql_query("SELECT `id_item`,`type`,`image`,`name` FROM `settings_shop` WHERE `grade`=".mysql_real_escape_string($grade)." ORDER BY RAND() LIMIT 1") or die(mysql_error());
  20. $rand_item = mysql_fetch_assoc($wykonano_zapytanie['rand_item']);
  21. $plus_przedmiotu = rand(35,50);
  22.  
  23. add_item($rand_item['id_item'],$plus_przedmiotu,$id_user);
  24. echo $unique_id;
  25. add_item_log(10,$rand_item['id_item'],$plus_przedmiotu,$id_user,$unique_id,0,time());
  26.  
  27.  
  28. $wykonano_zapytanie['add_log'] = mysql_query("INSERT INTO `logs_gift` (`plus`,`id_item`,`id_char`) VALUES (".mysql_real_escape_string($plus_przedmiotu).",".mysql_real_escape_string($rand_item['id_item']).",".mysql_real_escape_string($id_user).")") or die(mysql_error());
  29.  
  30. $wykonano_zapytanie['dodanie_pkt_gifta'] = mysql_query("UPDATE `gift` SET `status` = 1 WHERE `id_char` = ".mysql_real_escape_string($id_user)." && `type` = ".mysql_real_escape_string($grade)." && `status` = 0 LIMIT 1 ") or die(mysql_error());
  31.  
  32. echo '<span style="color: #9900cc; font-weight: bold; font-size: 14px;">Dostałeś od Świętego Mikołaja przedmiot o nazwie '.$rand_item['name'].' +'.$plus_przedmiotu.'</span>';
  33. }
  34.  
  35.  
  36. ?>
Ghost_78
no jak dla mnie to żeby funkcja zwracała wartość musi mieć na końcu return
dodaj na końcu tej funkcji
  1. return $unique_id;
Ulysess
po to tworzyłem zmienną globalną aby istniała też po za funkcja..

zapomniałem dodać że wywala notice w liniach 24 i 25 że zmienna $unique_id nie istnieje
Ghost_78
no to jak to ma byc globalna to na poczatku kazdej funkcji powinno byc
  1. global $unique_id;

i przed funkcjami dobrze by bylo ja zadeklarowac
  1. $unique_id;
  2. // reszta kodu
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.