Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Wolontariat][inne][HTML][PHP]Skrypt do tworzenia sygnatury, tworzenie sygnatur (podpisów) na forum
widmo2004
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.04.2011

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


Witam mam takie pytanie; czy dałby ktoś rade poprawić mi pewien skrypt, bo niestety moja wiedza nie jest tak ogromna by dać sobie radę z owym tematem.

Więc tak skrypt ten ma na celu pobieranie informacji o danym koncie z gry i tworzenie aktualnej sygnaturki na forum.
zanim pokaże skrypt który posiadam na swoim serwerze dam wcześniej link do postu autora gdzie został on przedstawiony, może coś źle zrobiłem lub tp.

Wiec tak link do postu autora znajdziecie tutaj :Dynamiczna sygnaturka

a oto moja praca, no nie do końca moja ale przerobione dla mojej strony:

Pierwszy plik znajdujący się w głównym katalogu wg instrukcji:

Kod
<?php
$page['url'] = 'http://diabloteam.pl"/"';
$sciezka = "signatures/";
$lista=array();
$katalog = opendir($sciezka);
while ($plik = strtolower(readdir($katalog))) {
$sa = explode('.',$plik);
if (($plik<>".")&&($plik<>"..")&&($sa[1]=='jpg')||($sa[1]=='png')) if(!is_dir($sciezka.$plik))
$lista[]=$plik;
}
closedir($katalog);
echo '<h2>Wybierz sygnaturkę: </h2>';
    $w = count($lista);
        for($s=0;$s<$w;$s++) {;
            echo '<p><a href="index.php?add='.$lista[$s].'" title="'.$lista[$s].'"><img src="signatures/'.$lista[$s].'" alt="'.$lista[$s].'"></a></p>';        
        }
if(isset($_GET['add'])) {
    $add = htmlspecialchars(addslashes($_GET['add']));
    echo 'Poprawnie wybrałeś sygnaturkę. Teraz wpisz nick swojej postaci: ';
    echo '<p>';
    echo '<form method="post">';
    echo '<input type="text" name="nick" />';
    echo '<input type="hidden" name="signature" value="'.$add.'" />';
    echo '<input type="submit" value="Generuj" />';    
    echo '</form>';
    echo '</p>';
        if(isset($_POST['nick'])) {
    if(empty($_POST['signature']) || empty($_POST['nick'])) {
        echo 'Wypełnij wszystkie pola.';
    }
    else {
    mysql_connect('localhost','diabxxxx','topsecrect') or die(mysql_error());
    mysql_select_db('signatures') or die(mysql_error());
        $nick = stripslashes(addslashes($_POST['nick']));
        $nick = str_replace(' ','+',$nick);
        $zmienna = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.$nick.'');
        preg_match('/Name:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik1);
            if($wynik1[1] != $_POST['nick']) {
                echo 'Taka postać nie istnieje.';
            } else {
                echo 'Sygnaturka została wygenerowana dla postaci: <h2>'.stripslashes(addslashes($_POST['nick'])).'</h2>';
      for ($i=0; $i<9; $i++) {
      $id = rand(0, 9999);
      }
      echo '<p>Oto twoja sygnaturka: <a href="signatures/signature.php?id='.intval($id).'" target="_blank">'.$page['url'].'signatures/signature.php?id='.intval($id).'</a></p>';
      echo '<br />Adres bezpośredni: <p><input type="text" value="'.$page['url'].'signatures/signature.php?id='.intval($id).'" style="width: 350px;" readonly /></p>';
    echo '<br />BBcode na forum: <p><input type="text" value="
    [img]'.$page['url'].'signatures/signature.php?id='.intval($id).'[/img]" style="width: 350px;
    " readonly /></p>';
    echo '<br />Html: <p><input type="text" value="
    <img src=&quot;'.$page['url'].'signatures/signature.php?id='.intval($id).'&quot; alt=&quot;'.$page['url'].'&quot; />" style="width: 350px;
    &quot; alt=&quot;Test&quot; />" readonly /></p>';
    if(!mysql_query('INSERT INTO signatures VALUES('.$id.',"'.mysql_real_escape_string($_POST['nick']).'","'.mysql_real_escape_string($_POST['signature']).'")')) {
                    echo 'Error in query:<br />';
                    echo mysql_error();        
        }
    }
    mysql_close();
}
        }
}
?>



Drugi plik znajdujący się w katalogu signatures wg instrukcji:

Kod
<?php
$id = intval($_GET['id']);
    mysql_connect('localhost','diaxxxx','topsecrect') or die(mysql_error());
    mysql_select_db('signatures') or die(mysql_error());
    $sig_query = mysql_query("SELECT nick,signature FROM signatures WHERE id = $id") or die('<strong>Blad mysql</strong>: '.mysql_error());
        if(!mysql_num_rows($sig_query)) {
            echo 'Taka sygnatura nie istnieje. <a href="signature.php?create">Utwórz swoją własną</a>';
        } else {
        $sig = mysql_fetch_array($sig_query);
        $nick = str_replace(' ','+',$sig['nick']);
        $zmienna = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.$nick.'');
preg_match('/Name:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik1);
preg_match('/Level:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik2);
preg_match('/Profession:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik3);
preg_match('/Sex:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik4);
preg_match('/Account*Status:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik5);
preg_match('/World:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik6);
preg_match('/Residence:<\/TD><TD>(.+)<\/TD>/Ui', $zmienna, $wynik7);
preg_match('/<td><nobr>Achievement Points:<\/nobr><\/td><td>(.+)<\/td>/Ui', $zmienna, $wynik8);
      $avatar = imagecreatefrompng( ''.$sig['signature'].'' );
      $bialy = imagecolorallocate( $avatar, 255, 255, 255 );
      $czerwony = imagecolorallocate( $avatar, 255, 0, 0 );
      $zielony = imagecolorallocate( $avatar, 0, 255, 0 );
      $lewa = imagecolorallocate( $avatar, 255, 255, 0 );
      imagestring( $avatar, 4, 3, 2, 'Name', $lewa );
      imagestring( $avatar, 4, 100, 2, $wynik1[1], $bialy );
      imagestring( $avatar, 2, 3, 20, 'Level', $lewa );
      imagestring( $avatar, 2, 100, 20, $wynik2[1], $bialy );
      imagestring( $avatar, 2, 3, 38, 'Profession', $lewa );
      imagestring( $avatar, 2, 100, 38, $wynik3[1], $bialy );
      imagestring( $avatar, 2, 3, 56, 'World', $lewa );
      imagestring( $avatar, 2, 100, 56, $wynik6[1], $bialy );
      imagestring( $avatar, 2, 3, 74, 'Sex', $lewa );
      imagestring( $avatar, 2, 100, 74, $wynik4[1], $bialy );
      imagestring( $avatar, 2, 3, 92, 'Residence', $lewa );
      imagestring( $avatar, 2, 100, 92, $wynik7[1], $bialy );
      imagestring( $avatar, 2, 3, 120, 'Achiev. Points', $lewa );
      imagestring( $avatar, 2, 100, 120, $wynik8[1], $bialy );
      if($wynik5[1] == 'Free Account') {
      imagestring( $avatar, 2, 100, 138, $wynik5[1], $czerwony );
      } else {
      imagestring( $avatar, 2, 100, 138, $wynik5[1], $zielony );
      }
      header( 'Content-type: image/png' );
      imagepng( $avatar );
      imagedestroy( $avatar );
}
    if(isset($_GET['create'])) {
?>
<?php
    }
?>



Wyniki mojej pracy znajdziecie na:moja strona


niestety wywala mi błąd że dany nick nie istnieje np nick Marek, ale jak sprawdzimy to na stronie tej gry "tibia" podany nick jest zarejestrowany, więc powinno przejść dalej do tworzenia sygnatury, lecz tak nie jest.


Jeśli ktoś z was dałby radę przerobić mi ten skrypt by działał byłbym bardzo wdzięczny Lkingsmiley.png
dla szczegółów podam że nie jest mi potrzebna sygnaturka akurat pod tą grę tylko pod Combat Arms
wiec będzie i tak trzeba przerobić ten skrypt by pobierał inne dane jednak zasada powinna być podobna, ( chyba że ktoś się skusi poprawić mi odrazu pod tą grę )

Kolejne moje pytanie to:
Czy owy skrypt aktualizuje sygnaturkę automatycznie np co 5 h lub tp. jeśli nie to czy da rade tak zrobić.
i następne pytanie : czy da rade określać rozmiar i kolor czcionki przy tworzeniu sygnaturki np poprzez wybór czcionki w sygnaturce
i ostatnie: jak zrobić by podczas robienia sygnaturki skrypt pytał się które dane mają być wyświetlane ( np czy ma pokazać w sygnaturce nick, klan lub tp )

Wiem że sporo jest pracy przy tym jednaj za bardzo raczkuje w tym temacie by zrobić to sam i proszę was o pomoc
Powód edycji: [Daiquiri]: Przenoszę do odpowiedniego działu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nekomata
post
Post #2





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Eeee a nie pomyślałeś że może oficjalna strona "tibi" uległa zmianie od czasu.. 06-07-10, 11:45 (data publikacji skryptu na podanej przez ciebie stronie?"[qoute]Kolejne moje pytanie to: Czy owy skrypt aktualizuje sygnaturkę automatycznie np co 5 h lub tp. jeśli nie to czy da rade tak zrobić.
i następne pytanie : czy da rade określać rozmiar i kolor czcionki przy tworzeniu sygnaturki np poprzez wybór czcionki w sygnaturce
i ostatnie: jak zrobić by podczas robienia sygnaturki skrypt pytał się które dane mają być wyświetlane ( np czy ma pokazać w sygnaturce nick, klan lub tp )[/quote]
3 Razy tak , PHP jest wielce potężnym potworem , jednak wnioskując z twoich pytań nie masz pojęcia o PHP .Ale gotowca ci nikt nie napiszę .
Możliwości dla ciebie są takie :
A : Ogarnąć podstawy PHP (to co potrzebujesz do takiej sygnatury to : Mózg , podstawowe kursy php , "tworzenie grafik w php"(jest taki temat na php.pl biggrin.gif) , file_get_contents albo cUrl i preg_match_all
B : Użyj google , może trafisz na gotowy skrypt pod Combat arms .
C : Zostaw to i idź grać dalej tongue.gif
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 08:27