Zasepamen 13 Opublikowano 9 lipca 2015 Udostępnij Opublikowano 9 lipca 2015 Witam Kilka tygodni temu udało mi się skomunikować skript z www za pośrednictwem bazy mysql. Na forum nie znalazłem takiego poradnika jak krok po kroku to ogarnąć. Wiele osób zaczęło pisać tematu jak tego dokonać i pytać. Dlatego przygotowałem poradnik dla osób które już co nieco znają skript. Ja wiele dni próbowałem konfigurować połączenie skript ->mysql->www aby wszystko działało poprawnie. Mój sposób działa pewnie nie jest to jedyny sposób ale lepszy taki niż żaden. 1.Konfiguracja skript: Gdy mamy już zainstalowany plugin skript na naszym serwerze i działa on poprawnie. Przechodzimy do pliku config.sk dostępny w głównym folderze skript. Szukamy w nim takich lini. database 1: # an example database to describe all possible options. type: MySQL # The type of this database. Allowed values are 'CSV', 'SQLite', 'MySQL' and 'disabled'. # CSV uses a text file to store the variables, while SQLite and MySQL use databases, and 'disabled' makes Skript ignore the database as if it wasn't defined at all. pattern: mysql_.* # Defines which variables to save in this database. # This pattern uses Regex syntax, e.g. use 'db_.*' (without the quotes) to store all variables prefixed with 'db_' in this database, # or use '.*' (the default value) to store all variables here (recommended for the last database in this list, as otherwise some variables might not be saved). # Please note that variables are only stored in one database, and databases are checked from top to bottom, # e.g. if a variable matches the topmost database's pattern it will be saved there and nowhere else. # BTW: Patterns are checked in a separate thread, i.e. your server likely won't run slower when using complicated patterns. monitor changes: true monitor interval: 15 seconds # If 'monitor changes' is set to true, variables will repeatedly be checked for updates in the database (in intervals set in 'monitor interval'). # ! Please note that you should set 'pattern', 'monitor changes' and 'monitor interval' to the same values on all servers that access the same database! # == MySQL configuration == host: HOST # Where the database server is located at, e.g. 'example.com', 'localhost', or '192.168.1.100' port: 3306 # 3306 is MySQL's default port, i.e. you likely won't need to change this value user: UZYTKOWNIK password: HASLO database: BAZA # The database to use. Skript will automatically create a table 'variables21' in this database if it doesn't exist # (If the table exists but is defined differently that how Skript expects it to be you'll get errors and no variables will be saved and/or loaded) Następnie wypełniamy je tak jak tutaj. W miejsce HOST, UZYTKOWNIK, HASLO, BAZA dajemy oczywiście swoje dane do bazy. a w type: MySQL, W pattern: mysql_.* to jest początek nazwy zmiennej która będzie zapisywana do mysql. Gdy już to wypełnimy to zapisujemy plik. 2.Napisanie skryptu: Przechodzimy do napisania skryptu zapisującego do naszej bazy. Otwieramy notepad++ albo jakiś inny edytor tekstu byle nie windowsowy notatnik I wklejamy taki skrypt: on join: add 1 to {config::odwiedzin} set {mysql_baza::odwiedzin} to "%{config::odwiedzin}%" parsed as text stop Plik zapisujemy z końcówką .sk np. testbazy.sk i wrzucamy do do folderu skript w naszym pluginie skript. Skript sam utworzy w bazie mysql tabele i zapisze odpowiednio do nich dane. Nie musimy nawet się logować do naszej bazy mysql 3.Komunikacja z www: Czyli jak teraz wyświetlić tą zmienna na naszej stronie www. Ja przedstawię sposób gdzie wiemy jak nazywa się zmienna. Potem wytłumaczę oco chodzi Oto kod php. Zapisujemy go pod nazwą index.php <html> <body> <p> <?php mysql_connect ('HOST','UZYTKOWNIK','HASLO'); //łącze z bazą ("serwer bazy","użytkownik","hasło") mysql_select_db ('BAZA'); //nazwa bazy mysql_query ("SET CHARACTER SET UTF8"); //kodowanie znaków (przydatne przy pobieraniu treści) $baza = mysql_query('SELECT * FROM variables21 WHERE name = "mysql_baza::odwiedzin"'); $wynik = mysql_fetch_array($baza); $rest = substr($wynik[value], 2, 250); echo ("<font color='black'><strong>$rest</strong></font>"); ?> </p> </body></html> Ja nie znam się dobrze na html i php dopiero zaczynam swoja naukę w tej dziedzinie. Oczywiście w tym kodzie ustawiamy HOST, UZYTKOWNIK, HASLO, BAZA. Każda zmienna zapisana przez skrypt do bazy mysql na początku ma jakieś hieroglify jakieś tam znaki nie wiem jakie bo żaden notatnik nie może ich otworzyć. Dlatego trzeba się ich pozbyć do tego używam: $rest = substr($wynik[value], 2, 250); Gdyby u was pojawiały się one albo ucinało tekst to należy tam gdzie jest liczba "2" zmienić na więcej lub mniej ona określa od którego znaku ma być dopiero kopiowane do kolejnej zmiennej. czy jakoś tak. UWAGA Ważne jest aby w skript zapisywać dane do bazy mysql jako TEXT a nie jako liczbę czy bool. przynajmniej ja nie wiem w jaki sposób to odczytać. Gdy wszystko zrobiliśmy dobrze to na naszej stronie ukaże się wartość zmiennej. Jeśli nie to musimy trochę razy powchodzić na nasz serwer aby w ogóle coś zostało zapisane do niej. To już koniec poradnika na koniec wspomnę ze ten przykład zadziała gdy dokładnie wiemy jaką nazwę nosi zmienna zapisana do mysql bowiem mi nie było potrzebne odczytywanie zmiennej która w skript zapisywana była by np. tak: on join: set {mysql_baza::niki::%player%} to "true" parsed as text Bo w takim wypadku trzeba by nie po nazwie zmiennej odczytywać z bazy mysql na www tylko po wierszach czy wartościach. Sam nie wiem. To jest zajawka korzystania z bazy mysql. W drugą stronę też da się zrobić ale tak jak mówię nie było mi potrzebne. Na sam koniec pokaże przykład wykorzystania tego sposobu. Wszystkie dane na tej stronie są przesyłane w ten sposób. Nie powiem tutaj jak przesyłam kolory rang ponieważ to jest połączone z budową mojego skryptu dla rang. Nie zebym reklamował po prostu chche pokazac zastosowanie. http://minecraftaterium.gameclan.pl/statystyki.php Pozdrawiam wszystkich Mam nadzieję ze poradnik się przyda Nawo, boleknowak, Norbi i 4 innych 7 Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/ Udostępnij na innych stronach Więcej opcji udostępniania...
Norbi 1337 Opublikowano 9 lipca 2015 Udostępnij Opublikowano 9 lipca 2015 Bardzo przydatne. Tylko jak ustawiasz set {mysql_baza::coś tam} to "tekst" to nie musisz dodawać parsed as text, bo to już jest brane jako text. Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-67462 Udostępnij na innych stronach Więcej opcji udostępniania...
ToNy 548 Opublikowano 9 lipca 2015 Udostępnij Opublikowano 9 lipca 2015 Używanie starego standardu mysql mija się z celem.Od nowej wersji php będzie już nieobsługiwane z powodu luk.Lepiej użyć PDO.Ew. jeżeli mamy serwer to prawdopodobnie mamy też apache.Wtedy starczy nam tylko sqlite ;) Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-67464 Udostępnij na innych stronach Więcej opcji udostępniania...
boleknowak 961 Opublikowano 10 lipca 2015 Udostępnij Opublikowano 10 lipca 2015 O człowieku. Jak będzie mi to działało to będziesz miał u mnie bardzo dużego plusa. Mega poradnik. // edit Idź z tym poradnikiem na konkurs na najlepszy poradnik. Masz szansę wygrać np. Serwer 4-8 gb i dużo więcej. :) Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-67537 Udostępnij na innych stronach Więcej opcji udostępniania...
Zasepamen 13 Opublikowano 10 lipca 2015 Autor Udostępnij Opublikowano 10 lipca 2015 @boleknowak Tak tylko dopiero teraz się nim zainteresowałem i no nie mam jak zmienić tematu aby dodać to NP. Musiał by jakiś moderator dodać jeśli można. Po za tym nagroda w postaci serwera mnie nie interesuje. Musiał bym oddać komuś. Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-67561 Udostępnij na innych stronach Więcej opcji udostępniania...
Dzony1910 9 Opublikowano 13 lipca 2015 Udostępnij Opublikowano 13 lipca 2015 Jeżelie napisałeś ten poradnik sam i nie kopiowałeś ze żadnej stronki czy chociaż forum, to jesteś wielki bo mam zamiaru dodać do swojego skrypty "MySql" i ty mi przychodzisz z pomocą.Like dla ciebie i tyle XD. Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-67967 Udostępnij na innych stronach Więcej opcji udostępniania...
Zasepamen 13 Opublikowano 14 lipca 2015 Autor Udostępnij Opublikowano 14 lipca 2015 (edytowane) Ten poradnik sam stworzyłem gdyż nigdzie nie mogłem takiego znaleźć. Chyba nikt jeszcze mysql w skript i www nie ogarnął bo nigdzie o tym nie piszą.Dzięki :D Edytowane 14 lipca 2015 przez Zasepamen Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-67980 Udostępnij na innych stronach Więcej opcji udostępniania...
maxcom1 111 Opublikowano 25 kwietnia 2019 Udostępnij Opublikowano 25 kwietnia 2019 @Zasepamen Tylko jak zapisać pojedyńczą zmienną a nie wszystkie? Odnośnik do komentarza https://skript.pl/temat/8678-skript-mysql-www/#findComment-213765 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi