Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Includowanie php w szablonie


Rekomendowane odpowiedzi

Witam mam takie pytanie jak prawidłowo w bicie szablonu obsadzić plik php , który będzie includowany , i jeszcze jedno pytanie skrypt , który będzie includowany jeśli będzie zawierał echo/print to będzie to powodować błędy , czy trzeba się jakoś odwoływać ?

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

No dobra przeczytałem pomyślałem i spróbowałem dać tak :
 
Plik test.php
 
 


 

<?php
require_once("config_baza.php");
mysql_select_db("player");
$exe = mysql_query("SELECT COUNT(*) as count FROM player WHERE DATE_SUB(NOW(), INTERVAL 2 MINUTE) < last_play;");
$player_online = mysql_fetch_object($exe)->count;
 
return "$player_online jest aktualnie online";
?>
 

I kod szablonu dałem tak :

 

 

 

<php>
require_once 'test.php';
$player_online = player_online();
</php>
{$player_online}
 


Błąd HTTP 500 (Internal Server Error): Napotkano nieoczekiwaną sytuację przy próbie zrealizowania żądania przez serwer.

 

 

 

Czyli wychodzi , że kod jest nie poprawny ,  a próbuje go ciągle osadzić według poradnika  Macsch15

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
$player_online = player_online();

 

Co to ma być?

 

To nie sposób osadzania jest niepoprawny, a Twój kod. Kto go pisał? Bo raczej nie Ty, skoro nie rozumiesz tych błędów.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

Masz racje kod nie jest mój , ma on za zadanie wyświetlać liczbę osób online na serwerze , lecz nie mam pojęcia jak dostosować ten kod aby ipb parsowało go poprawnie , dlatego napisałem ten temat czyli tak patrze to powinno być tak ? 

 

 

 

<php>
require_once 'test.php';
$player_online = mysql_fetch_object($exe)->count;
</php>
{$player_online}
 

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

<php>
require_once 'test.php';
$po = mysql_fetch_object($exe)->count;
</php>
{$po}
 

Okej zrobiłem to tak czy teraz powinno to zadziałać choć wątpię ;/

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

I znowu po dodaniu w bicie szablonu nie wpuszcza mnie na forum, czyli jednak znowu coś mam źle .

 

 

PS. Sorki , że marnuje wam tyle czasu.

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Chym po dodaniu tego kodu :

 

 

 

<php>
require_once 'test.php';
$po = mysql_fetch_object($exe)->count;
</php>
{$po}
 

I  po wrzuceniu pliku na ftp :

 

 

 

<?php
require_once("con.php");
mysql_select_db("player");
$exe = mysql_query("SELECT COUNT(*) as count FROM player WHERE DATE_SUB(NOW(), INTERVAL 2 MINUTE) < last_play;");
$player_online = mysql_fetch_object($exe)->count;
$po = "$player_online jest aktualnie online";
?>
 

Tylko problem taki , że to nie zwraca mi , żadnego wyniku na stronie.

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Dla testu. W tym pliku daj tak:

 

<?php
require_once("con.php");
mysql_select_db("player");
$exe = mysql_query("SELECT COUNT(*) as count FROM player WHERE DATE_SUB(NOW(), INTERVAL 2 MINUTE) < last_play;");
$player_online = mysql_fetch_object($exe)->count;
echo $po = "$player_online jest aktualnie online";

Wartość ponad forum się wyświetla?


 

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

http://forum.vexoriamt2.pl/forums/ wyświetla się sam napis ale nie pokazuje liczby a dane w pliku konfiguracyjnym uzupełnione i tabela z której ma pobrać istnieje.

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość ratosluaf

W takim razie zrób to w pliku php, a na forum użyj file_get_contents. Uśmierzysz sobie bólu i trudu. Wszystko będziesz miał w jednym pliku.

Odnośnik do komentarza
Udostępnij na innych stronach

Mógłbyś mnie nakierować jak mam to zrobić wszystko w pliku php ?

 

Bo w szablonie wtedy wyglądało by to tak :

 

 

 

$file = file_get_contents('./people.txt', true);
 

A w pliku jak ? Tak jak miałem na początku tylko zamiast echo dać return ? :

Edytowane przez adrian218

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

http://forum.vexoriamt2.pl/forums/ wyświetla się sam napis ale nie pokazuje liczby a dane w pliku konfiguracyjnym uzupełnione i tabela z której ma pobrać istnieje.

 

Najpierw poprawnie napisz skrypt, a dopiero potem bierz się za dodawanie do forum.

 

Do zapytań i pobierania danych używaj stosownych funkcji IPB a nie zewnętrznych.

 

Sam sobie utrudniasz życie.

 

Wklej w szablon:

<php>
	$player_online = ipsRegistry :: DB() -> BuildAndFetch(array(
		'select' => 'COUNT(*) as count',
		'from'   => 'player',
		'where'  => 'DATE_SUB(NOW(), INTERVAL 2 MINUTE) < last_play'
		)
	);
</php>

{$player_online['count']} jest aktualnie online

 

W takim razie zrób to w pliku php, a na forum użyj file_get_contents. Uśmierzysz sobie bólu i trudu. Wszystko będziesz miał w jednym pliku.

 

Rozwiązanie z d*py.

 

+ Poprawka: TO NIE ROZWIĄZANIE.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Do zapytań i pobierania danych używaj stosownych funkcji IPB a nie zewnętrznych.

Miałem to proponować na początku, bo wydaje się najbardziej logiczne, ale stwierdziłem, że raczej autor wątku ma te dane w inne bazie danych (inny serwis), więc należałoby jeszcze zainicjować nowe połączenie (oczywiście na frameworku IPB).

P.s. jestem zwolennikiem stosowania tej samej wielkości liter co w oryginalnym kodzie, więc:

buildAndFetch

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

<php>

    $player_online = ipsRegistry :: DB() -> BuildAndFetch(array(

        'select' => 'COUNT(*) as count',

        'from' => 'player',

        'where' => 'DATE_SUB(NOW(), INTERVAL 2 MINUTE) < last_play'

        )

    );

</php>

{$player_online['count']} jest aktualnie online

Niby okej ale jak zainicjować podłączenie pod to pliku config bo dane pobiera z innej bazy.

Nie bądź pijawką. Rozwiązałeś problem? Podziel się rozwiązaniem na forum.

Małe jest piękne ale.... duże bardziej cieszy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Yeah. The ipsRegistry::DB() method is actually a registry even though it seems like a singleton, and $this->DB just points to the default database connection.

To initiate a new database connection, you do:

$this->registry->dbFunctions()->setDB( 'mysql', 'KEY',
    array(
        'sql_database'        => 'dbname',
        'sql_user'            => 'root',
        'sql_pass'            => 'root',
        'sql_host'            => 'localhost',
    )
);
Then you call methods through daisy chaining with ipsRegistry::DB() like so:

ipsRegistry::DB('KEY')->build( ...

ipsRegistry::DB('KEY')->insert( ...

etc

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • 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ę.