Serwer WWW na przykªadzie Django

Wielkość: px
Rozpocząć pokaz od strony:

Download "Serwer WWW na przykªadzie Django"

Transkrypt

1 Serwer WWW na przykªadzie Django formularze, widoki, sesje, u»ytkownicy 19 marca 2014

2 URLe Formularze Widoki generyczne klasowe Ciasteczka Sesje U»ytkownicy

3 Routing from django.conf.urls import patterns urlpatterns = patterns('', (r'^articles/2003/$', 'news.views.special_case_2003'), (r'^articles/(\d{4})/$', 'news.views.year_archive'), (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'), (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'), )

4 Nazwane grupy urlpatterns = patterns('', (r'^articles/2003/$', 'news.views.special_case_2003'), (r'^articles/(?p<year>\d{4})/$', 'news.views.year_archive'), (r'^articles/(?p<year>\d{4})/(?p<month>\d{2})/$', 'news.views.month_archive'), (r'^articles/(?p<year>\d{4})/(?p<month>\d{2})/' '(?P<day>\d{2})/$', 'news.views.article_detail'), )

5 Prex from django.conf.urls import patterns urlpatterns = patterns('news.views', (r'^articles/(\d{4})/$', 'year_archive'), (r'^articles/(\d{4})/(\d{2})/$', 'month_archive'), (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'article_detail') ) urlpatterns = patterns('myapp.views', (r'^$', 'app_index'), (r'^(?p<year>\d{4})/(?p<month>[a-z]{3})/$', 'month_display'), ) urlpatterns += patterns('weblog.views', (r'^tag/(?p<tag>\w+)/$', 'tag'), )

6 Doª czanie from django.conf.urls import patterns, include urlpatterns = patterns('', #... snip... (r'^comments/', include('django.contrib.comments.urls')), (r'^community/', include('django_website.aggregator.urls')), (r'^contact/', include('django_website.contact.urls')), (r'^r/', include('django.conf.urls.shortcut')), #... snip... )

7 Wywoªywanie funkcji from mysite.views import archive, about, contact urlpatterns = patterns('', (r'^archive/$', archive), (r'^about/$', about), (r'^contact/$', contact), ) from mysite import views urlpatterns = patterns('', (r'^archive/$', views.archive), (r'^about/$', views.about), (r'^contact/$', views.contact), )

8 Wywoªywanie metod from mysite.views import ClassBasedView urlpatterns = patterns('', (r'^myview/$', ClassBasedView.as_view()), )

9 Odwracanie URL szablony url funkcje django.core.urlresolvers.reverse() i django.core.urlresolvers.reverse_lazy() metoda get_absolute_url() funkcja resolve()

10 Odwracanie URLi przykªad from django.conf.urls import patterns, url urlpatterns = patterns('', #... url(r'^articles/(\d{4})/$', 'news.views.year_archive'), #... ) ====== W szablonie: <a href="{% url 'news.views.year_archive' 2012 %}"> 2012 Archive</a>

11 Nazwany URL urlpatterns = patterns('', url(r'^archive/(\d{4})/$', archive, name="full-archive") url(r'^archive-summary/(\d{4})/$', archive, {'summary': True}, "arch-summary"), ) ===== W szablonie: {% url 'arch-summary' 1945 %} {% url 'full-archive' 2007 %}

12 Najprostszy formularz def search(request): query = request.get.get('q', '') if query: qset = (Q(title icontains=query)... ) results = Book.objects.filter(qset).distinct() else: results = [] return render_to_response("books/search.html", { "results": results, "query": query })

13 Formularz - u»ycie <title>search{% if query %} Results{% endif %}... <h1>search</h1> <form action="." method="get"> <label for="q">search: </label> <input type="text" name="q" value="{{ query escape }}"> <input type="submit" value="search">... {% if query %} <h2>results for "{{ query escape }}":</h2> {% if results %} <ul> {% for book in results %} <li>{{ book escape }}</l1> {% endfor %}

14 Idealny formularz W formularzu wprowadza si dane, które s opisane (np. <label>) Dane s werykowane W przypadku bª du u»ytkownik mo»e poprawi dane Formularz wy±wietla si wielokrotnie, a» wszystkie dane s poprawne

15 forms.py from django import newforms as forms TOPIC_CHOICES = ( ('general', 'General enquiry'), ('bug', 'Bug report'), ('suggestion', 'Suggestion'), ) class ContactForm(forms.Form): topic = forms.choicefield(choices=topic_choices) message = forms.charfield() sender = forms. field(required=false)

16 Widok from forms import ContactForm def contact(request): form = ContactForm() return render_to_response('contact.html', {'form': form}

17 Szablon <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>contact us</title></head> <body> <h1>contact us</h1> <form action="." method="post"> {% csrf_token %} <table> {{ form.as_table }} </table> <p><input type="submit" value="submit"></p> </form> </body> </html>

18 Jak to wygl da

19 forms.py from django import newforms as forms TOPIC_CHOICES = ( ('general', 'General enquiry'), ('bug', 'Bug report'), ('suggestion', 'Suggestion'), ) class ContactformForm(forms.Form): topic = forms.choicefield(choices=topic_choices) message = forms.charfield(widget = forms.textarea()) sender = forms. field(required=false)

20 Jak to wygl da

21 Walidacja def contact(request): if request.method == 'POST': form = ContactForm(request.POST) else: form = ContactForm() return render_to_response('contact.html', {'form': form}

22 Zachowanie 1 def contact(request): if request.method == 'POST': form = ContactForm(request.POST) if form.is_valid(): topic = form.clean_data['topic'] message = form.clean_data['message'] sender = form.clean_data.get('sender', 'noreply@example.com')

23 Zachowanie 2 send_mail( 'Feedback from your site, topic: %s' % topic, message, sender, ['administrator@example.com'] ) return HttpResponseRedirect('/contact/thanks/') else: form = ContactForm() return render_to_response('contact.html', {'form': form}

24 Wªasna walidacja class ContactForm(forms.Form): topic = forms.choicefield(choices=topic_choices) message = forms.charfield(widget=forms.textarea()) sender = forms. field(required=false) def clean_message(self): message = self.clean_data.get('message', '') num_words = len(message.split()) if num_words < 4: raise forms.validationerror("not enough words!") return message

25 Inne wykorzystanie formularzy from models import Publisher from django.newforms import form_for_model PublisherForm = form_for_model(publisher) ==== def add_publisher(request): if request.method == 'POST': form = PublisherForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/add_publisher/than

26 TemplateView from django.conf.urls import patterns from django.views.generic import TemplateView urlpatterns = patterns('', (r'^about/', TemplateView.as_view(template_name="about.h )

27 TemplateView podklasa # some_app/views.py from django.views.generic import TemplateView class AboutView(TemplateView): template_name = "about.html" # urls.py from some_app.views import AboutView urlpatterns = patterns('', (r'^about/', AboutView.as_view()), )

28 Obsªuga ró»nych metod Stara: from django.http import HttpResponse def my_view(request): if request.method == 'GET': # <view logic> return HttpResponse('result') ====== Nowa: from django.http import HttpResponse from django.views.generic.base import View class MyView(View): def get(self, request): # <view logic> return HttpResponse('result')

29 Nadpisywanie zmiennych klasowych class GreetingView(View): greeting = "Good Day" def get(self, request): return HttpResponse(self.greeting) === podklasa === class MorningGreetingView(GreetingView): greeting = "Morning to ya" === urle === urlpatterns = patterns('', (r'^about/', MyView.as_view(greeting="G'day")), )

30 ListView #widok class PublisherList(ListView): model = Publisher #url urlpatterns = patterns('', url(r'^publishers/$', PublisherList.as_view()), ) #szablon {% block content %} <h2>publishers</h2> <ul> {% for publisher in object_list %} <li>{{ publisher.name }}</li> {% endfor %} </ul> {% endblock %}

31 ListView modykacja kontekstu class PublisherDetail(DetailView): model = Publisher def get_context_data(self, **kwargs): # Call the base implementation first to get a contex context = super(publisherdetail, self).get_context_d # Add in a QuerySet of all the books context['book_list'] = Book.objects.all() return context

32 Jakie s widoki View TemplateView RedirectView DetailView ListView FormView CreateView UpdateView DeleteView

33 Odczytywanie ciasteczek def show_color(request): if "favorite_color" in request.cookies: return HttpResponse("Your favorite color is %s" % \ request.cookies["favorite_color"]) else: return HttpResponse("You don't have a favorite color

34 Ustawianie ciasteczek def set_color(request): if "favorite_color" in request.get: response = HttpResponse("Your favorite color is now request.get["favorite_color"]) response.set_cookie("favorite_color", request.get["favorite_color"]) return response else: return HttpResponse("You didn't give a favorite colo

35 Werykacja ciasteczek def login(request): if request.method == 'POST': if request.session.test_cookie_worked(): request.session.delete_test_cookie() return HttpResponse("You're logged in.") else: return HttpResponse("Please enable cookies and t request.session.set_test_cookie() return render_to_response('foo/login_form.html')

36 Atrybuty ciasteczek max_age czas wa»no±ci w sekundach expires data wa»no±ci w formacie "Wdy, DD-Mth-YY HH:MM:SS GMT" path ±cie»ka domain domena wa»no±ci np..mimuw.edu.pl secure czy wolno przekazywa ciastko tylko po HTTPS

37 Sesje # Ustawianie: request.session["fav_color"] = "blue" # Odczyt fav_color = request.session["fav_color"] # Kasowanie del request.session["fav_color"] # Sprawdzanie if "fav_color" in request.session:...

38 Jak dziaªaj sesje S cz ±ci aplikacji django.contrib.sessions S zapisywane w bazie danych >>> from django.contrib.sessions.models import Session >>> s = Session.objects.get(pk='2b1189a188b44ad18c35e113ac6c >>> s.expire_date datetime.datetime(2005, 8, 20, 13, 35, 12)

39 Kiedy sesje s modykowane # Sesja jest modyfikowana request.session['foo'] = 'bar' # Sesja jest modyfikowana del request.session['foo'] # Sesja jest modyfikowana request.session['foo'] = {} # Sesja NIE jest modyfikowana bo zmienia si # request.session['foo'] a nie request.session. request.session['foo']['bar'] = 'baz'

40 Techniczne szczegóªy W sesji mo»na zapisa wszystko, co da si zapicklowa. Sesje przechowywane s w tabeli django_session. Dane odczytywane s na» danie Ciasteczko jest ustawiane tylko w przypadku takiej konieczno±ci. Sesje s oparte w caªo±ci na ciasteczkach, w przeciwie«stwie do PHP i JSP.

41 U»ytkownicy Users u»ytkownicy strony Permissions logiczne (tak/nie) uprawnienia do poszczególnych czynno±ci Groups nadawanie uprawnie«caªej grupie osób Messages wiadomo±ci dla u»ytkowników Proles rozszerzanie obiektów opisuj cych u»ytkowników

42 Jak dziaªaja mechanizm uprawnie«aplikacja django.contrib.auth if request.user.is_authenticated(): # Do something for authenticated users. else: # Do something for anonymous users.

43 U»ytkownik 1 username nazwa 30 znaków rst_name, last_name opcjonalne 30 znaków opcjonalny Password wymagane, przechowywany hash is_sta dost p do admin is_active aktywny, czy mo»e si logowa is_superuser ma wszystkie uprawnienia last_login kiedy si logowaª date_joined kiedy zaªo»one konto

44 U»ytkownik 2 is_authenticated() czy si zalogowaª is_anonymous() czy nie jest anonimowy get_full_name() imie, spacja, nazwisko set_password(passwd) ustawia hasªo check_password(passwd) sprawdza get_group_permissions() uprawnienia wynikaj ce z grup get_all_permissions() wszystkie uprawnienia. has_perm(perm) sprawdza uprawnienie

45 U»ytkownik 3 has_perms(perm_list) sprawdza wszystkie uprawnienia has_module_perms(app_label) sprawdza jakiekolwiek uprawnienie w aplikacji get_and_delete_messages() wiadomo±ci dla u»ytkownika _user(subj, msg) wysyªa get_prole() dodatkowe pola

46 Grupy i uprawnienia myuser.groups = group_list # ustawia myuser.groups.add(group1, group2,...) # dodaje myuser.groups.remove(group1, group2,...) # usuwa myuser.groups.clear() # usuwa z wszystkich grup # Uprawnienia podobnie myuser.permissions = permission_list myuser.permissions.add(permission1, permission2,...) myuser.permissions.remove(permission1, permission2,...) myuser.permissions.clear()

47 Logowanie from django.contrib import auth def login(request): username = request.post['username'] password = request.post['password'] user = auth.authenticate(username=username, password=password) if user is not None and user.is_active: auth.login(request, user) return HttpResponseRedirect("/account/loggedin/") else: return HttpResponseRedirect("/account/invalid/")

48 Wylogowanie from django.contrib import auth def logout(request): auth.logout(request) return HttpResponseRedirect("/account/loggedout/")

49 Szablon logowania {% block content %} {% if form.errors %} <p class="error">sorry, that's not a valid username or password</p> {% endif %} <form action='.' method='post'> <label for="username">user name:</label> <input type="text" name="username" value="" id="username <label for="password">password:</label> <input type="password" name="password" value="" id="password"> <input type="submit" value="login" /> <input type="hidden" name="next" value="{{ next escape }}" /

50 Co z niezalogowanym from django.http import HttpResponseRedirect def my_view(request): if not request.user.is_authenticated(): return HttpResponseRedirect('/login/?next=%s' % request.path) #... ==== from django.contrib.auth.decorators import def my_view(request): #...

Serwer WWW na przykªadzie Django cz.3

Serwer WWW na przykªadzie Django cz.3 Serwer WWW na przykªadzie Django cz.3 Krzysztof Ciebiera 20 kwietnia 2010 Krzysztof Ciebiera () Serwer WWW na przykªadzie Django cz.3 20 kwietnia 2010 1 / 34 1 Formularze 2 Ciasteczka 3 Sesje 4 U»ytkownicy

Bardziej szczegółowo

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Środowisko Django, cz. 2 12 stycznia 2018 Plan wykładu 1 2 Trochę teorii Obsługa żądań GET Obiekty formularzowe 3 Zarządzanie sesjami Polonizacja 4 Testy jednostkowe Symulowanie klienta Plan wykładu 1

Bardziej szczegółowo

Laboratorium 2. def detail(request, question_id): return HttpResponse("Patrzysz na pytanie %s." % question_id)

Laboratorium 2. def detail(request, question_id): return HttpResponse(Patrzysz na pytanie %s. % question_id) Laboratorium 2 1. Tworzenie widoków dla użytkownika. nazwa_aplikacji/views.py def detail(request, question_id): return HttpResponse("Patrzysz na pytanie %s." % question_id) def results(request, question_id):

Bardziej szczegółowo

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Środowisko Django, cz. 3 19 stycznia 2018 Plan wykładu 1 2 Konstrukcja formularzy Walidacja i zapis 3 Ograniczenie dostępu 4 Plan wykładu 1 2 Konstrukcja formularzy Walidacja i zapis 3 Ograniczenie dostępu

Bardziej szczegółowo

Aplikacje WWW. Krzysztof Ciebiera. 3 kwietnia 2014

Aplikacje WWW. Krzysztof Ciebiera. 3 kwietnia 2014 Aplikacje WWW Krzysztof Ciebiera 3 kwietnia 2014 Bezpieczeństwo Clickjacking CSRF Cross site scripting (XSS) Migracje ContentType Tłumaczenia Testowanie - RequestFactory Clickjacking Użytkownik odwiedza

Bardziej szczegółowo

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1

Przykład programu w PHP. Wykład10.PHP ciągdalszy,str.1 Przykład programu w PHP Wykład10.PHP ciągdalszy,str.1 Przykład programu w PHP Wykład10.PHP ciągdalszy,str.1 Przeliczanie dnia roku na dzień i miesiąc: function jaka data($dni) {... Przykład programu w

Bardziej szczegółowo

Chatter Aplikacja internetowa

Chatter Aplikacja internetowa - 1 - Chatter Aplikacja internetowa Opis: Zastosowanie Pythona i frameworka Django (wersja 1.6.5) do stworzenia aplikacji internetowej Chatter; prostego czata, w którym zarejestrowani użytkownicy będą

Bardziej szczegółowo

Wprowadzenie do Internetu Zajęcia 5

Wprowadzenie do Internetu Zajęcia 5 Zajęcia 5 Formularze w PHP Przekazywanie danych ze strony do skryptu PHP Dane ze strony WWW do skryptu PHP można przekazać za pomocą formularzy. W tym celu należy stworzyć formularz (znacznik ),

Bardziej szczegółowo

pawel.rajba@gmail.com, http://kursy24.eu/

pawel.rajba@gmail.com, http://kursy24.eu/ pawel.rajba@gmail.com, http://kursy24.eu/ Wprowadzenie, struktura Podstawy Twig Adres i nawigacja Request, Response i parametry Ciasta, sesje i flash messages Model i baza danych Formularze Security Ilustracje

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Środowisko Django początki 10 stycznia 2014 Plan wykładu 1 2 Plan wykładu 1 2 Co to jest Django Oparty o Pythona framework do tworzenia aplikacji internetowych. Co to jest Django Oparty o Pythona framework

Bardziej szczegółowo

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Systemy internetowe. Wykład 3 PHP. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science Systemy internetowe Wykład 3 PHP PHP - cechy PHP (Hypertext Preprocessor) bardzo łatwy do opanowania, prosta składnia, obsługuje wymianę danych z różnymi systemami baz danych pozwala na dynamiczne generowanie

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 7 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Sesje i stan aplikacji w kategorii czasu okres

Bardziej szczegółowo

Baza danych do przechowywania użytkowników

Baza danych do przechowywania użytkowników System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Testy aplikacji webowych

Testy aplikacji webowych Testy aplikacji webowych 13 kwietnia 2016 Testy aplikacji webowych 13 kwietnia 2016 1 / 26 1 Ogólnie 2 Django Baza danych Widoki Zaawansowane 3 Selenium 4 Testy wydajno±ciowe 5 Test Driven Developement

Bardziej szczegółowo

EPI: Interfejs Graczny 2008/2009 dania HTTP oraz obsªuga stanu

EPI: Interfejs Graczny 2008/2009 dania HTTP oraz obsªuga stanu EPI: Interfejs Graczny 2008/2009 dania HTTP oraz obsªuga stanu Agnieszka Figiel, Aleksander Pohl 6 stycznia 2009 GET oraz POST ró»nica techniczna: tre±» dania GET jest zakodowane w URL-u tre±» dania POST

Bardziej szczegółowo

Systemy internetowe Wykład 3 PHP

Systemy internetowe Wykład 3 PHP Systemy internetowe Wykład 3 PHP PHP - cechy PHP (Hypertext Preprocessor) bardzo łatwy do opanowania, prosta składnia, obsługuje wymianę danych z różnymi systemami baz danych pozwala na dynamiczne generowanie

Bardziej szczegółowo

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI SPIS TREŚCI 1.Dwie metody przekazu danych do serwera 2 2.Metoda GET przykład 3 3.Metoda POST przykład 4 4.Kiedy GET a kiedy POST 5 5.Szablony po co je stosować 7 6.Realizacja szablonu własną funkcją 8

Bardziej szczegółowo

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Środowisko Django początki 5 stycznia 2018 Plan wykładu 1 2 Plan wykładu 1 2 Co to jest Django Oparty o Pythona framework do tworzenia aplikacji internetowych. Co to jest Django Oparty o Pythona framework

Bardziej szczegółowo

Quiz Aplikacja internetowa

Quiz Aplikacja internetowa - 1 - Quiz Aplikacja internetowa Opis: Realizacja aplikacji internetowej Quiz w oparciu o Python i framework Flask (wersja 0.10.1). Autorzy: Tomasz Nowacki, Robert Bednarz Czas realizacji: 90 min Poziom

Bardziej szczegółowo

Dokumentacja smsapi wersja 1.4

Dokumentacja smsapi wersja 1.4 Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację

Bardziej szczegółowo

Szablon główny (plik guestbook.php) będzie miał postać:

Szablon główny (plik guestbook.php) będzie miał postać: Skrypt: Księga gości Skrypt generujący księgę gości będzie się składał z trzech części: szablonu głównego, który należy zapisać pod nazwą guestbook.php, formularza służącego do dodawania wpisów, który

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy danych Wykład 7 Paweł Gmys Interfejs uŝytkownika C++ JAVA PERL PHP 2006-05-14 Paweł Gmys wykład 8 2 Czym są skrypty PHP? Programy umieszczane w treści stron WWW. Wykonywane przez serwer

Bardziej szczegółowo

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I

Zaawansowane bazy danych i hurtownie danych studia zaoczne II stopnia, sem. I Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych MySQL studia zaoczne II stopnia, sem. I Plan wykładu 1. MySQL: funkcje, procedury, wyzwalacze 2. HTML : tworzenie

Bardziej szczegółowo

Laboratorium 1 Wprowadzenie do PHP

Laboratorium 1 Wprowadzenie do PHP Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,

Bardziej szczegółowo

Modele. Najcz. Metoda unicode definiuje sposób wyświetlania obiektu w postaci tekstowej. BooleanField - pole logiczne, True/False

Modele. Najcz. Metoda unicode definiuje sposób wyświetlania obiektu w postaci tekstowej. BooleanField - pole logiczne, True/False Ściaga z Django Modele 1 from django.db import models from django.contrib.auth.models import User 4 class Story(models.Model): 5 title = models.charfield(max_length=100, null=false, blank=false) 6 description

Bardziej szczegółowo

MVC w praktyce tworzymy system artykułów. cz. 2

MVC w praktyce tworzymy system artykułów. cz. 2 MVC w praktyce tworzymy system artykułów. cz. 2 W drugiej części artykułu o wzorcu MVC stworzymy część skryptu, odpowiedzialną za obsługę kategorii. Tworzymy kontroler kategorii Na początek stwórzmy plik

Bardziej szczegółowo

Przykładowa integracja systemu Transferuj.pl

Przykładowa integracja systemu Transferuj.pl Krajowy Integrator Płatności Spółka Akcyjna z siedzibą w Poznaniu, przy ul. Św. Marcin 73/6, wpisana do rejestru przedsiębiorców Krajowego Rejestru Sądowego prowadzonego przez Sąd Rejonowy Poznań Nowe

Bardziej szczegółowo

Szkielety tworzenia aplikacji. Dr inż. Andrzej Grosser

Szkielety tworzenia aplikacji. Dr inż. Andrzej Grosser Szkielety tworzenia aplikacji Dr inż. Andrzej Grosser 2017 2 Spis treści 1. Podstawy Django 5 1.1. Instalacja Django................................ 5 1.2. Tworzenie projektu...............................

Bardziej szczegółowo

Laboratorium Kierunki Rozwoju oprogramowania REST, Django

Laboratorium Kierunki Rozwoju oprogramowania REST, Django Laboratorium Kierunki Rozwoju oprogramowania REST, Django 1. Instalacja oprogramowania: sudo apt-add-repository universe && sudo apt-get upgrade sudo apt-get install python-pip -y sudo pip2 install django==1.9.2

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe CherryPy, Genshi Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk(Wydział Fizyki) PO w. IX Jesień 2016 1 / 20 Aplikacje webowe Podejście standardowe Serwer (np.

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego

Bardziej szczegółowo

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF O mnie 12 lat doświadczenia w systemach WEB Java/JEE (ISC) 2 CISSP CTO w J-LABS GET / HTTP/1.1 Host: bank.pl User-Agent: Mozilla/5.0

Bardziej szczegółowo

Programowanie w Internecie

Programowanie w Internecie mariusz@math.uwb.edu.pl http://math.uwb.edu.pl/~mariusz Uniwersytet w Białymstoku 2018/2019 Serwer HTTP Najbardziej popularne serwery HTTP: Apache nginx Microsoft IIS Lite Speed GWS Google Statystyki Netcraft:

Bardziej szczegółowo

Dokumentacja. Realizacja w portalu kalkulatora simple. (dane wprowadzane z klawiatury).

Dokumentacja. Realizacja w portalu kalkulatora simple. (dane wprowadzane z klawiatury). Dokumentacja Realizacja w portalu kalkulatora simple (dane wprowadzane z klawiatury). Krzysztof Opalski Spis treści I Ogólne informacje o kalkulatorze 2 1 Struktura projektu 2 2 Schemat działania kalkulatora

Bardziej szczegółowo

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP Zad. 1 Dla każdego zamówienia wyznaczyć jego wartość. Należy podać numer zamówienia oraz wartość. select z.id_zamowienia, sum(ilosc*cena) as wartosc

Bardziej szczegółowo

Serwery aplikacji. dr Radosław Matusik. radmat

Serwery aplikacji. dr Radosław Matusik.   radmat www.math.uni.lodz.pl/ radmat Ciasteczka trwałe i sesyjne Ciasteczka trwałe - pozostają na komputerze użytkownika po zamknięciu strony, z której zostały pobrane / przeglądarki. Ciasteczka sesyjne - są związane

Bardziej szczegółowo

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2

Zajęcia 13 wykorzystanie MySQL w PHP cz. 2 Zajęcia 13 wykorzystanie MySQL w PHP cz. 2 Przykład 1 wyświetlanie danych [ Plik wyswietlanie.php ] $polaczenie = mysql_connect("localhost", "root", "") or die("nie mozna polaczyc z baza!"); mysql_select_db("test",

Bardziej szczegółowo

Lista ToDo Aplikacja internetowa

Lista ToDo Aplikacja internetowa - 1 - Lista ToDo Aplikacja internetowa Opis: Realizacja prostej listy ToDo (lista zadań do zrobienia), jako aplikacji internetowej, z wykorzystaniem Pythona i frameworka Flask w wersji 0.10.1. Autorzy:

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Aplikacje internetowe - laboratorium

Aplikacje internetowe - laboratorium Aplikacje internetowe - laboratorium PHP Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej opartej o język PHP. Aplikacja ilustruje takie mechanizmy jak: obsługa formularzy oraz obsługa

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Serwer WWW na przykªadzie Django cz.1

Serwer WWW na przykªadzie Django cz.1 Serwer WWW na przykªadzie Django cz.1 Krzysztof Ciebiera 13 marca 2014 Krzysztof Ciebiera Serwer WWW na przykªadzie Django cz.1 13 marca 2014 1 / 37 1 Historia CGI PHP klasyczne 2 Wzorzec MVC Intuicja

Bardziej szczegółowo

Przykładowa integracja systemu tpay.com KIP S.A. ul. Św. Marcin 73/ Poznań.

Przykładowa integracja systemu tpay.com KIP S.A. ul. Św. Marcin 73/ Poznań. KIP S.A. ul. Św. Marcin 73/6 61-808 Poznań www.kipsa.pl www.tpay.com 1 Przesyłanie parametrów transakcji Poniżej przedstawiono kod przykładowej strony HTML, której zadaniem jest przekierowanie klienta

Bardziej szczegółowo

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Uwierzytelnianie użytkowników, Obiekt session, Silniki

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Języki programowania wysokiego poziomu. PHP cz.3. Formularze Języki programowania wysokiego poziomu PHP cz.3. Formularze Formularze Sposób przesyłania danych formularza do serwera zależy od wybranej metody HTTP: Metoda GET

Bardziej szczegółowo

Programowanie internetowe

Programowanie internetowe Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML

Bardziej szczegółowo

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz

Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Realizacja Aplikacji Internetowych 2013 laboratorium cz. 2 K.M. Ocetkiewicz Walidacja po stronie klienta: - w MVC 3 i 4 domyślnie jest włączona także walidacja po stronie klienta - wykorzystuje ona JavaScript

Bardziej szczegółowo

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków.

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków. Igor Wojnicki (AGH, KIS) PHP 23 października 2016 1 / 29 NoSQL Not Only SQL: CouchDB Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków. Igor Wojnicki Katedra Informatyki Stosowanej,

Bardziej szczegółowo

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ

HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ HTTP W 5-CIU PYTANIACH MICHAŁ KOPACZ 1 Co się dzieje po wpisaniu URL w przeglądarce? https://github.com/michalkopacz/zf-apigility/commits?page=4#start-of-content Uniform Resource Locator (ujednolicony

Bardziej szczegółowo

Formularze. 1. Formularz HTML

Formularze. 1. Formularz HTML Formularze. 1. Formularz HTML Formularz HTML definiujemy stosując element FORM. Wewnątrz, po między znacznikami oraz umieszczamy zawartość formularza, na którą składają się kontrolki (np. INPUT)

Bardziej szczegółowo

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia

Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia Dane - pobieranie, przekazywanie i przechowywanie dr Beata Kuźmińska-Sołśnia Definicja funkcji function nazwa (lista parametrów) { blok instrukcji Użycie instrukcji return wartość kończy działanie funkcji

Bardziej szczegółowo

SIECI KOMPUTEROWE I BAZY DANYCH

SIECI KOMPUTEROWE I BAZY DANYCH Akademia Górniczo-Hutnicza Wydział Inżynierii Mechanicznej i Robotyki Katedra Robotyki i Dynamiki Maszyn SIECI KOMPUTEROWE I BAZY DANYCH ĆWICZENIE NR 10 Temat: INTERFEJS SYSTEMU BAZODANOWEGO W PHP. BUDOWA

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości

Bardziej szczegółowo

Sieci Komputerowe. Laboratorium 5 - usługi sieciowe cz. 1 Maciej Szymański 28 kwietnia 2014

Sieci Komputerowe. Laboratorium 5 - usługi sieciowe cz. 1 Maciej Szymański 28 kwietnia 2014 Sieci Komputerowe Laboratorium 5 - usługi sieciowe cz. 1 Maciej Szymański 28 kwietnia 2014 1. SSH SSH (Secure Shell) jest protokołem umożliwiającym zdalną pracę terminalową oraz transfer plików. Zapewnia

Bardziej szczegółowo

The OWASP Foundation http://www.owasp.org. Session Management. Sławomir Rozbicki. slawek@rozbicki.eu

The OWASP Foundation http://www.owasp.org. Session Management. Sławomir Rozbicki. slawek@rozbicki.eu The OWASP Foundation http://www.owasp.org Session Management Sławomir Rozbicki slawek@rozbicki.eu 28-07-2011 OWASP TOP 10 A1: Injection A2: Cross-Site Scripting (XSS) A3: Broken Authentication and Session

Bardziej szczegółowo

Studium Podyplomowe Aplikacje i Us ugi Internetowe Tworzenie witryn internetowych 2012/2013. CakePHP część II

Studium Podyplomowe Aplikacje i Us ugi Internetowe Tworzenie witryn internetowych 2012/2013. CakePHP część II 1. Dodatkowe elementy aplikacji CakePHP część II Przygotowany w poprzedniej części projekt prezentuje podstawowe elementy aplikacji opartej o CakePHP takie jak: klasy modelu, kontrolery, widoki. W tej

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

Czysta architektura (nawet z Django!) Sebas an PyWaw 72

Czysta architektura (nawet z Django!) Sebas an PyWaw 72 Czysta Architektura (nawet z Django!) Sebastian Buczyński @ PyWaw 15.01.2018 Domain Driven Design Łukasz Balcerzak @ PyWaw 64 Event Sourcing w aplikacjach opartych o framework Django Wojtek Erbetowski

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /

Bardziej szczegółowo

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW.

Na początku utworzymy formularz w czystym języku HTML i przetestujemy go za pomocą przeglądarki WWW. Tematy: Przygotowanie formularza Przesyłanie danych przez formularz Mechanizm PostBack W rozdziale 1. pojawiła się prosta definicja strony WWW definicja ta określiła dynamiczną stronę WWW jako stronę,

Bardziej szczegółowo

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Protokół HTTP. 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Protokół HTTP 1. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Usługi WWW WWW (World Wide Web) jest najpopularniejszym sposobem udostępniania

Bardziej szczegółowo

Podstawowe wykorzystanie Hibernate

Podstawowe wykorzystanie Hibernate Podstawowe wykorzystanie Hibernate Cel Wykonanie prostej aplikacji webowej przedstawiającą wykorzystanie biblioteki. Aplikacja sprawdza w zależności od wybranej metody dodaje, nową pozycje do bazy, zmienia

Bardziej szczegółowo

OPT Open Power Template. System szablonów OPT. Przykładowy skrypt oraz szablon OPT OPT API

OPT Open Power Template. System szablonów OPT. Przykładowy skrypt oraz szablon OPT OPT API OPT Open Power Template System szablonów OPT System szablonów PHP5 Niektóre możliwości: Cache Nagłówki HTTP oraz kompresja Rozszerzalność Struktury kontrolne Wysokopoziomowe struktury Ułatwienia Wysoka

Bardziej szczegółowo

Programowanie w Ruby

Programowanie w Ruby Programowanie w Ruby Wykład 13 Marcin Młotkowski 16 stycznia 2013 Plan wykładu Testowanie aplikacji w Ruby on Rails Testowanie modeli Testy funkcjonalne: testowanie kontrolerów Testy integracyjne Testowanie

Bardziej szczegółowo

Formularze w PHP dla początkujących

Formularze w PHP dla początkujących Instrukcja numer 07 Formularze w PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Bazy danych w PHP dla początkujących Formularze stworzone w HTML mogą służyć jako metoda pobierania informacji

Bardziej szczegółowo

Aplikacje www laboratorium

Aplikacje www laboratorium Aplikacje www laboratorium Konfigurowanie zabezpieczeń w oparciu o JAAS w serwerze GlassFish Zabezpieczanie aplikacji webowych z wykorzystaniem JASS jest w podstawowych zastosowaniach procesem dwuetapowym.

Bardziej szczegółowo

Aplikacje internetowe

Aplikacje internetowe Laboratorium 6 ZAKŁAD SYSTEMÓW ROZPROSZONYCH LABORATORIUM Aplikacje internetowe PHP + MySQL + biblioteka GD 1. Sprawdź czy istnieją pliki z poprzedniego laboratorium: cw_2.php, cw_3.php i cw_4.php. Przypomnij

Bardziej szczegółowo

Rejestracja i Logowania - PHP/MySQL

Rejestracja i Logowania - PHP/MySQL Artykuł pobrano ze strony eioba.pl Rejestracja i Logowania - PHP/MySQL Opis skryptu służącego do rejestrowania oraz logowania się użytkowników z użyciem bazy danych. Aby w pełni zrozumieć poniższy artykuł

Bardziej szczegółowo

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX.

Plan wykładu. 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. Plan wykładu 1. Protokół FTP. 2. Protokół HTTP, usługi www, model request-response (żądanie-odpowiedź), przekazywanie argumentów, AJAX. 1 Protokół FTP Protokół FTP (File Transfer Protocol) [RFC 959] umożliwia

Bardziej szczegółowo

prepared by: Programowanie WWW Servlety

prepared by: Programowanie WWW Servlety Programowanie WWW Servlety Przypomnienie problemu Aplikacja do liczenia kredytów Klasa Kredyt Formatka do wprowadzania danych (czysty HTML) Skrypt liczący ratę (JSP wykorzystujące klasę Kredyt) Klasa Kredyt

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 1. Servlety

Architektury Usług Internetowych. Laboratorium 1. Servlety Architektury Usług Internetowych Laboratorium 1. Servlety Wstęp Celem laboratorium jest zapoznanie się z modelem klient-serwer (żądanie-odpowiedź) na przykładzie serwletów. Kontener webowy Kontener webowy

Bardziej szczegółowo

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty MeetingHelper Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania Instrukcja obsługi dla programisty W tej części został zawarty opis uruchamiania projektu programistycznego,

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Język PHP Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) BDiUS w. VIII Jesień 2013 1 / 43 Plan wykładu 1 Język PHP 2 Składnia PHP 3 Dostęp do bazy danych

Bardziej szczegółowo

Modele danych walidacja widoki zorientowane na model

Modele danych walidacja widoki zorientowane na model Modele danych walidacja widoki zorientowane na model 1. Wprowadzenie Modele danych Modele danych w ASP.NET MVC to klasy znajdujące się w katalogu Models. Ich zadaniem jest mapowanie danych przesyłanych

Bardziej szczegółowo

INSTALACJA I KONFIGURACJA SERWERA PHP.

INSTALACJA I KONFIGURACJA SERWERA PHP. LABORATORIUM 0 INSTALACJA I KONFIGURACJA SERWERA PHP. W celu poprawnego wykonywania zadań na laboratorium konieczne jest zainstalowanie na komputerze wyposażonym w system operacyjny Windows następujących

Bardziej szczegółowo

SSK - Techniki Internetowe

SSK - Techniki Internetowe SSK - Techniki Internetowe Ćwiczenie 2. Obsługa formularzy. Operatory, instrukcje warunkowe oraz instrukcje pętli w PHP. Obsługa formularzy Skryptu PHP moŝna uŝyć do obsługi formularza HTML. Aby tego dokonać,

Bardziej szczegółowo

Laboratorium 6 Tworzenie bloga w Zend Framework

Laboratorium 6 Tworzenie bloga w Zend Framework Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy

Bardziej szczegółowo

BRAMKA HTTP SMS XML Dokumentacja techniczna. wersja 3.32

BRAMKA HTTP SMS XML Dokumentacja techniczna. wersja 3.32 BRAMKA HTTP SMS XML Dokumentacja techniczna wersja 3.32 autor: Michał Jastrzębski ostatnia aktualizacja : 27.05.2015 Historia zmian Data Osoba Opis zmian 2006-12-01 Marcin Mańk Pierwsza wersja 2007-08-20

Bardziej szczegółowo

14. POZOSTAŁE CIEKAWE FUNKCJE

14. POZOSTAŁE CIEKAWE FUNKCJE 14. POZOSTAŁE CIEKAWE FUNKCJE Funkcji jest cała masa, których nie poruszono w tym kursie. Bardziej ciekawe postaram się właśnie w tej lekcji omówić. Na pewno wielu z Was, czeka z niecierpliwością na funkcję

Bardziej szczegółowo

Technologie internetowe ASP.NET Core. Paweł Rajba

Technologie internetowe ASP.NET Core. Paweł Rajba Technologie internetowe ASP.NET Core Paweł Rajba pawel@cs.uni.wroc.pl http://itcourses.eu/ Plan wykładu Wprowadzenie Podstawowa aplikacja Usługi i middleware Obsługa błędów Request, Response, ciastka i

Bardziej szczegółowo

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp

Bardziej szczegółowo

SMS Kod Automatyczny

SMS Kod Automatyczny Dokumentacja 1.0.0 SMS Kod Automatyczny Dokumentacja dla SMS Kod Automatyczny CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48 032 764-18-40 Infolinia: 0

Bardziej szczegółowo

Michał Bielecki, KNI 'BIOS'

Michał Bielecki, KNI 'BIOS' Michał Bielecki, KNI 'BIOS' PHP czyli język typu client side 1. przeglądarka www żąda dokumentu o rozszerzeniu.php 2. serwer odbiera żądanie i przesyła do parsera php 3. parser php znajduje żądany plik

Bardziej szczegółowo

Ćwiczenie laboratoryjne. Komunikacja z serwerem w języku PHP

Ćwiczenie laboratoryjne. Komunikacja z serwerem w języku PHP Ćwiczenie laboratoryjne Tematy ćwiczenia przesyłanie na serwer danych i plików, odnośniki. ciasteczka (cookies), sesja. Komunikacja z serwerem w języku PHP Sprawozdanie Na każdym zajęciu laboratoryjnym

Bardziej szczegółowo

AUDYT DOSTĘPNOŚCI STRONY INTERNETOWEJ

AUDYT DOSTĘPNOŚCI STRONY INTERNETOWEJ Poznań, 2012-10-04 AUDYT DOSTĘPNOŚCI STRONY INTERNETOWEJ NAZWA ADRES STRONY ILOŚĆ BŁĘDÓW WCAG 33 ILOŚĆ OSTRZEŻEŃ WCAG 3 TYP DOKUMENTU UŻYTY FORMAT (X)HTML JĘZYK OWANIE STRONY Urząd Marszałkowski Województwa

Bardziej szczegółowo

KUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA I ROLE UŻYTKOWNIKÓW

KUP KSIĄŻKĘ NA:   PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA I ROLE UŻYTKOWNIKÓW KUP KSIĄŻKĘ NA: WWW.PRAKTYCZNEPHP.PL PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA I ROLE UŻYTKOWNIKÓW KOMUNIKATY DLA UŻYTKOWNIKA W większości aplikacji potrzebujesz mieć możliwość powiadomienia użytkownika

Bardziej szczegółowo

Infrastruktura aplikacji WWW

Infrastruktura aplikacji WWW ASP.NET WebForms Infrastruktura aplikacji WWW Gotowe rozwiązania architektoniczne i szkielety aplikacji zwalniają twórców aplikacji z implementacji infrastruktury, zwiększając ich produktywność Stanowy,

Bardziej szczegółowo

Testowanie aplikacji. Kurs języka Ruby

Testowanie aplikacji. Kurs języka Ruby Testowanie aplikacji Kurs języka Ruby Rodzaje testów Testy jednostkowe Testy funkcjonalne Testy integracyjne Testy jednostkowe (unit tests) Testy sprawdzające pojedyncze funkcjonalności (metodę, funkcję

Bardziej szczegółowo

Podstawy JavaScript ćwiczenia

Podstawy JavaScript ćwiczenia Podstawy JavaScript ćwiczenia Kontekst:

Bardziej szczegółowo

KUP KSIĄŻKĘ NA: PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA

KUP KSIĄŻKĘ NA:   PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA KUP KSIĄŻKĘ NA: WWW.PRAKTYCZNEPHP.PL PRZYKŁADOWY ROZDZIAŁ KOMUNIKATY DLA UŻYTKOWNIKA KOMUNIKATY DLA UŻYTKOWNIKA W większości aplikacji potrzebujesz mieć możliwość powiadomienia użytkownika o rezultacie

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne Technologie Informacyjne Wykªad 6 Paweª Witkowski MIM UW Wiosna 2013 P. Witkowski (MIM UW) Technologie Informacyjne Wiosna 2013 1 / 18 HTML HyperText Markup Language J zyk oparty na znacznikach Opisuje

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium PHP. Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, obsługa formularzy oraz zmiennych

Bardziej szczegółowo

media Blitz wydajne sytemy szablonów

media Blitz wydajne sytemy szablonów Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki

Bardziej szczegółowo

TECHNOLOGIE SIECI WEB

TECHNOLOGIE SIECI WEB TECHNOLOGIE SIECI WEB Prowadzący: dr inż. Jan Prokop, e-mail: jprokop@prz.edu.pl, Politechnika Rzeszowska, Wydział Elektrotechniki i Informatyki LABORATORIUM ĆWICZENIE nr 8 Temat: Podstawy technologii

Bardziej szczegółowo