Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

R1d4r - zdjęcie

R1d4r

Rejestracja: 02.07.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 12.04.2021 17:33
-----

Moje tematy

Nick Blocker

28.08.2015 22:16

Witam, w związku z tym, że zbytnio nikt się nie fatyguje by wyedytować: http://amxx.pl/topic...mod-by-gt-team/

Prosiłbym o Name Change Blocker, który blokuje zmianę nicku, a nie zmienia do wcześniejszego po zmianie nicku.

Nie piszcie mi o tym, bym poszukał, bo jak na razie takiego nie znalazłem. ;P

Wszystkie, które znalazłem posiadają taką funkcje: http://amxx.pl/topic...nicku/?p=604315

[ROZWIĄZANE] Prośba o modyfikacje ExpMod by GT Team

28.08.2015 17:16

Proszę o zmodyfikowanie tego pluginu: http://amxx.pl/topic...mod-by-gt-team/

Chodzi głównie o public ZapiszExp(id) (linijka: 1904).

Opis bugu: Po zmianie nicku na serwerze, zapisuje exp na nowy nick i zostaje na starym.

Chciałbym, żeby nie było to możliwe. Próbowałem to zrobić, lecz za każdym razem wyskakiwały błędy.

Cel: Po zmianie nicku, exp się nie zapisuje.

 

Byłbym wdzięczny. Zamieszczam dodatkowo sma, bo je lekko edytowałem. ;-)

cs***ti.pl - nie działa logowanie

22.08.2015 23:03

Witam, tydzień temu wpłaciłem paypalem 50zł i po zmianie tego stylu nagle nie da się zalogować. Pokazuje mi komunikat, że jest błędne hasło, lecz jest skopiowane z innej przeglądarki, na której logowałem się by przelać pieniądze. Nie da się również przypomnieć hasła. Też tak macie?

Połączenie z jedną i dwiema bazami jednocześnie oraz wyświetlanie błędów

21.08.2015 23:58

Witam,
Można połączyć się z bazą danych za pomocą zdefiniowanych stałych tak jak w tym temacie: Współpraca PHP z MySQL. Ja wytłumaczę, jak prościej i przejrzyściej połączyć się z bazą danych, a potem jak dodawać kolejne połączenia do zupełnie innych baz danych i używanie mysql_query do nich.
Przykładowa tabela w bazie danych o nazwie `users`:
Załączony plik  baza danych `users`.jpg   10,34 KB  17 Ilość pobrań


1. Połączenie z jedną bazą danych.
Na początku należy podać dane do połączenia z bazą (ja użyję tutaj zmiennej tablicowej)

<?php
/* Dane do polaczenia z MYSQL #1 */
$DBone['host'] = 'localhost'; // Nazwa host (zazwyczaj localhost)
$DBone['db'] = ''; // Nazwa bazy danych
$DBone['user'] = ''; // login do użytkownika, przez które chcesz łączyć się z bazą danych
$DBone['password'] = ''; // Hasło do użytkownika, przez które chcesz łączyć się z bazą danych

/* Łączenie się z bazą danych #1 */
$connectONE = @mysql_connect($DBone['host'], $DBone['user'] , $DBone['password'])
or die('Brak połączenia z serwerem MySQL #1.<br />Błąd: '.mysql_error());
$db_one = @mysql_select_db($DBone['db'] , $connectONE)
or die('Nie mogę połączyć się z bazą danych #1<br />Błąd: '.mysql_error());
?>

Wyjaśnienie:

$connectONE - zmienna, która ma za zadanie łączyć się z serwerem bazy danych.

$db_one - zmienna, która łączy się z bazą danych wcześniej podanego serwera bazy danych.

Nazwę hosta bazy danych można znaleźć u usługodawcy serwera baz danych. Nie musi być to localhost!

 

Często później po wczytaniu danych z bazy danych, nie wyświetlają się polskie znaki. Powodem jest tego brak ustawienia formatu danych pobieranych z serwera MySQL. W tym wypadku należy użyć po połączeniu się z bazami danych:

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8_unicode_ci");

Tym sposobem wykonujemy zapytanie do bazy danych tak:

$zapytanie = mysql_query("SELECT * FROM users WHERE `id`='1'");
$pierwszy_uzytkownik = mysql_fetch_assoc($zapytanie);
echo $pierwszy_uzytkownik['nick'];

Powyższy kod wyświetli nick użytkownika o ID 1. W tym wypadku Metal.
 
2. Połączenie z dwiema bazą danych.
Nie jest to trude, wystarczy podwoić ten kod z pierwszego i pozmieniać zmienne tak, by nie były takie same. W innym wypadku będziemy się łączyli dwa razy do tej samej bazy danych, a to raczej zbędne. No to lecimy. :D
 

<?php
/* Dane do polaczenia z MYSQL #1 */
$DBone['host'] = 'localhost'; // Nazwa host (zazwyczaj localhost)
$DBone['db'] = ''; // Nazwa bazy danych
$DBone['user'] = ''; // login do użytkownika, przez które chcesz łączyć się z bazą danych
$DBone['password'] = ''; // Hasło do użytkownika, przez które chcesz łączyć się z bazą danych

/* Łączenie się z bazą danych #1 */
$connectONE = @mysql_connect($DBone['host'], $DBone['user'] , $DBone['password'])
or die('Brak połączenia z serwerem MySQL #1.<br />Błąd: '.mysql_error());
$db_one = @mysql_select_db($DBone['db'] , $connectONE)
or die('Nie mogę połączyć się z bazą danych #1<br />Błąd: '.mysql_error());

/* Dane do polaczenia z MYSQL #2 */
$DBtwo['host'] = 'localhost'; // Nazwa host (zazwyczaj localhost)
$DBtwo['db'] = ''; // Nazwa bazy danych
$DBtwo['user'] = ''; // login do użytkownika, przez które chcesz łączyć się z bazą danych
$DBtwo['password'] = ''; // Hasło do użytkownika, przez które chcesz łączyć się z bazą danych

/* Łączenie się z bazą danych #2 */
$connectTWO = @mysql_connect($DBtwo['host'], $DBtwo['user'] , $DBtwo['password'])
or die('Brak połączenia z serwerem MySQL #2.<br />Błąd: '.mysql_error());
$db_two = @mysql_select_db($DBtwo['db'] , $connectTWO)
or die('Nie mogę połączyć się z bazą danych #2<br />Błąd: '.mysql_error());
?>

 
Gdy już to mamy, należałoby spytać, jak wykonać zapytanie, żeby dało się zapisać takie samo dla 2 różnych baz danych. Odpowiedź jest bardzo prosta.

$zapytanie = mysql_query("SELECT * FROM users WHERE `id`='1'", $connectONE);
$pierwszy_uzytkownik = mysql_fetch_assoc($zapytanie);
echo $pierwszy_uzytkownik['nick'];


$zapytanie2 = mysql_query("SELECT * FROM users WHERE `id`='1'", $connectTWO);
$pierwszy_uzytkownik2 = mysql_fetch_assoc($zapytanie2);
echo $pierwszy_uzytkownik2['nick'];

Załóżmy, że na obu bazach danych jest ta sama tabela users w bazie danych, ten kod wyświetli nam ten sam tekst. Należy pamiętać, że formuła zapytania będzie po prostu taka: mysql_query("TREŚĆ ZAPYTANIA", $ZMIENNA);
$ZMIENNA oznacza tą zmienną, którą ustaliliśmy przy mysql_connect, która posłużyła do połączenia z danym serwerem bazy danych.
 
3. Zapytania do MySQL:
Wypiszę tu kilka najważniejszych zapytań, ponieważ nie wszyscy nowi mogą je znać.
 
SELECT * FROM `users` WHERE `nick`='Metal'

To zapytanie wyszuka linię w tablicy o nazwie `users` gdzie `nick` jest równy 'Metal'

UPDATE `users` SET `id`='1' WHERE `nick`='Metal'

To zapytanie zaktualizuję linię na id 1, gdzie nick jest równy 'Metal'.

INSERT INTO `users` SET `id`='1' AND `nick`='Metal' AND `hasło`='jakies_haslo' AND `email`='metal@' AND `lokalizacja`='Polska'

To zapytanie dodaje do bazy danych właśnie tą linię co jest podana na obrazku na samej górze. :)

4. Wyjaśnienia ogólne:
@ przed funkcjami (np. przy mysql_connect) - oznacza to, żeby użytkownikowi nie wyświetlało się nic o błędach.
echo - polecenie, które ma za zadanie wyświetlić to co jest między " lub zmienną. Na przykład: echo "Jakiś tekst"; wyswietli nam Jakiś tekst.
Tablice zmiennych - jest to jedna zmienna-matka, która posiada wiele swoich dzieci pod danymi index'ami. Używane są po to by ułatwić i usprawnić kod. $zmienna_matka['index'].
mysql_fetch_assoc - jest to polecenie, którego używa się do przypisywania do zmiennych tablicowych danej treści, która jest zawarta w danej linii w bazie danych. Na php.net można znaleźć definicję "Zapisuje wiersz wyniku w tablicy asocjacyjneję". Ja podaję taką, którą pojąć powinni zieloni w tym temacie.

AND - w zapytaniach może być stosowane zamiennie z przecinkiem(",").

5. Wyświetlanie błędów.
Często się zdarza tak, że mamy 10000 linijek kodu, a nie chce poprawnie działać kod. Nie możemy znaleźć błędu - czasem i tak bywa. Z pomocą nam przychodzą dwie linijki kodu, które trzeba dodać na początku pliku. Wyświetli nam on w której linijce jest błąd.

<?PHP
ini_set( 'display_errors', 'On' ); 
error_reporting( E_ALL );
?>

Odwrócenie działania

29.11.2014 02:40

Witam, szukam czegoś, co by odwróciło działanie tego:

set_es(es_handle, ES_RenderAmt, 255.0);

Na coś takiego, że jeśli byłoby w jednej z klas 10 widoczności a w drugiej 20, to przywróciłoby z powrotem. Natomiast jeśli osoba byłaby w pełni widzialna to żeby jej nie ruszało wtedy.

 

ps. Odwórcenie - tak właściwie to bardziej anulowanie tego.