Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

5 Stron V   1 2 3 > » 

Meares
Napisane: 12.08.2010, 15:58:56





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Na początek trochę kodu:
  1. // moduł newsów
  2. class News_Module extends Module_Core {
  3. // pobranie ostatniego newsa
  4. public function index() {
  5. $query = $this->db->query('SELECT news.*, users.u_username FROM news JOIN users ON n_author = u_id ORDER BY n_date DESC LIMIT 1');
  6. $result = $query->fetch(PDO::FETCH_ASSOC);
  7. $query->closeCursor();
  8. $this->tpl->assign($result);
  9. }
  10. }
  11.  
  12. // moduł strony głównej
  13. class Main_Module extends Module_Core {
  14. // przekazania numeru błędu
  15. public function error($e_num) {
  16. $this->tpl->assign(array(
  17. 'error_number' => $e_num,
  18. 'redir_url' => $_SERVER['HTTP_REFERER']
  19. ));
  20. }
  21. }

  1. <!-- moduł newsów - wyświetlenie autora newsa -->
  2. Autor: {$u_username}
  3.  
  4. <!-- moduł strony głównej - wyświetlenie treści błędu -->
  5. {$_LANG.error[$error_number]}


O ile w przypadku wyświetlenia treści newsa wszystko jest ok i treść się wyświetla, to w przypadku chęci wyświetlenia czegoś z bazy nie wyświetla się nic (poza tekstem statycznym). $result zawiera poprawne dane (u siebie w kodzie wstawiłem var_dumpa, więc mam nad tym kontrolę). Przy wyświetleniu wszystkich przekazanych Smarty'emu zmiennych (metoda get_template_vars w Smartym), zmienne, które przekazałem ze zmiennej $result wyświetlają się (czyli zostały przypisane). Jednak nijak nie mogę ich wyświetlić. Ktoś ma jakiś pomysł?

PS. Jak zbyt zamotałem to pisać, żebym się wytłumaczył.


Poradziłem sobie. Odkryłem przyczynę błędu i wiem jak go naprawić. Proszę administrację o zamknięcie tematu.
  Forum: PHP · Podgląd postu: #777669 · Odpowiedzi: 0 · Wyświetleń: 415

Meares
Napisane: 4.02.2010, 16:21:33





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Bo wyszedłeś z pętli while. winksmiley.jpg
  1. <?
  2. $id=$_GET['id'];
  3. include("dbinfo.inc.php");
  4.  
  5. mysql_connect($db_host,$user,$password);
  6. @mysql_select_db($database) or die("Nie znaleziono bazy danych");
  7. $res = mysql_query(" SELECT * FROM clubs WHERE id='$id'");
  8.  
  9. while( $val = mysql_fetch_array($res, MYSQL_ASSOC) ) {
  10. echo ('<table width="650" border="0" cellspacing="0" cellpadding="0"><tr><td width="140">Nazwa</td><td width="510"><b>'.$val['nazwa'].'</b></td></tr><tr><td>Przydomek</td><td>'.$val['przydomek'].'</td></tr><tr><td>Barwy</td><td>'.$val['barwy'].'</td></tr><tr><td>Data zalozenia </td><td>'.$val['data'].'</td></tr><tr><td>Adres</td><td>'.$val['adres'].'</td></tr><tr><td>Stadion</td><td>'.$val['stadion'].'</td></tr><tr><td>Liczba miejsc </td><td>'.$val['miejsca'].'</td></tr><tr><td>Prezes</td><td>'.$val['prezes'].'</td></tr><tr><td>Trener</td><td>'.$val['trener'].'</td></tr><tr><td>Liga</td><td>'.$val['liga'].'</td></tr></table>');
  11. TU DAJ ZAPYTANIE O WYŚWIETLANIE ZAWODNIKÓW ($val['nazwa'] to nazwa klubu ;)).
  12. }
  Forum: Przedszkole · Podgląd postu: #709417 · Odpowiedzi: 6 · Wyświetleń: 661

Meares
Napisane: 4.02.2010, 15:56:54





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Musisz dodać dodatkowy warunek w WHERE.
  1. SELECT * FROM players WHERE pozycja='napastnik' AND klub='Manchester United'
  Forum: Przedszkole · Podgląd postu: #709407 · Odpowiedzi: 6 · Wyświetleń: 661

Meares
Napisane: 15.02.2010, 05:55:23





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

O tym nie pomyślałem. Dziękuję.

Dobra, z resztą sobie jednak poradzę. Jak dla mnie temat nadaje się już do zamknięcia.
  Forum: XML · Podgląd postu: #713471 · Odpowiedzi: 8 · Wyświetleń: 1 941

Meares
Napisane: 13.02.2010, 15:19:25





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Nie w XMLu. Chcę znaleźć kod PHP, podany w treści pliku XML, w pliku PHP. (Patrz przykładowy schemat w pierwszym poście.)
  Forum: XML · Podgląd postu: #712942 · Odpowiedzi: 8 · Wyświetleń: 1 941

Meares
Napisane: 11.02.2010, 23:47:04





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Choćby tego jak wyszukać w pliku tekstowym kilku linijek kodu, który jest podany w pliku xml.
  Forum: XML · Podgląd postu: #712419 · Odpowiedzi: 8 · Wyświetleń: 1 941

Meares
Napisane: 7.02.2010, 01:16:36





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Cytat(Meares @ 4.02.2010, 14:57:32 ) *
Nie oczekuję, że napiszecie to za mnie - chodzi mi o jakieś konkretne przykłady czego i jak użyć.

Nie chcę gotowca tylko jakiegoś sensownego przykładu. Mechanizm w SMF znalazłem, lecz (jak większość modułów w SMF) jest ostro namieszane.
  Forum: XML · Podgląd postu: #710457 · Odpowiedzi: 8 · Wyświetleń: 1 941

Meares
Napisane: 4.02.2010, 14:57:32





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Witam. Od dłuższego już czasu piszę prosty/mocarny silnik gier bMMO (OpenSource), w którym chciałbym zaimplementować system modyfikacji podobny do tego znanego z SimpleMachinesForum. Postaram się krótko opisać jak on miałby mniej-więcej działać.

Wszystko zaczyna się od paczki zip, która wrzucona na serwer (poprzez skrypt, nie FTP) miałaby zostać rozpakowana, ale nie "fizycznie". Chodzi mi o to by paczka była w "pamięci podręcznej" (choć nie wiem czy to jest wykonalne w przypadku skryptów php) (do podręcznej gdyż może nie przejść testów zgodności - banalny do wykonania (jestem tego prawie pewien)). Po rozpakowaniu plików do pamięci skryptu skrypt sprawdzający czy modyfikacja jest zgodna z wersją skryptu miałby otworzyć plik package.xml, który miałby w środku taką treść:
  1. <?xml version="1.0" ?>
  2. <package>
  3. <name>Nazwa modyfikacji</name>
  4. <author>Autor modyfikacji</author>
  5. <version>Wersja modyfikacji</version>
  6. <relase-date>Data udostępnienia modyfikacji</relase-date>
  7.  
  8. <install for="1.0 - 1.2, 1.4 - 1.99">
  9. <unpack-file name="plik1.php" dir="directory" />
  10. <modify-file name="plik2.php" dir="diirectory2">
  11. <find>
  12. KOD DO ZNALEZIENIA W PLIKU "plik2.php" ZNAJDUJACEGO SIE W KATALOGU "directory2"
  13. </find>
  14. <replace>
  15. KOD, KTORY MIALBY ZASTAPIC KOD PODANY WYZEJ
  16. </replace>
  17. </modify-file>
  18. <do file="plik3.php" />
  19. </install>
  20. </package>
Skrypt sprawdzający czy dana modyfikacja pasuje do aktualnej wersji silnika zwyczajnie miałby porównać czy wersja silnika znajduje się na liście wersji podanej w tagu <install>. Kolejne wersje miały by być wymieniane po przecinkach, a myślnik oznaczałby przedział (w wypadku wyżej podanego kodu modyfikacja miała by pasować do wersji: od 1.0 do 1.2, oraz od 1.4 do 1.99). To jeszcze nic w porównaniu z tym co miało by się dziać dalej: skrypt instalacyjny (wcześniej była mowa o sprawdzeniu wersji przy uploadzie paczki) miałby wypakować plik, którego nazwa została podana w <unpack-file name="X"> do katalogu oznaczonego w <unpack-file dir="Y">, modyfikować pliki na zasadzie znajdź i zamień, oraz mieć możliwość wykonania skryptu zawartego w oddzielnym pliku PHP, do którego ścieżka była by podana w <do file="X">.

Mam nadzieję, że zbytnio ne namotałem i wiecie o co chodzi. biggrin.gif Pomocy potrzebuję, gdyż kompletnie nie mam pojęcia jak wykonać te modyfikacje, rozpakowania oraz wykonanie pliku zewnętrznego. Nie oczekuję, że napiszecie to za mnie - chodzi mi o jakieś konkretne przykłady czego i jak użyć.

PS. Czytałem artykuł dotyczący XMLa na wortalu ("XML - morze możliwości - XPath, XPointer, XInclude"), jednak nie porusza on zbytnio tematu, który potrzebuję.
  Forum: XML · Podgląd postu: #709393 · Odpowiedzi: 8 · Wyświetleń: 1 941

Meares
Napisane: 10.01.2010, 00:05:23





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Zmieniasz - imagecopyresampled.
  Forum: PHP · Podgląd postu: #699847 · Odpowiedzi: 4 · Wyświetleń: 730

Meares
Napisane: 9.01.2010, 23:55:43





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Zmieniasz liczbę pixeli w pliku, więc musi się trochę rozmazać.
  Forum: PHP · Podgląd postu: #699844 · Odpowiedzi: 4 · Wyświetleń: 730

Meares
Napisane: 9.01.2010, 01:30:45





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Można też tak:
  1. function array_addslashes($InArray) {
  2. foreach($InArray as $key => $value) $OutArray[$key] = addslashes($value);
  3. return $OutArray;
  4. }
  5.  
  6. $MojaTablica = array('a', 'b', 'c');
  7. $Mojatablica2 = array_addslashes($MojaTablica);
  Forum: PHP · Podgląd postu: #699413 · Odpowiedzi: 5 · Wyświetleń: 1 391

Meares
Napisane: 8.01.2010, 12:36:56





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Ja bym pobrał z bazy, głównie dlatego, że użytkownik może nam dowolne dane tam wstawić. Jeśli jednak ty planujesz tylko wyświetlić dane ponownie (bez żadnych zapytań do bazy), to nie widzę przeszkód w przesyłaniu wszystkiego formularzem. W końcu jeśli coś z edytuje to i tak zobaczy to ponownie. biggrin.gif
  Forum: Przedszkole · Podgląd postu: #699136 · Odpowiedzi: 4 · Wyświetleń: 816

Meares
Napisane: 7.01.2010, 21:04:45





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Spróbuj pokombinować z:
  1. <input type="checkbox" name="checkbox[]" value="$id_rekordu" />

Jako $_POST['checkbox'] powinieneś dostać tablicę, gdzie $_POST['checkbox'][$i]['value'] to id danego rekordu, a $i to liczba kolejności (w jakiej zaznaczono pola). Ogólnie - powodzenia z foreachem. winksmiley.jpg
  Forum: Przedszkole · Podgląd postu: #698962 · Odpowiedzi: 4 · Wyświetleń: 816

Meares
Napisane: 7.01.2010, 13:23:36





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Nie zaczynaj programowania obiektowego, bez znajomości programowania strukturalnego. Choćby dlatego, że wypada znać podstawy.
  Forum: Przedszkole · Podgląd postu: #698754 · Odpowiedzi: 9 · Wyświetleń: 891

Meares
Napisane: 7.01.2010, 13:12:16





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Ja wolę używać COUNT(*) w samym zapytaniu, ale nie ma żadnej różnicy.
  Forum: Przedszkole · Podgląd postu: #698749 · Odpowiedzi: 3 · Wyświetleń: 635

Meares
Napisane: 7.01.2010, 12:43:15





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Database->select(); zwraca tablicę.
  Forum: Przedszkole · Podgląd postu: #698732 · Odpowiedzi: 3 · Wyświetleń: 635

Meares
Napisane: 7.01.2010, 13:21:13





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Wypadało by zacząć od pliku index.php. winksmiley.jpg Do tego osobny plik config.php z danymi do bazy danych (chyba, że wolisz pliki). Przede wszystkim używaj tablicy GET, by identyfikować strony (dzięki temu będziesz mógł w łatwy sposób zrobić friendly url). Pisz "modułowo", tzn. najpierw podstawy takie jak strona serce strony, rejestracja, logowanie, a dopiero potem artykuły, czy inne. Na kartce rozpisz sobie również podstawowe możliwości i postaraj się zaplanować działanie każdego "modułu", zanim zaczniesz cokolwiek pisać. Pomoże ci to rozplanować bazę danych(, którą tez dobrze by było rozpisać na kartce). Nie rób od razu całej bazy danych, tylko to co aktualnie potrzebujesz.
  Forum: Przedszkole · Podgląd postu: #698753 · Odpowiedzi: 3 · Wyświetleń: 552

Meares
Napisane: 7.01.2010, 12:18:15





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Od kartki, ołówka i myślenia jak by to wszystko miało działać. biggrin.gif
  Forum: Przedszkole · Podgląd postu: #698722 · Odpowiedzi: 3 · Wyświetleń: 552

Meares
Napisane: 7.01.2010, 13:30:18





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Może masz wyłączone cookies w FF? Sesje przechowują swoje dane w plikach tekstowych (w połączeniu z $_GET), lub właśnie w cookies.
  Forum: Przedszkole · Podgląd postu: #698758 · Odpowiedzi: 6 · Wyświetleń: 645

Meares
Napisane: 7.01.2010, 12:15:39





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

A nie możesz zapisać $_POST['wazna_data'] w $_SESSION['wazna_data']? Wtedy wystarczyło by "rozszerzyć" to co podałem wyżej:
  1. <?php
  2.  
  3. if(isset($_POST['wazna_dana'])) {
  4. $obiekt = new Obiekt;
  5. $obiekt->zaktualizuj($_POST['wazna_dana']);
  6. $_SESSION['obiekt'] = $obiekt;
  7. $_SESSION['wazna_data'] = $_POST['wazna_data'];
  8. }
  9.  
  10. if(!isset($_POST['inne_costam'])) {
  11. if(!is_object($_SESSION['obiekt'])) {
  12. $obiekt = new $_SESSION['obiekt'];
  13. $obiekt->zaktualizuj($_SESSION['wazna_dana']);
  14. } else $obiekt = $_SESSION['obiekt'];
  15. $obiekt->zrobCos();
  16. }
  17. ?>
  Forum: Przedszkole · Podgląd postu: #698721 · Odpowiedzi: 6 · Wyświetleń: 645

Meares
Napisane: 7.01.2010, 11:43:11





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

  1. if(isset($_POST['inne_costam'])) {
  2. if(!is_object($_SESSION['obiekt'])) $obiekt = new $_SESSION['obiekt']; else $obiekt = $_SESSION['obiekt'];
  3. $obiekt->zrobCos();
  4. }


PS. Używaj isset() i empty().
  Forum: Przedszkole · Podgląd postu: #698710 · Odpowiedzi: 6 · Wyświetleń: 645

Meares
Napisane: 7.01.2010, 11:45:58





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Zakładam jednak, że nie oczekuje gotowca.

EDIT:
Cytat(M@X @ 7.01.2010, 11:45:37 ) *
ale chociaż jakiś przykład, w jaki sposób sie do tego zabrać...

Jak się zabrać? Łapiąc za książkę od JSa i szukając czegoś co może pomóc. Też nie znam się na JS, a mimo to wydaje mi się, że dałbym radę to napisać.
  Forum: Przedszkole · Podgląd postu: #698713 · Odpowiedzi: 14 · Wyświetleń: 3 545

Meares
Napisane: 7.01.2010, 11:39:24





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Musisz napisać funkcję w JavaScriptcie, która:
1. otworzy adres URL w osobnej zakładce,
2. zmieni adres linka na pusty ciąg (<a href="">LINK</a>).

Jaśniej się chyba nie da.
  Forum: Przedszkole · Podgląd postu: #698709 · Odpowiedzi: 14 · Wyświetleń: 3 545

Meares
Napisane: 6.01.2010, 09:45:48





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Bardziej obrazowo:
[PHP] ExampleClass.php - pobierz, plaintext
  1. class ExampleClass {
  2. public $ValuesArray = array();
  3.  
  4. private function ExampleFunctionOne($VarName, $VarValue) {
  5. $this->ValuesArray[$VarName] = $VarValue;
  6. }
  7.  
  8. public function SetValue($VarName, $VarValue) {
  9. $this->ExampleFunctionOne($VarName, $VarValue);
  10. }
  11. }
[PHP] ExampleClass.php - pobierz, plaintext


Za wolno piszę. haha.gif Trzy wypowiedzi zdążyliście napisać. o.O
  Forum: PHP · Podgląd postu: #698363 · Odpowiedzi: 10 · Wyświetleń: 1 185

Meares
Napisane: 5.01.2010, 12:41:55





Grupa: Zarejestrowani
Postów: 102
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----

Ahh... Faktycznie. :/
  1. class foo {
  2. function bar($arg, $arg2) {
  3. echo __METHOD__, " got $arg and $arg2\n";
  4. }
  5. }
  6. $foo = new foo;
  7. call_user_func_array(array($foo, "bar"), array("three", "four"));
  8. // Zwróci: foo::bar got three and four
  9.  
  10. class Foo {
  11. static public function test($name) {
  12. print "Hello '.$name.'!';
  13. }
  14. }
  15. call_user_func_array(array('Foo', 'test'), array('Meares'));
  16. // Zwróci: Hello Meares!

Czyli faktycznie - błędem było nie tworzenie instancji klasy w Vihroll::__construct();. :/

@darko: wybacz niedowiarkowi. smile.gif
@dr4ko: podziekował.
Plusy idą do obu panów.

PS. Nie sądzicie, że taka treść błędu trochę dezorientuje? Powinien chyba wyskoczyć jakiś w stylu:
Cytat
Fatal error: Non-static method Controller_Core::view cannot be called statically.
  Forum: Object-oriented programming · Podgląd postu: #698088 · Odpowiedzi: 10 · Wyświetleń: 10 541

5 Stron V   1 2 3 > » 

New Posts  Nowe odpowiedzi
No New Posts  Brak nowych odpowiedzi
Hot topic  Popularny temat (Nowe)
No new  Popularny temat (Brak nowych)
Poll  Sonda (Nowe)
No new votes  Sonda (Brak nowych)
Closed  Zamknięty temat
Moved  Przeniesiony temat
 

RSS Wersja Lo-Fi Aktualny czas: 29.05.2024 - 09:14