![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam zostałem poproszony o pomoc w modyfikacji projektu, chodziło o to aby zrobić oddzielny plik z parametrami do bazy. Na postgresql sie nie znam manuale mi nie pomogły, proszę was o pomoc.
tak wygląda moj plik config.inc.php
A tak wygląda moj plik index.php
W rezultacie dostaje: Warning: pg_last_error(): supplied argument is not a valid PostgreSQL link resource in /var/www/test/index.php on line 463 <h3 class="blad">BLAD: Blad polaczenia z baza danych </h3> Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
nie wiem czy tu ma to znaczenie ale zobacz czy masz poprawną kolejność podawanych argumentów.
|
|
|
![]()
Post
#3
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Używasz zmiennej $polaczenie w f-cji, czyli poza jej zakresem widoczności. Musisz ją przekazać do f-cji zaloguj() jako parametr.
No i będzie błąd, bo f-cja zaloguj() nie wie, co to jest $db. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak:
$db($polaczenie) I dostaje to: Fatal error: Function name must be a string in /var/www/test/index.php on line 462 |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#6
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Czytaj ze zrozumieniem.
Funkcja zaloguuj() potrzebuje argumentu $polaczenie, żeby móc go używać jako swoją zmienną. Jak przekazujemy argumenty do funkcji? Ano tak: funkcja($argument1, $argument1, ... , $argument_n) Wtedy zmienne $argument1 i kolejne mogą być używane w f-cji i tylko tam (to się nazywa zasięg zmiennej - w tym przypadku zasięg dotyczy tylko funkcji). Łączymy nową wiedzę w całość: Skoro w f-cji zaloguj() wykorzystujesz uchwyt do połączenia $polaczenie, f-cja musi jakoś ten uhwyt dostać. Więc przekazujemy go jako argument:
I jeśli reszta jest OK, w linijce 463 błędu nie będzie. Teraz popatrzmy, co Ty zrobiłeś i jaki to dało efekt. Cytat $db($polaczenie) I dostaje to: Fatal error: Function name must be a string in /var/www/test/index.php on line 462 $db($polaczenie) - zadziałałoby tylko wtedy, jeśli wcześniej zmiennej $db przypisałbyś nazwę jakiejś f-cj:
Ale ta konstrukcja językowa nie ma teraz nic do rzeczy w temacie. Teraz komunikat błędu: Fatal error: Function name must be a string in /var/www/test/index.php Jedziemy: Fatal error: - błąd kompilacji, powodujący nie wykonanie skryptu. Function name must be a string - bierzemy słowniczek i tłumaczymy: nazwa funkcji musi być tekstem... A u Ciebie jest czym ? $db($polaczenie) Odpowiedź: zmienną. Podsumowanie: - czytamy ze zrozumieniem komunikaty błędów - czytamy dokumentację na php.net - uczymy się podstaw, czyli: tworzenia funkcji, przekazywania do niej parametrów i korystania z nich w funkcjach Ten post edytował blooregard 25.06.2009, 21:28:35 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za rady. Ale problem nie rozwiazany jest do końca:( Teraz mam tak:
I w rezultacie dostaje: Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: Ident authentication failed for user "www-data" in /var/www/test/index.php on line 462 Warning: pg_last_error(): supplied argument is not a valid PostgreSQL link resource in /var/www/test/index.php on line 463 <h3 class="blad">BLAD: Blad polaczenia z baza danych </h3> Dlaczego loguje sie na user'a "www-data"?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#8
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat Dzięki za rady. Ale problem nie rozwiazany jest do końca:( Dziekujesz za rady, do których sie nie stosujesz.
nadal nie przekazujesz danych do połączenia z bazą do funkcji zaloguj(), tylko jakiegoś autora. Powinno być tak:
a nie, jak u Ciebie:
//EDIT $db - tu jest ok, teraz to ja juz się zamotałem Komunikaty błędów: Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: Ident authentication failed for user "www-data" in /var/www/test/index.php on line 462 Nie mogę połączyć się z serwerem PostgreSQL. Autentykacja nie powiodła się (czyli coś masz zje....ne w parametrach połączenia) Warning: pg_last_error(): supplied argument is not a valid PostgreSQL link resource in /var/www/test/index.php on line 463 <h3 class="blad">BLAD: Blad polaczenia z baza danych </h3> Spodziewany argument nie jest prawidłowym zasobem PostgreSQL. 1. Manual. 2. Angielski. 3. Myślenie. Ten post edytował blooregard 25.06.2009, 22:29:50 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 3.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ja tego projektu nie tworzyłem to jest znajomego na uczelnie ja się troszkę lepiej od niego znam i dlatego staram sie jemu pomóc.
|
|
|
![]()
Post
#10
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Poprawiłem poprzedniego swojego posta. Przekaż $polaczenie do f-cji zaloguj() i powinno być ok.
|
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
~blooregard, weź Ty się wyśpij:
(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Jak będzie funkcja widziała tę zmienną, to ja pochodzę z Chin. Ja bym się nie męczył i zamiast:
Zrobił tak:
i wywoływał tak:
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Ciekawe jak Ty chcesz mieć dostęp w funkcji do zmiennej z zewnątrz...
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
zawsze możesz przesłać zmienną w parametrze funkcji ;o
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Ale tego nie robi. Więc stąd ten błąd.
|
|
|
![]()
Post
#15
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Jak nie robię? [;
Popatrz na drugi parametr funkcji. |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) ![]() ![]() |
Ale ja nie mówię tego erix do Ciebie ;] Ty się nie liczysz, chodzący manual ;/
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 08:38 |