Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Witam, zrobiłem sobie nowe 'pole' w profilu użytkownika w podglądzie, w którym miałby wyświetlać się mój skrypt z pliku php, w szablonie 'profileModern' chciałem dodać załadowanie tego pliku i przypisanie go do zmiennej:

<php>

include("cos.php");

$cos = showGotlink();

</php>

lecz jaki jest problem? Otóż problem jest taki, że wyświetla mi się błąd:

Fatal error: Call to undefined function showGotlink() in ipb\cache\skin_cache\cacheid_1\skin_profile.php on line 895

gdzie linią 895 w tym pliku jest:

$cos = showGotlink();

Ktoś wie jak temu zaradzić, lub jak zrobić to w inny sposób?

Opublikowano (edytowane)
Masz taką funkcję w pliku cos.php?

Kod zawarty w znaczniku <php> jest w szablonie profileModern, bo zależy mi na tym, żeby w danym miejscu wczytywało / ładowało kod z tego pliku, który ma zostać załadowany, natomiast w pliku cos.php mam jedynie to:

<?php

echo "działa?";

?>

Include zamień na require_once i dodawaj ścieżkę bezwzględną, a nie względną.

Zamieniłem nazwę funkcji i podałem bezwzględną ścieżkę, lecz nadal to samo:

Fatal error: Call to undefined function showGotlink() in ....\cache\skin_cache\cacheid_1\skin_profile.php on line 895
Edytowane przez tomstrom
Opublikowano

Aha, czyli by zastosować tego typu funkcję należy najpierw zainstalować odpowiedni do tego skrypt / plugin? Czytając forum zauważyłem, że jest spora różnorodność w zastosowaniach i nie wiem którego użyć, a dodatkowo nie wiem skąd zaopatrzyć się w pliki do 'instalacji' tego jakże skromnego pluginu, jeśli pluginem to można nazwać. Dziwi mnie tylo, że standardowo w ipb nie ma tego typu funkcji.

Opublikowano

Eh, Ty na serio nie wiesz, jak się do tego zabrać.. ;) Pojęcie o PHP jest?

Tak, ale nie o to raczej chodzi, na innych / poprzednich silnikach na których pracowałem nie miałem problemu, natomiast ipb okazał się troszkę cięższym od środka.

  • Manager
Opublikowano

Tutaj nie ma to nic do rzeczy. Zamiast echować w pliku należy zwrócić wartość (return), a potem przypisać ją do zmiennej i na końcu ową zmienną wyświetlić przy pomocy kodu {$nazwaOwejZmiennej}.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Tutaj nie ma to nic do rzeczy. Zamiast echować w pliku należy zwrócić wartość (return), a potem przypisać ją do zmiennej i na końcu ową zmienną wyświetlić przy pomocy kodu {$nazwaOwejZmiennej}.

Chyba się nie rozumiemy, po co w pliku, z którego chcę załadować kod mam zwrócić wartość i przypisywać ją do zmiennej? Zrobiłem to w szablonie, lecz jak to opisałem już wcześniej wywala mi błędy, tekst "działa?" z pliku się wyświetla, lecz zaraz pod tym wywala błąd dotyczący funkcji showGotlink i z tego powodu strona nie zostaje załadowana.

Opublikowano (edytowane)

Wklej zawartość tego pliku cos.php.

Gdzie? Tu? Przecież już to robiłem.. ;x

<?php

echo "działa?";

?>

Edytowane przez tomstrom
Opublikowano (edytowane)

Toż to od początku chodzi o tą funkcję, ponieważ od początku wyświetlał mi się błąd dotyczący właśnie jej i właśnie w jej sprawie zgłosiłem się o pomoc, sam tej funkcji w stanie napisać nie jestem, ale skoro w tej sprawie nie uzyskałem pomocy i nie wiem czy uzyskam, to mam inne pytanie, czy bezpośrednio ładując w szablonie plik .php jego zawartość powinna się bezproblemowo wyświetlić?

<php>
require_once"cos.php";
</php>

Ponieważ robiąc to w ten sposób wyświetla zawartość pliku, lecz dodatkowo błędy, natomiast strona zostaje normalnie załadowana, nie licząc rzecz jasna tych upierdliwych błędów typu:

Warning: Cannot modify header information - headers already sent by (output started at ...\cos.php:3) in ...\admin\sources\classes\output\formats\html\htmlOutput.php on line 114
Edytowane przez tomstrom
  • Manager
Opublikowano

Pytasz o funkcję, której nie ma. Piszesz, że pojęcie o PHP masz, a ja stwierdzam, że nie masz kompletnie.

Pytanie, co Ty chcesz osiągnąć takim postępowaniem?


Odnośnie błędów:

Warning: Cannot modify header information - headers already sent by (output started at ...\cos.php:3) in ...\admin\sources\classes\output\formats\html\htmlOutput.php on line 114

Dostajesz je, gdyż w includowanym pliku występują funkcje echo (jak u Ciebie) lub może też być print.. Ty dam dałeś echo, a powinieneś tę zmienną zwrócić.. Napisałem Ci o tym tutaj,a niedawno pisałem o tym innemu userowi tutaj. Zaprzęgaj szare komórki i działaj, bo to naprawdę nic trudnego, mając trochę oleju w głowie, podstawy podstaw PHP (zmienne, funkcje, wartości zwracane przez nie), przykłady z forum, by to zrobić.


P.s. i uzupełnij profil o adres i wersję forum - wtedy znacznie łatwiej się uzyskuje pomoc.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.