Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Skrypt na strone www
Forum PHP.pl > Forum > Przedszkole
stuk
Witam!
Mam pytanie, mianowicie:
Czy dałoby się w php (jestem zielony w php, ale znam html i troche c++)
zrobić skrypt na strone www, który prosi o podanie np. imienia, wieku itp a później wprowadza te dane na obrazek w odpowiednie miejsce? Coś podobnego jak na userbarmaker.com tylko że byłaby możliwość wpisywania więcej danych proszę o odpowiedzi smile.gif
Cysiaczek
Tak, Takie coś jest jak najbardziej do wykonania w Php - szukaj pod hasłem GD na forum, albo na stronach php.net

Pozdrawiam.
stuk
A mógłby mi ktoś wyjaśnić bo znalazłem coś ale nic z tego nie zrozumiałem :/
lopik
Zobacz na podany gotowy przykład: http://pl.php.net/imagecreate tylko skopiować.

  1. <?php
  2. header("Content-type: image/png");
  3.  
  4. $txt = "tekst na obrazku";
  5. $im = @imagecreate(110, 20)
  6. or die("Cannot Initialize new GD image stream");
  7. $background_color = imagecolorallocate($im, 0, 0, 0);
  8. $text_color = imagecolorallocate($im, 233, 14, 91);
  9. imagestring($im, 1, 5, 5, $txt, $text_color);
  10. imagepng($im);
  11. imagedestroy($im);
  12. ?>
stuk
taaak, ale gdy patrze na ten kod to widzę że chyba nie da się zrobić tak żeby osoba wpisywała swój tekst a on wyświetlił się na obrazku
Dokładniej chodzi mi żeby ten obrazek/skrypt była na stronie www a ktos wpiywał w nim dane potwierdzał klikał np. OK i tworzy mu się obrazek z tymi danymi co podał
lopik
Robisz formularz, user wpisuje dane do formularza, Ty pobierasz te dane, wstawiasz do w/w skryptu obrazka (dokładnie do zmiennej $txt), wyświetlasz wygenerowany obrazek z tekstem który wpisał user.
stuk
No spox
Czyli muszę znaleźć skrypt na formularz i później samemu wstawiać to do tego skryptu co podałeś czy to już "sam php" by "zrobił"??
lopik
  1. /// head sobie zrob
  2. <form action="image.php" method="post">
  3. <label for="txt">Tekst na obrazku:</label>
  4. <input type="text" name="imgText" id="txt" />
  5. <input type="submit" value="Done!" />
  6. </form>
  7. </body>


image.php
  1. <?php
  2. $txt = $_POST['imgText'];
  3.  
  4. header("Content-type: image/png");
  5.  
  6. $im = @imagecreate(78, 20)
  7. or die("Cannot Initialize new GD image stream");
  8.  
  9. $background_color = imagecolorallocate($im, 0, 0, 0);
  10. $text_color = imagecolorallocate($im, 255, 255, 255);
  11. imagestring($im, 2, 4, 4, $txt, $text_color);
  12. imagepng($im);
  13. imagedestroy($im);
  14. ?>
stuk
A jak zrobić żeby tekst wyświetlał się w tym miejscu, w którym ja chcę?
I jak zrobić żeby na obrazku pojawiał się tekst w więcej niż jednym miejscu
tzn.
(taki przykład)
Imię: (Tu ktoś wpisuje i sie pojawia)
Nazwisko (Tu ktoś wpisuje i sie pojawia)
Wiek: (Tu ktoś wpisuje i sie pojawia)
EDIT
I jak zrobić żeby tekst pojawiał się na obrazku, którym ja chcę? A nie obrazku tworzonym przez polecenie w php?
Sorry za tyle pytań ale na php zbytnio się nie znam ....
__mK
imagestring($im, 2, 4, 4, $txt, $text_color);

2 4 4 to zmieniasz polozenie tekstu, zeby dodac wiece wyrazow dodajesz kilka tych linijek zamiast $txt dajesz zmienna imie nazwisko wiek itd i zmieniasz wlasnie te polozenia tekstu...

Cytat
EDIT
I jak zrobić żeby tekst pojawiał się na obrazku, którym ja chcę? A nie obrazku tworzonym przez polecenie w php?
Sorry za tyle pytań ale na php zbytnio się nie znam ....

http://pl.php.net/manual/pl/function.imagecreatefromjpeg.php
stuk
Wszystko dobrze tylko, że jak mam kilka okienek do wpisania tekstu to jak klikne dodaj to od razu przechodzi do obrazka jak zrobic żeby możnabyło dodawać kilka tekstów naraz
EDIT
Dobra poradziłem sobie już wiem jak wpisywać kilka tekstów naraz, ale gdy klikam dalej to nic na obrazku się nie pokazuje :/
Tu są kody mojej pracy
  1. <form action="image.php" method="post">
  2. <label for="txt">imię i nazwisko:</label>
  3. <input type="text" name="imgImie" id="imie" /></br></br>
  4. <label for="txt">poziom:</label>
  5. <input type="text" name="imgLvl" id="lvl" /></br></br>
  6. <label for="txt">klasa(np.gospodarz):</label>
  7. <input type="text" name="imgKla" id="kl" /></br></br>
  8. <label for="txt">stan(np.obywatel):</label>
  9. <input type="text" name="imgSta" id="st" /></br></br>
  10. <label for="txt">Pozycja w ratuszu(np.sołtys jeśli nie masz wpisz brak):</label>
  11. <input type="text" name="imgPoz" id="poz" /></br></br>
  12. <input type="submit" value="Dodaj!" />
  13.  
  14. </br></br>
  15.  
  16.  
  17. </form>
  18. </body>


image.php
  1. <?php
  2. function LoadJpeg($imgname)
  3. {
  4. $im = @imagecreatefromjpeg($imgname); /* Attempt to open */
  5. if (!$im) { /* See if it failed */
  6. $im = imagecreatetruecolor(150, 30); /* Create a black image */
  7. $bgc = imagecolorallocate($im, 255, 255, 255);
  8. $tc = imagecolorallocate($im, 0, 0, 0);
  9. imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
  10. /* Output an errmsg */
  11. imagestring($im, 1, 5, 5, "Error loading $imgname", $tc);
  12. }
  13. return $im;
  14. }
  15. header("Content-Type: image/jpeg");
  16. $img = LoadJpeg("tlo.jpg");
  17. imagejpeg($img);
  18. $imie = $_POST['imgImie'];
  19. $lvl = $_POST['imgLvl'];
  20. $kl = $_POST['imgKla'];
  21. $st = $_POST['imgSta'];
  22. $poz = $_POST['imgPoz'];
  23.  
  24. $background_color = imagecolorallocate($img, 0, 0, 0);
  25. $text_color = imagecolorallocate($img, 255, 255, 255);
  26. imagestring($img, 2, 111, 32, $imie, $text_color);
  27. imagestring($img, 2, 66, 79, $lvl, $text_color);
  28. imagestring($img, 2, 158, 78, $kl, $text_color);
  29. imagestring($img, 2, 45, 119, $st, $text_color);
  30. imagestring($img, 2, 324, 137, $poz, $text_color);
  31. imagepng($img);
  32. imagedestroy($img);
  33. ?>


EDIT 2
A może trzeba podać rozmiar czcionki i styl czcionki? Jeśli tak to powiedzcie jak to zrobić bo nie wiem sad.gif

EDIT

Temat do zamknięcia problem rozwiązany
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.