Napisane: 11.11.2012, 12:56:47 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Czołem! Napotałem na problem z zapisaniem entity Doctrine2 w relacji OneToOne. Opis problemu: Posiadam dwie encje: UserEntity (użytkownik) oraz UserDataEntity (dane o użytkowniku). Każdy UserEntity może posiadać UserDataEntity (ale nie jest to wymagane gdy nie podano danych), ale każdy UserDataEntity musi mieć UserEntity, którego dotyczy. Kiedy próbuję zapisać UserEntity, otrzymuję komunikat z PostgreSQL: > SQLSTATE[23502]: Not null violation: 7 BŁĄD: pusta wartość w kolumnie "id" narusza ograniczenie wymaganej wartości Poniżej moje encje:
I dane użytkownika:
Moja schema wygląda tak:
Chciałbym zachować integralność bazy danych i ogarnienia na poziomie bazy danych, nie ORM'a. |
Forum: Bazy danych · Podgląd postu: #1005307 · Odpowiedzi: 0 · Wyświetleń: 828 |
Napisane: 15.03.2011, 20:27:20 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Wskazało plik Vframe.Class.php. Zrobiłem dalsze testy, wsadziłem coś takiego:
Niestety, przy próbie załączenia pliku Vframe.Class.php wyskakuje ścieżka z die(). Jeżeli klasa by była już zadeklarowana, przynajmniej raz bym otrzymał na ekranie napis allright. Niestety się tak nie dzieje. Co więcej, po wyrzuceniu require_once z index.php dalsza część kodu wyrzuca informacje, że nie ma zdefiniowanej klasy Vframe. Oznaczałoby to, że plik Vframe.Class.php wykonuje samego siebie jeszcze raz, skoro nigdzie indziej nie ma deklaracji tej klasy. Niestety, nie może się to stać, bo w tym przypadku również bym otrzymał przynajmniej raz napis allright. Wykonałem dodatkowy test, zmieniłem nazwę klasy na VframeB, zeby przetestować ewentualne powiązania autoloadu z nazwą pliku. Nazwę zmieniłem również w przeklejonym wyżej kodzie testującym, okazało się, że problem jest ten sam! o.O |
Forum: PHP · Podgląd postu: #846258 · Odpowiedzi: 3 · Wyświetleń: 575 |
Napisane: 15.03.2011, 17:58:44 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Witam. Ostatnio natrafiłem na bardzo dziwny problem. Jak programuję kilka lat, tak to mnie zbiło z nóg. Mianowicie, za każdym razem uruchamiany jest plik index.php, który robi require_once Vframe.Class.php, który zawiera deklarację klasy Vframe. W losowych zupełnie przypadkach dla tych samych danych wejściowych requestu dostaję informację, że nie można redeklarować klasy Vframe. Co dziwne:
Nie mam zielonego pojęcia, co może być nie tak. Wycieki pamięci? PHP Version 5.2.5 (x64), serwer IIS7. |
Forum: PHP · Podgląd postu: #846219 · Odpowiedzi: 3 · Wyświetleń: 575 |
Napisane: 9.03.2011, 18:26:33 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Witam. Mam problem z nachodzącym flashem na innego flasha na mojej stronie www. Baner, który pojawia się w treści strony przysłania baner, który jest toplayerem pływającym za użytkownikiem do momentu kliknięcia na krzyżyk. E w efekcie wygląda to tak: Toplayer oczywiście jest position: fixed z z-index: 10000; Czy ktoś natknął się na podobny problem? |
Forum: Po stronie przeglądarki · Podgląd postu: #844565 · Odpowiedzi: 1 · Wyświetleń: 702 |
Napisane: 17.02.2011, 01:00:15 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
1. Pierwsze 5 stron wyników mam wyklikane. Zrobiłem wszystko poza updgrade/downgrade pomiędzy 5.1 i 5.0. Spróbuję zejść do serwerowni i zrobić down/up do minimalnej wersji, może to naprawi potencjalnie uszkodzoną strukturę plików. 2. Nieracjonalne. |
Forum: Bazy danych · Podgląd postu: #837934 · Odpowiedzi: 4 · Wyświetleń: 1 093 |
Napisane: 16.02.2011, 22:12:00 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Cześć, na tabelę mysql.proc dałem repair, optimize, a następnie flush. Założyłem też dla testów nową bazę danych i w niej przykładowe tabele (podobne do Twoich). Niestety, otrzymuję ten sam komunikat. |
Forum: Bazy danych · Podgląd postu: #837876 · Odpowiedzi: 4 · Wyświetleń: 1 093 |
Napisane: 16.02.2011, 21:15:05 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Witam, próbuję stworzyć prostą procedurę, natomiast MySQL zwraca mi błąd informujący o za małej ilości pól w tabeli systemowe, w której są one przechowywane. Cytat #1547 - Column count of mysql.proc is wrong. Expected 20, found 16. The table is probably corrupted.
Może ktoś się z tym potkał. Z góry dzięki za pomoc. |
Forum: Bazy danych · Podgląd postu: #837847 · Odpowiedzi: 4 · Wyświetleń: 1 093 |
Napisane: 28.12.2010, 09:53:17 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Cześć. Mam do zaprojektowania zapytanie, które powinno wyciągnąć newsy powiązane tagami do wyświetlanego newsa (newsa-wzorca). Założyłem kilka rzeczy, nie wiem, czy prawidłowo:
Struktura mojej bazy jest następująca: - id_newsa int(11) unsigned - id_tagu int(11) unsigned primary na oba pola Moje pytania:
|
Forum: PHP · Podgląd postu: #821129 · Odpowiedzi: 0 · Wyświetleń: 335 |
Napisane: 27.12.2010, 21:32:23 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
@Zyx dobrze prawi, właśnie w taki sposób działają wyrażenia regularne. Może niezbyt praktycznie, ale warto mieć elementarną wiedzę na temat tego, co się używa. W zaawansowanych przypadkach (optymalizacja) ta wiedza staje się podstawową (i nie tylko regexp). Nawiasem mówiąc, warto poczytać o http://pl.wikipedia.org/wiki/Maszyna_Turinga |
Forum: PHP · Podgląd postu: #821039 · Odpowiedzi: 6 · Wyświetleń: 990 |
Napisane: 27.12.2010, 15:06:29 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Kiedyś @Matix przesłał mi kod, który postanowiłem nieco zmodyfikować. Używasz tego jak selectorów jQuery, tylko przez metodę get() i query(). Potężne narzędzie używające domxPath. http://athlan.pl/code/VframeLib_Map.Class Baw się, dumpuj, bo dajemy za darmo ; ) |
Forum: PHP · Podgląd postu: #820858 · Odpowiedzi: 6 · Wyświetleń: 990 |
Napisane: 27.12.2010, 15:11:21 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Niestety, jeżeli chcesz używać poleceń command line, musisz mieć udostępnione exec lub shell_exec. PHP Ci nie pomoże. W grę wchodzi Crontab? |
Forum: PHP · Podgląd postu: #820862 · Odpowiedzi: 4 · Wyświetleń: 728 |
Napisane: 27.12.2010, 15:46:46 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Ja tylko się zastanawiam, dlaczego nie użyjecie do przekazania tych parametrów jednej tablicy. Rozwiązanie jest o tyle elastyczne, że można w przyszłości oddzielić argument przekazujący parametry url'a od dodatkowych argumentów (np. flag, etc). Poza tym to nieco szybszy sposób, łatwo się na tym operuje, dane masz takie same, jak w przypadku func_get_args(). |
Forum: Object-oriented programming · Podgląd postu: #820874 · Odpowiedzi: 11 · Wyświetleń: 1 553 |
Napisane: 27.12.2010, 15:09:02 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
1. spróbuj użyć $.post() (więcej na temat przekazywanych przez Ciebie parametrów w manualu jQ), w funkcji response mi zawsze widzi wszystkie zmienne. 2. spróbuj usunąć var sprzed deklaracji zmiennej. |
Forum: XML, AJAX · Podgląd postu: #820860 · Odpowiedzi: 1 · Wyświetleń: 507 |
Napisane: 27.12.2010, 15:29:34 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Możesz przechwytywać takie rzeczy __autoload, parsować nazwę po czym tworzyć sobie obiekty dziedziczące po klasie abstrakcyjnej, którą sobie stworzysz. |
Forum: Object-oriented programming · Podgląd postu: #820867 · Odpowiedzi: 5 · Wyświetleń: 932 |
Napisane: 27.12.2010, 15:17:03 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Używasz flagi i po delimiterze, ignoruje on case-sensitive. |
Forum: PHP · Podgląd postu: #820863 · Odpowiedzi: 2 · Wyświetleń: 1 317 |
Napisane: 27.12.2010, 15:18:51 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Tak jak prawi @Crozin. Uzyj flagi FILE_APPEND. |
Forum: PHP · Podgląd postu: #820864 · Odpowiedzi: 2 · Wyświetleń: 640 |
Napisane: 26.12.2010, 18:16:21 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Tylko w obrębie klasy oraz tych, które po niej dziedziczą. Jeżeli nie chcesz, żeby dzieci dziedziczące po tej klasie nie miały dostępu do zmiennej, użyj private zamiast protected. Na zewnątrz tylko public. Oczywiście public jest niezalecane, lepiej walidować, rzutować etc., możesz mieć śmieci w klasie. A jeżeli chcesz już używać zmiennych publicznie, składuj je w prywatnej tablicy, która jest sterowana metodami magicznymi __get i __set. Kiedyś pisałem klasę, po której często dziedziczę: http://athlan.pl/code/Attribute.Class Co czego się przyda? Ano do wszystkiego. http://athlan.pl/code/Tagcloud.Class Grunt, żeby zmienne które nie są protected $_aAttributes = array(); nie były widoczne na zewnątrz. |
Forum: Object-oriented programming · Podgląd postu: #820604 · Odpowiedzi: 3 · Wyświetleń: 1 038 |
Napisane: 26.12.2010, 17:57:51 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
|
Forum: Object-oriented programming · Podgląd postu: #820597 · Odpowiedzi: 3 · Wyświetleń: 1 038 |
Napisane: 27.12.2010, 21:37:46 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Skutków ubocznych nie ma. Poziom notice m.in. to informacja, że próbujesz dodać coś do niezadeklarowanej wcześniej zmiennej. Język PHP ma tę zaletę (lub w wielu przypadkach wadę), że można nie deklarować zmiennych i się do nich odwoływać. Nie jest to dobra praktyka, ale pehap taki już jest, tak samo nie ma czegoś takiego jak typy danych przy zmiennych - każda zmienna = każdy typ. Wystarczy, że gdzieś na początku kodu dodasz: Skutki uboczne natomiast wygenerujesz sobie, gdy będziesz miał wyłączone error_display. Wtedy do błędów nie dotrzesz, pozostaną tylko logi serwera. Pamiętaj na przyszłość (może nie w tym przypadku): Cytat Note: Enabling E_NOTICE during development has some benefits. For debugging purposes: NOTICE messages will warn you about possible bugs in your code. For example, use of unassigned values is warned. It is extremely useful to find typos and to save time for debugging. NOTICE messages will warn you about bad style. For example, $arr[item] is better to be written as $arr['item'] since PHP tries to treat "item" as constant. If it is not a constant, PHP assumes it is a string index for the array. |
Forum: PHP · Podgląd postu: #821040 · Odpowiedzi: 14 · Wyświetleń: 1 257 |
Napisane: 27.12.2010, 19:30:59 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Cześć, ukryj error_reporting, aby nie pokazywało noticów, lub zadeklaruj z początku lastRSS::$rsscp = null; (jeżeli niepotrzebne). |
Forum: PHP · Podgląd postu: #820981 · Odpowiedzi: 14 · Wyświetleń: 1 257 |
Napisane: 26.12.2010, 18:19:32 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
|
Forum: PHP · Podgląd postu: #820607 · Odpowiedzi: 14 · Wyświetleń: 1 257 |
Napisane: 26.12.2010, 18:05:28 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Mogę ewentualnie Ci pomóc, jeżeli masz odwagę (chęci) zaingerować w kod. Jeżeli na serwerze masz dostępny Multibyte Strings (większość serwerów to ma), wówczas kodowanie możesz zrobić w sposób następujący:
Przy czym kodowanie wejściowe to parametr opcjonalny. Używasz go jeżeli jesteś pewien, że takie jest (jedno, w miarę stałe źródło informacji). Jeżeli nie, pomiń. W Twoim przypadku może to być:
Przy okazji: zalecam Ci zmianę kodowania swojej strony na utf-8. Możesz wygoglować site:forum.php.pl, dlaczego. |
Forum: PHP · Podgląd postu: #820600 · Odpowiedzi: 14 · Wyświetleń: 1 257 |
Napisane: 26.12.2010, 18:11:10 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Wydaje mi się, że Twoje wszystkie problemy rozwiąże parse_url sprawdzając odpowiednie elementy, które zostają zwrócone w tablicy (patrząc na Twoje flagi). Pomimo zaleceń: Cytat This function is not meant to validate the given URL, it only breaks it up into the above listed parts. Partial URLs are also accepted, parse_url() tries its best to parse them correctly Działa bardzo dobrze. |
Forum: PHP · Podgląd postu: #820602 · Odpowiedzi: 1 · Wyświetleń: 536 |
Napisane: 26.12.2010, 17:23:23 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Odnośnie zabezpieczania sesji: http://phpsec.org/projects/guide/4.html |
Forum: PHP · Podgląd postu: #820585 · Odpowiedzi: 12 · Wyświetleń: 1 374 |
Napisane: 26.12.2010, 09:52:19 | |
Grupa: Developerzy Postów: 823 Dołączył: 18.12.2005 Ostrzeżenie: (0%) |
Szansa przechwycenia jest identyczna, jak w przypadku normalnego rozwiązania. Pamiętaj, że session_handler to tylko system składowania danych sesji, a nie system całej sesji. Otrzymuje on standardowe dane na temat utworzenia, próby zapisu etc. Strumień natomiast, to nic innego, jak output. save() wykonuje się po tym, jak pehap wyśle do przeglądarki dane. On nie działa w momencie $_SESSION['klucz'] = 'wartosc'; tylko w momencie, kiedy całość się wykona, wypluje do przeglądarki, a przed tym, jak obiekty otrzymują call na destruktory __destruct(), zmienne są niszczone, etc, etc. Chodzi o to, że jak dasz sobie var_dump() na tablicę sesji w save(), nie zostanie ona wyświetlona, bo nie ma gdzie - output już wyslano, jest zamknięty ; ) Zauważ, że jak w dowolnym momencie skryptu dasz sobie echo, var_dump i inne, od razu otrzymasz wynik (przy nie manipulowaniu buforem). Znaczy to, że strumień jest otwarty. |
Forum: PHP · Podgląd postu: #820449 · Odpowiedzi: 12 · Wyświetleń: 1 374 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 02:35 |