Skocz do zawartości

Zawartość z najwyższą reputacją


#455 [Web-Talk.pl] Rangi na forum

Napisane przez zonic w 16 kwietnia 2013 - 12:55

Nazwa pliku: Rangi na forum (Web-Talk.pl)

Plik Dodał: zonic

Plik wysłano: 16 kwi 2013

Kategoria pliku: Darmowe pliki graficzne

 

Przedstawiam Wam pierwszą, bezpłatną paczkę od web-talk.pl.
Rangi dla forum dyskusyjnego. Paczka zawiera zarówno pliki .png rang jak i w pełni edytowalne pliki .PSD ze wszystkimi warstwami.

Zabrania się odsprzedaży plików jak i ich rozpowszechniania za pośrednictwem innego portalu niż web-talk.pl

Podgląd:

web-talk-pl-rangs.png

 

Kliknij tutaj aby pobrać plik


  • 10


#3461 [poradnik] Jak stworzyć formularz AJAXowy z filtrem anty-bot

Napisane przez unbreak w 26 stycznia 2014 - 13:49

W tym poradniku pokażę jak stworzyć prosty formularz kontaktowy, obsługiwany ajaxem, czyli bez konieczności przeładowywania strony.
 
Zaczniemy od htmla, przedstawiam najprostszy formularz chyba z możliwych:
HTML (index.html)

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"> 
	
	<title>AJAX FORM</title>
	<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
	<script src="js.js"></script>
	<style>
		.error{color:#f00;border:1px solid #f00;}
	</style>
</head>
<body>
	<form id="actionForm" action="send.php" method="post">
	Imię: <input type="text" name="name" id="name" placeholder="Podaj swoje imię" /><br />
	Temat: <input type="text" name="subject" id="subject" placeholder="Podaj temat kontaktu" /><br />
	Wiadomość: <textarea name="message" placeholder="Wpisz wiadomość"></textarea><br />
        Czy lew jest psem czy kotem? <input type="text" name="question" placeholder="Odpowiedz na pytanie" /><br />
	<button type="submit">Wyślij</button>
	</form>
</body>
</html>

 
Teraz w php odbierzemy informacje przesłane z formularza:
PHP (send.php)

<?php 
//zapisujemy otrzymane wartości do zmiennych
$name = isset($_POST['name']) ? $_POST['name'] : '';
$subject = isset($_POST['subject']) ? $_POST['subject'] : '';
$message = isset($_POST['message']) ? $_POST['message'] : '';
$question= isset($_POST['question']) ? $_POST['question'] : '';

//na wstepie sprawdzamy czy formularz nie zostal wypelniony przez bota:
if( !in_array(strtolower($question),array('kot','kotem') ) ){
	echo json_encode(array('status'=>false,'errors'=>array('question'),'msg'=>"Ty bocie ty!"));
    exit;
}

//przygotowujemy sobie zmienne do zwrocenia
$status = true;
$error = array();
$msg = 'Dziękujemy zapraszamy ponownie';

//tutaj robimy walidację jaką chcemy, ja upewniam się że pole 'name' składa się z przynajmniej 3 znaków i składa się jedynie z liter, liczb, spacji oraz '-'
if( !preg_match("/^([a-zA-z0-9 -]{3,})$/",$name) ){
	//w przypadku niepoprawnego pola ustawiamy status na false i do tablicy $error dodajemy name pola z bledem
	$status = false;
	$error[] = 'name';
}

//tutaj upewniam się ze tytul nie jest pusty
if( !preg_match("/^(.+)$/",$subject) ){
	//w przypadku niepoprawnego pola ustawiamy status na false i do tablicy $error dodajemy name pola z bledem
	$status = false;
	$error[] = 'subject';
}

//tutaj upewniam się ze wiadomosc ma przynajmniej 10 znaków
if( !preg_match("/^((.*){10,})$/",$message) ){
	//w przypadku niepoprawnego pola ustawiamy status na false i do tablicy $error dodajemy name pola z bledem
	$status = false;
	$error[] = 'message';
}

//jeżeli wystąpił jakiś błąd zmieniamy komunikat
if( !$status ){

	$msg = "Proszę wypełnić formularz poprawnie";

}else{
	
	//tutaj robimy co chcemy robić w przypadku poprawnych danych, np zapisujemy do bazy, wysyłamy maila, etc.
	//możemy tu też sprawdzać czy docelowa akcja się powiedzie i jeżeli nie to zmieniamy status na false i msg na konkretną informacę

}

//wyświetlamy wynik całej operacji jako json
echo json_encode(array('status'=>$status,'errors'=>$error,'msg'=>$msg));
exit;

 
Jeżeli teraz wysłalibyśmy taki formularz to strona by się przeładowała do pliku send.php i otrzymalibyśmy goły json z wynikami operacji. Żeby to zmienić potrzebny nam jest odpowiedni skrypt JavaScript (musimy mieć załączoną bibliotekę jquery).
JAVASCRIPT (js.js)

$(document).ready(function(){
	$("form#actionForm").submit(function(e){
		e.preventDefault(); //
		var form = $(this);
		$.post(
			form.attr('action'),
			form.serialize(),
			function(r){
				if( r.status ){
					form.html(r.msg);
				}else{
					alert(r.msg);
					form.find('.error').removeClass('error');
					for( var i=0;i<r.errors.length;i++ ){
						var name = r.errors[i];
						form.find('input[name="'+name+'"],textarea[name="'+name+'"]').addClass('error');
					}
				}
				
				return;
			},
			'json'
		);
	});
});

Przeanalizujmy źródło js:
3: e.preventDefault() - dzięki tej linijce formularz się nie wyśle standardową akcją
5: $.post -  wysyłamy formularz za pomocą AJAXA, requestem POST (można użyć $.get)
6: form.attr('action') - ustawiamy cel wysłania formularza na taki jaki jest w htmlu ustawiony action
7: form.serialize() - przetwarzamy wartosci wszystkich pol formularza na stringa i przekazujemy je do skryptu php
8: function® - jako parametr callback-u (funkcji wywołanej po otrzymaniu odpowiedzi od serwera) podajemy odpowiedź serwera
9: if( r.status ) - sprawdzamy czy w ospowiedzi jest ustawiona wartość status na true
10: form.html(r.msg) -  jeżeli powyższe tak to wyświetlamy w miejsce formularza podziękowanie
jeżeli powyższe nie to:
12: alert(r.msg) - wyświetlamy błąd
13: form.find('.error').removeClass('error') - usuwamy wszystkim elementom formularza klasę 'error'
14-17: for(...){ ... } - przelatujemy przez wszystkie błedy i błędnym polom ustawiamy klasę error - za mocą css wyrózniamy te pola
22: 'json' - jako ostatni parametr funkcji post podajemy typ danych jakie otrzmyamy od serwera
 
DEMO: http://web-talk.pl/demo/933-formularz/

DOWNLOAD: Załączony plik  formularz.zip   4,45 KB   0 Ilość pobrań
Jeżeli masz jakieś propozycje zmian lub rozbudowy, czekam na informację.
 

Poradnik jest własnością autora zgodnie z ustawą z dnia 4 lutego 1994 roku o prawie autorskim i prawach pokrewnych. Publikowanie ich na innych forach i serwisach internetowych bez wiedzy i zgody autorów jest surowo zabronione.


  • 6


#819 [PSD] Darmowe, minimalistyczne ikony dla WWW

Napisane przez jack98 w 09 lipca 2013 - 00:06

IKONY


  • 4


#6331 [AngularJS] Pierwsze starcie

Napisane przez Yeoman w 09 lipca 2014 - 20:48

Siemanko!

 

Mam chwilę aby podzielić się z wami podstawami o AngularJS, którego mam nadzieje zacznie używać więcej ludzi w Polsce :)

 

Link do strony domowej: https://angularjs.org/

 

AngularJS to JavaScriptowski framework MVW, wypluty przez google, który jest dość łatwy w uzyciu, bardzo szybko wykonamy rzeczy, które w czystym JS zajmują o wiele więcej czasu i posiada on bardzo dużo plusów na tle pozostałych z tej kategorii.

 

Dobra, pierwsze co to zacznijmy od 'zainstalowania' biblioteki. Stwórzmy prosty dokument z dodanym frameworkiem:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Mój pierwszy skrypt!</title>
    <script src="https://code.angularjs.org/1.2.19/angular.min.js"></script>
</head>
<body>
    // document body here!
</body>
</html>

Jesli mamy już stworzony plik, który zawiera plik z AngularJS, teraz czas na wykonanie kilku prostych poleceń, które 'ożywią' nasz dokument!

 

Piwersze z nich to dodanie 'ng-app' jako wbudowanej dyrektywy, która definiuje naszą aplikacje. Wszystko pomiędzy tą dyrektywą co związane jest z Angularem, będzie brane pod uwagę przy wykonywaniu skryptu :)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Mój pierwszy skrypt!</title>
    <script src="https://code.angularjs.org/1.2.19/angular.min.js"></script>
</head>
<body>
    <div ng-app>
        <input type="text" ng-model="q">
        <span>{{q}}</span>    
    </div>
</body>
</html>

Tutaj mamy do czynienia także z wbudowaną dyrektywą jaką jest ng-model. Generalnie prefiks 'ng' jest zarezerwowany dla wbudowanych dyrektyw w tym frameworków.

ng-model definiuje model danych, które są sprawdzane pod kątem zmian oraz przetwarzane w tym frameworku. Działanie to jest trawione w definicji zwanej digest cycle ale o tym troszkę później. ng-model można określić jako model danych wysyłanych do rdzenia frameworka :) Czyli jak wpiszemy w pole tkstowe tekst, Angular przetrawi go i zwróci wynik końcowy natychmiast.

 

Jak widać, użyłem także tagów {{ }} typowych dla AngularJS, pomiędzy nim, w prostszy sposó (co nie znaczy że najlepszy) definiujemy naszą treść, którą Angular wypluje - dobrym porównaniem jest 'echo' w PHP.

 

Tutaj można zobaczyć proste demo: http://jsfiddle.net/5Tb88/

 

Czyż nie jest łatwe ? Jest. Jednakże to jest początek góry lodowej, która czeka nas do wyuczenia, jeśli chcemy oczywiście cokolwiek tworzyć w tym frameworku.

 

To są akurat podstawy podstaw, opisane moimi słowami, myślę że to taki przedsmak tego co opiszę w następnych tematach. Chciałbym je rozdzielić na więcej i mniejszych tematów, ponieważ z doświadczenia wiem, że z tym co za dużo to i nie zdrowo.

 

Także nie długo kolejna część, bardziej treściwa na temat ogólnie dyrektyw, wbudowanych dyrektyw w AngularJS oraz stworzymy jakiś prosty skrypcik, który będzie korzystał z ich mocy :)

 

Tymczasem zachęcam do czytania przede wszytskim dokumentacji i powodzenia w nacue tym, którzy są zainteresowani w tym temace :)


  • 4


#4967 Lista darmowych katalogów SEO - aktualna

Napisane przez zonic w 11 kwietnia 2014 - 20:44

Kiedys sie korzystalo z darmowek. Teraz to strach tykac nawet i te platne.
Jak masz dobry content to i ruch sam przyjdzie.

Powiedział to kolega od warezów...


  • 4


#4666 Opinie o gnum.pl?

Napisane przez gnum.pl w 26 marca 2014 - 00:01

Moim zdaniem słaby hosting, nie przypadł mi do gustu i miałem z nim dużo problemów. Najlepiej jest postawić na linuxpl.com lub speedhost.pl

 

 
 
Panie TROLU jak mógł Panu nie przypaść do gustu nasz hosting i jak mógł przynieść dużo problemów skoro u nas nie ma hostingu.
Zajmujemy się wyłącznie domenami :)

  • 4


#18 Najlepsze narzędzia pomagające dobrać kolorystykę projektu www

Napisane przez zonic w 28 lutego 2013 - 22:41

Masz problem z dobraniem kolorystyki dla nowego layoutu? Sprawdź poniższą listę narzędzi.

1. COLOROTATE
2. ADOBE KULER
3. Color scheme designer
4. Colour lovers
5. COLOR BLENDER
6. Color munki
7. Color wizard
8. Color exploler

Sam osobiście korzystam z Adobe Kuler. Mam nadzieję, że lista się przyda.
  • 4


#1410 [TUTORIAL] IPB - Wysuwany facebook like box

Napisane przez zonic w 07 września 2013 - 21:12

Jeśli chcemy stworzyć na swoim forum wysuwany Like Box Facebooka to możemy skorzystać z wtyczki:

Facebook Slide Fanpage

Instalujemy to rozszerzenie i w zasadzie możemy cieszyć się Like Boxem.

Niestety czasami efekt wysuwania nie działa. Wtedy musimy zrealizować następujące kroki:

- Wybieramy nasz styl w panelu administracyjnym i przechodzimy do pliku indoFacebookSlide

- Odnajdujemy w tym pliku poniższy fragment:

 

<!--		<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
		<script type='text/javascript'>!window.jQuery && document.write('<script src="{style_images_url}/js/jquery.min.js"><\/script>')</script> -->

 

i usuwamy tagi komentarza. (tj. <!--- oraz -->)

I voila! Teraz powinno wszystko hulać :)


  • 4


#12390 Instalacja Gulp.js na lunuxie

Napisane przez karolgorecki w 31 stycznia 2016 - 14:54

Instalujesz Gulpa globalnie czyli "npm install -g gulp"

Wchodzisz do swojego katalogu z projektem i tam już powinieneś mieć package.json - wtedy byś tylko zrobił "npm i" i by zainstalowało wszystkie zależności.

Jeśli go nie masz to robisz od początku czyli "npm init". Potem możesz dodać te swoje dev zależności: "npm install --save-dev gulp" itd.

Gulpfile też powinien być w głównym folderze ale chyba ścieżki musisz w nim poprawić.

Jak potrzebujesz tylko proste rzeczy robić to Gulp czy Grunt jest zbędny. Wszystko możesz zrobić przy pomocy npm'a.


  • 4


#11347 Organizacja kodu JS

Napisane przez writen w 21 września 2015 - 15:20

W tym przypadku słówko this wskazuje na element, który został kliknięty.

Możesz tą metodę wywołać po prostu tak: Locate.setAttributes()


  • 4


#11211 [Trick-CSS] Jak ostylować radio i checkbox? (+ efekt transition)

Napisane przez writen w 25 sierpnia 2015 - 12:58

Jak nadać własne style elementom input radio i checkbox?

 

Wbrew pozorom nie jest to trudne zadanie. Jednak wiele osób nie wie jak to zrobić, bowiem nie da się nadać stylów tym elementom w standardowy sposób. Taki sposób nie zadziała:

input[type=checkbox] {
background: red;
border: 1px solid red;
}

Jak więc osiągnąć zamierzony efekt?

 

Jest to bardzo proste. Zazwyczaj elementowi input towarzyszy label i to on przejmie rolę tego pola.

<input type="checkbox" name="custom1" id="custom1"> <label for="custom1"> Label</label>

Dlatego więc ukryjemy nasz input właściwością display: none i najzwyczajniej ostylujemy element label. Nie możemy jednak zamienić całego label, ponieważ wewnątrz może znajdować się tekst opisujący nasze pole. Użyjemy do tego celu pseudoklasy :befor, po to żeby pole checkbox znalazło się przed naszym opisem.

label:befor powinien mieć pozycję absolutną, aby móc dokładnie ustalić jego położenie, a także być elementem blokowym (display: block). Reszta stylów (wysokość, szerokość, kolory) zależą od naszego uznania. Dodatkowo w poniższym przykładzie została dodana właściwość transition, dzięki temu osiągniemy efekt płynności podczas zaznaczania naszych pól.

 

W celu określenia co ma się stać gdy element będzie zaznaczony lub zablokowany należy użyć pseudoklas, kolejno :checked i :disabled

 

W celu uzyskania zamierzonego efektu należy zmienić, według uznania, właściwości background-colorborder-colorwidthheight. Zachęcam do eksperymentowania.

 

Demo: http://jsfiddle.net/writen/9L9bamcs

input[type=checkbox], input[type=radio] {
    display: none; /* ukrywamy nasz input */
}

input[type=checkbox] + label, input[type=radio] + label {
    position: relative;
    padding-left: 23px; /* margines wewnętrzny - trzeba zrobić trochę miejsca dla naszego pola */
}

input[type=checkbox] + label:before, input[type=radio] + label:before {
    position: absolute;
    content: "";
    display: block; /* koniecznie element blokowy, aby móc nadać odpowiednie wymiary */
    width: 10px;
    height: 10px;
    top: 0; /* ustalamy pozycje */
    left: 0;
    cursor: pointer; /* dodamy jeszcze odpowiedni kursor */
    transition: all .4s ease;
-webkit-transition: all .4s ease;
background-color: #cccccc;
    border: 3px solid #cccccc;
}

/* checkbox */
input[type=checkbox] + label:before {
    border-radius: 2px;
}

/* radio */
input[type=radio] + label:before {
    border-radius: 50%; /* aby input radio był okrągły */
}

/* gdy zaznaczony */
input[type=checkbox]:checked + label:before, input[type=radio]:checked + label:before {
    background-color: #ffffff;
}

/* gdy zablokowany */
input[type=checkbox]:disabled + label:before, input[type=radio]:disabled + label:before {
    background-color: #b6b6b6;
    border-color: #b6b6b6;
}

/* gdy zaznaczony i zablokowany */
input[type=checkbox]:checked:disabled + label:before, input[type=radio]:checked:disabled + label:before {
    background-color: #cccccc;
    border-color: #b6b6b6;
}

  • 4


#9963 Wasze propozycje poradników

Napisane przez zonic w 03 kwietnia 2015 - 11:15

A wstęp do LESS by kogoś interesował? :) Od początku, jakie korzyści niesie i o co w tym chodzi. Z czasem coraz grubiej z przykładami?


  • 3


#982 Wasze propozycje poradników

Napisane przez ernest w 31 lipca 2013 - 21:18

Jest poradnik odnośnie wgrywania styli do IPB to proponuję jeszcze dodać tutorial przedstawiający sam proces instalacji IPB.


  • 3


#8489 Funkcja chowania i wysuwania boxa

Napisane przez zonic w 30 grudnia 2014 - 14:05

Nie wiem czemu, ale ja staram się już nie używać .animate.

Za pomocą toggleClass dodajesz i usuwasz klasę CSS. Jedno kliknięcie dodaje, a drugie usuwa. Przesuwasz za pomocą CSS, a opóźnienia dodajesz za pomocą transition w CSS.

Chyba ma sens, to co piszę :) Może ktoś inny się wypowie.


  • 3


#7599 Sposoby na przyśpieszenie strony WWW

Napisane przez Zimistrz w 24 września 2014 - 23:14

Michał: 4. minifikacja ;)

JS da się ściąć do 1/3 wielkości, a CSS zmniejszyć o przynajmniej 15%

 

ode mnie

- włączenie kompresjii http: gzip lub deflate jeśli webserwery dostawcy nie obsługują tego automatycznie; spdy ma jeszcze długą drogę do pokonania, a istniejące rozwiązania bardzo dobrze się sprawdzają

- przerzucanie skryptów JS z nagłówka <head> na koniec dokumentu

- stosowanie CDN - zewnętrznych lub własnych (chociażby pod subdomeną)


  • 3


#3363 Czas Shoutbox

Napisane przez zonic w 23 stycznia 2014 - 19:14

Logujesz się do panelu admina wybierasz aplikację IPB Shoutbox -> Settings -> Global configuration

Long Time Format zamień na:
 

%d %B %Y - %H:%M 

Today Time Format zamień na:
 

%H:%M

  • 3


#2364 CSS: Hover przy użyciu dwóch obrazków

Napisane przez unbreak w 16 listopada 2013 - 18:17

Np: https://github.com/j...query-grayscale


  • 3


#12596 Studia a praca jako front-end?

Napisane przez przemoo83 w 25 lutego 2016 - 16:20

To ja może od innej strony bardziej jako 'zatrudniający'. Nie robię tego osobiście ale widzę jak to przebiega u nas. Mamy spory dział programistyczny (akurat nie Webowy tylko .NET ale zasady są podobne). Rekrutacja na programistów jest u nas w zasadzie ciągła. Kiedyś jak firma była mniejsza i rekrutowali sami szefowie działów to w naszej firmie miał szanse każdy kto był po prostu dobry w tym co robi. Chłopakom się nawet nie chciało czytać CV wiec zapraszali grupowo kandydatów i dawali im kilka zadań. Po godzinie wiedzieli kto się nadaje a kto nie. Z tamtych czasów został nam np. jeden z głównych programistów-automatyków. Koleś jedynie po technikum ale genialny fachowiec. Potem jak firma trochę urosła i przekroczyła 100 osób rekrutacja stała się zbyt pracochłonna. Powstał więc 3-osobowy dział HR, który rekrutuje wg wytycznych kierowników innych działów. No i tu definitywnie skończyły się dobre czasy dla ludzi bez studiów. Babki z HR mają gdzieś tam na karteczce napisane "wymagania: wykształcenie wyższe" i nie przepuszczą nikogo kto tego nie spełnia. Same nie mają kompetencji żeby ocenić umiejętności więc ślepo wypełniają "rozkazy". Na obecnym etapie u nas nawet dobry fachowiec nie ma szans na pracę jeśli nie ma studiów bo jego CV utknie w dziale HR (a dokładnie w koszu na śmieci pani Ani). Jedyna szansa jaką widzę dla takiej osoby bez studiów to jakieś imponujące portfolio. Wtedy mógłby się przebić bo pani Ania jak coś takiego zobaczy to dla pewności zaniesie CV do szefa programistów a ten się od razu pozna na dobrej robocie. 
Wersja TL;DR w punktach:

1. Nie trzeba mieć studiów ale jak ich nie masz to łatwiej znaleźć pracę w mniejszej firmie

2. Jeśli bez studiów ciężko Ci znaleźć pracę to nie załamuj się bo może problem nie leży w Twoich umiejętnościach tylko w słabej sile przebicia (dział HR) - zbuduj portfolio

3. Jak możesz to zrób chociażby tego licencjata z informatyki. Będzie Ci łatwiej dostać pracę (co nie znaczy że się w niej utrzymasz). Poza tym w niektórych firmach (np. u nas tak jest) nie awansujesz na stanowisko kierownicze bez wyższego wykształcenia.

 

Chętnie się sam dowiem jak to wygląda w branży stricte web-developerskiej.


  • 3


#11465 Optymalizacja skryptu

Napisane przez unbreak w 16 października 2015 - 07:11

Łap

$(document).ready(function () {
	$(".menu li").hover(function () {
		$(this).find('ul').fadeIn('medium');
	},function () {
		$(this).find('ul').fadeOut('medium');
	}
);

  • 3


#10092 Katalog plików z możliwością ich pobierania

Napisane przez Michał w 09 kwietnia 2015 - 17:29

Znalazłem takie coś, może pomoże:
http://www.directorylister.com/

 

Pobieranie po kliknięciu na link, responsywność, a całość oczywiście z możliwością dowolnego ostylowania.


  • 3