Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[PROBLEM] Formularz - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: [PROBLEM] Formularz (/thread-problem-formularz)



[PROBLEM] Formularz - DAN!3L - 22-07-2012

Witam, otóż chciałbym napisać sobie formularz który będzie działał tak:

Użytkownik w polu tekstowym wklei link do zippyshare np. http://www9.zippyshare.com/v/123456/file.html

formularz pobierał by: 1 i 2:

http://{1}.zippyshare.com/v/{2}/file.html

następnie uzupełniał taki oto kod:
Kod PHP:
<script type="text/javascript">var zippywww="tutaj $1";var 
zippyfile="tutaj $2";var zippydown="ffffff";var zippyfront="000000";var 
zippyback="ffffff";var
 
zippylight="000000";var zippywidth=680;var zippyauto=false;var 
zippyvol=80;</script><script type="text/javascript" 
src="http://api.zippyshare.com/api/embed.js"></script


i tam by jeszcze było że pobiera cały ten link
i tworzy obrazkowy link, ale z tym to już sobie
dam radę, tylko z tym co opisałem mam problem, głównie z
tym pobieraniem, nie wiem jak zrobić żeby
pobierało to 1 i 2 , uzupełnianie kodu mam
opanowane, przejrzałem bardzo dużo poradników, ale nie znalazłem
odpowiedzi na to pytanie, jak to pobierać i
uzupełniać tylko tym 1 i 2 ?

Wiem że dla was jest to banalne, tak więc proszę
o wytłumaczenie, lub cały gotowy kod, jeśli nie
dało by rady zrealizować tego w PHP, to prosił
bym o skrypt w JS. Z góry dzięki.


RE: [PROBLEM] Formularz - camelrafal - 22-07-2012

w php skorzystaj z dirname oraz z basename
otrzymasz katalog pliku oraz samą nazwę pliku

jeżeli chcesz wyciągnąć poszczególne fragmenty adresu to skorzystaj z funkcji strpos(do namierzenia znaku) oraz substr(do skopiowania zawartosci)

w javascript masz też funkcje search i substr

działaj

a gotowca tutaj nie dostaniesz raczej


RE: [PROBLEM] Formularz - Pedro84 - 22-07-2012

Da radę: pathinfo()

@camelrafal - jemu chodzi o pobieranie zmiennych ze ścieżki Smile


RE: [PROBLEM] Formularz - DAN!3L - 22-07-2012

Edit właściwie to początek mogę uciąć wpisując cyfre 7 zamiast "$a, strpos($a, "//")" ale co z resztą?

Chyba żle się wyraziłem:

Chce z pole pobrać do textarea 2 zmienne z linku np: http://www65.zippyshare.com/v/68123444/file.html

http://www(65).zippyshare.com/v/(68123444)/file.html chce pobrać to co w nawiasie i nic więcej.


RE: [PROBLEM] Formularz - camelrafal - 22-07-2012

musiałbyś sprawdzać czy wpisany link jest prawidłowy bo kod może ci się rozlecieć jeżeli ktoś coś źle zrobi lub link będzie się różnił (różni ludzie = różne działania)
najlepiej sprawdzić poprawność adresu funkcją preg_match poszukaj w necie może znajdziesz jakiegoś gotowca
no i możesz się zainteresować też funkcją parse_url aby rozbić adres na części składowe i operacje dokonywać tylko na tym elemencie który potrzebujesz zmniejszysz w ten sposób prawdopodobieństwo wystąpienia błędów
może także ci się przydać funkcja explode która dzieli stringa na kawałki w miejscu wystąpienia danego znaku np '.'
funkcja count liczy ile elementów jest w tablicy np po rozbiciu przez explode
musisz zaznajomić się dobrze z tymi funkcjami (wiedzieć jak która z nich działa i co daje w rezultacie) wtedy będziesz wiedział co robić i kiedy jaką wykorzystać
wystarczy wpisać w google którąś funkcje i otrzymujesz multum wyników, opisów, instrukcji a nawet przykładów

a co do twojego kodu to widze tam tylko
$aa=substr($link,-18,-10);
co jest bez sensu bo negatywne wartości oznaczają że liczysz od końca stringa i na sztywno ustawiłeś ilość znaków i jeżeli (a na pewno) adres będzie innej długości to zwróci ci jakieś smieci i kod się rozleci
w programowaniu musisz przewidywać różne możliwości

kombinuj kombinuj aż ci się uda w ten sposób się uczysz

PS. popraw coś w pierwszym poście w kodzie bo się strona rozjechała i ciężko się odpisuje
wstaw gdzie nie gdzie jakiegoś entera i przerzuć część kodu do nasępnej lini bo jest za długa


RE: [PROBLEM] Formularz - DAN!3L - 23-07-2012

No więc tak:

Dodałem kod który sprawdza poprawność wpisywanego adresu:

Kod PHP:
<?php //KOD SPRAWDZAJĄCY POPRAWNOŚĆ $nr_www
if (preg_match ('/^[0-9]+$/'$nr_www))
  echo (
'<font color="green"> www'.$nr_www.' OK</font>');
  else
  echo (
'<font color="red">Nie podałeś adresu, lub jest on niewłaściwy!</font>');
?>

Aha teraz jest jedno pole gdzie wpisuje się sam adres, skorzystałem z funkcji EXPLODE jak radziłeś:
Kod PHP:
<?php
$link
$_POST['link'];
$zippy_numer_pliku explode("/"$link);
$nr_www substr($link10, -36);
?>

$nr_www = substr($link, 10, -36); to tylko tymczasowo, dlaczego wartość ujemna? Otóż 10 omija mi "http://www" -36 licząć od tyłu wyrzuca zbędną część linku, od tyłu ponieważ wartość która występuje po www może być np 1, a w innym przypadku 55 , dlatego jest wartość ujemna, link z zippyshare zawsze ma tą samą długość więc to nie przeszkadza

Dodałem też przez funkcje ECHO podgląd, ogólnie ten kod co teraz jest zacząłem pisać zupełnie od nowa, i powiem szczerze że jestem bardzo zadowolony z wyników, mimo tego że informatyki w szkole nie miałem, wszystkiego uczyłem się sam w domu Wink

Dzięki za pomoc.