Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] dołączenie funkcji z innego pliku i błąd
Forum PHP.pl > Forum > Przedszkole
gawar
Witam, Mam problem z odbiorem danych z formularza. Mam formularz f.html, który metodą POST przekazuje dane do drugiegi pliku f.php i teraz jeżeli odbieram dane w tym pliku to wszystko jest ok, przetwarzam je i potem dodaje do bazy. Wszsytko działa. Ale jeżeli chciałbym te sprawdzanie i uzupełnienie zmiennych wrzucić w funkcję do innego pliku to po podłączeiu go do f.php wszystko sie wysypuje.
spr.php
  1. <?php
  2. function sprawdz() {
  3. $zm= $_POST['zm'];
  4. if (!$zm) {
  5. echo "brak danych" ;
  6. }
  7. }

Wywołuje to w ten sposób, zresztą w innych przypadkach to działa.
f.php
  1. $spr=sprawdz();

Wywala taki błąd ->1452 Cannot add or update a child row: a foreign key constraint fails Nie wiem o co chodzi bo gdy mam te sprawdzanie w pliku f.php to wszysko się dodaje do bazy i śmiga jak należy.
Niby temat do obejśćia, bo można wszystko trzymać w jednym pliku, ale już za bardzo mi on rośnie i chciałbym to podzielić. Bardzo proszę o pomoc.
konrados
Zgaduję, bo inaczej się chyba nie da: dwa razy wykonujesz insert lub update. Z tymi samymi danymi.
gawar
Właśnie o to chodzi, że nie. Gdy treść funkcji wrzuce normalnie do pliku f.php to wszystko działa. Problem jest wtedy gdy te dane sprawdzam w tym innym pliku z funkcją.
konrados
No jak jesteś pewien, że nie, to pozostaje tylko jedna opcja: wrzuć więcej kodu.
update: to to już jest w ogóle dziwne:
  1. <?php
  2. function sprawdz() {
  3. $zm= $_POST['zm'];
  4. if (!$zm) {
  5. echo "brak danych" ;
  6. }
  7. }
  8. $spr=sprawdz();

Funkcja 'sprawdz' nic nie zwraca, tylko wypluwa ewentualnie na ekran i kończy działanie całego skryptu, więc po co: $spr=sprawdz();. Co oczekujesz, że wyląduje w zmiennej $spr?
gawar
Wywołanie tej funkcji znajduje się już w pliku f.php. Ale rzeczywiście funkcja nic nie zwraca, dzięki nie wpadłem na to.smile.gif
konrados
Spoko, ale no czyli czyli problem rozwiązany? Bo nie za bardzo wiem, jak to mogło wpłynąć na podwójny insert/update.
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.