<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=ITV0110_4._t%C3%B6%C3%B6_2018%3A_andmebaasiga_serverirakendus</id>
	<title>ITV0110 4. töö 2018: andmebaasiga serverirakendus - Redigeerimiste ajalugu</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/index.php?action=history&amp;feed=atom&amp;title=ITV0110_4._t%C3%B6%C3%B6_2018%3A_andmebaasiga_serverirakendus"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;action=history"/>
	<updated>2026-10-28T16:37:20Z</updated>
	<subtitle>Selle lehekülje redigeerimiste ajalugu</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15178&amp;oldid=prev</id>
		<title>Martinv: /* Abi ja soovitusi */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15178&amp;oldid=prev"/>
		<updated>2018-12-12T10:39:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Abi ja soovitusi&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 12. detsember 2018, kell 12:39&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;43. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;43. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esiteks: tutvu PHP ja SQL materjalidega, kas kursuse esilehelt või koopiana siitsamast:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esiteks: tutvu PHP ja SQL materjalidega, kas kursuse esilehelt või koopiana siitsamast:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[Vorgurakendused 1 SQL naited loengust]]. Siin on juhend kuidas &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;seda kasutaja &lt;/del&gt;Dijkstra serveris  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[Vorgurakendused 1 SQL naited loengust]]. Siin on juhend kuidas &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Mysqli kasutada &lt;/ins&gt;Dijkstra serveris  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[lihtsaid php ja mysql näiteid]] loengust.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[lihtsaid php ja mysql näiteid]] loengust.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key lambdadb:diff:1.41:old-15104:rev-15178:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Martinv</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15104&amp;oldid=prev</id>
		<title>Martinv: /* Abi ja soovitusi */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15104&amp;oldid=prev"/>
		<updated>2018-12-04T14:34:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Abi ja soovitusi&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 4. detsember 2018, kell 16:34&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;43. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;43. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esiteks: tutvu PHP ja SQL materjalidega, kas kursuse esilehelt või koopiana siitsamast:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esiteks: tutvu PHP ja SQL materjalidega, kas kursuse esilehelt või koopiana siitsamast:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[Vorgurakendused 1 SQL naited loengust]].  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[Vorgurakendused 1 SQL naited loengust]]. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Siin on juhend kuidas seda kasutaja Dijkstra serveris &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[lihtsaid php ja mysql näiteid]] loengust.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vaata [[lihtsaid php ja mysql näiteid]] loengust.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martinv</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15055&amp;oldid=prev</id>
		<title>Martinv: /* Veel ideid ja näpunäiteid */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15055&amp;oldid=prev"/>
		<updated>2018-11-21T10:51:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Veel ideid ja näpunäiteid&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 21. november 2018, kell 12:51&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l169&quot;&gt;169. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;169. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Veel ideid ja näpunäiteid ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Veel ideid ja näpunäiteid ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Kõige lihtsam on teha kogu rakendus üheainsa php failina. Keerulisemate programmide puhul ei ole see hea mõte, meie lihtsal juhul aga on päris mugav. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kui tahad siiski oma php faili struktureerida (näiteks hoida eraldi failis päis ja jalus) siis selleks on php [http://php.net/manual/en/function.include.php include] käsk.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kui tahad siiski oma php faili struktureerida (näiteks hoida eraldi failis päis ja jalus) siis selleks on php [http://php.net/manual/en/function.include.php include] käsk.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Erinevad tegevused (a la sisse/väljalogimine foto lisamine, fotode otsimine) saad realiseerida nii, et php lehel vaadatakse, mis argumendid on antud (näiteks fotod.php?username=xx&amp;amp;password=yy peale tehakse sisse logimine, fotof.php?op=logout peale väljalogimine jne). Alati on võimalik võtta ka kasutusele eraldi parameeter, ntx op, mille väärtus ütleb siis, et mis tegevus tuleb ette võtta.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Erinevad tegevused (a la sisse/väljalogimine foto lisamine, fotode otsimine) saad realiseerida nii, et php lehel vaadatakse, mis argumendid on antud (näiteks fotod.php?username=xx&amp;amp;password=yy peale tehakse sisse logimine, fotof.php?op=logout peale väljalogimine jne). Alati on võimalik võtta ka kasutusele eraldi parameeter, ntx op, mille väärtus ütleb siis, et mis tegevus tuleb ette võtta.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martinv</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15013&amp;oldid=prev</id>
		<title>Martinv: /* Hindamine, kohustuslikud ja mittekohustuslikud osad */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=15013&amp;oldid=prev"/>
		<updated>2018-11-14T14:30:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Hindamine, kohustuslikud ja mittekohustuslikud osad&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 14. november 2018, kell 16:30&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;18. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;18. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Saad kirjutada ühe teksti endast.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Saad kirjutada ühe teksti endast.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kõik kasutajad näevad kõiki teisi - fotot ja teksti - aga esialgu ainult ühte korraga: pilti ja teksti, ning ainult vastassoo omasid. Selle juures on &amp;quot;like&amp;quot; ja &amp;quot;nope&amp;quot; nupud. Kui vajutad ühe või teise, saad järgmist kasutajat näha jne.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kõik kasutajad näevad kõiki teisi - fotot ja teksti - aga esialgu ainult ühte korraga: pilti ja teksti, ning ainult vastassoo omasid. Selle juures on &amp;quot;like&amp;quot; ja &amp;quot;nope&amp;quot; nupud. Kui vajutad ühe või teise, saad järgmist kasutajat näha jne.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Kui kaks kasutajat kumbki vajutab teise kohta &quot;like&quot;, siis näevad kumbki, et nad on üksteist like&#039;nud. Vastasel korral infot selle kohta, kes sind like&#039;s või nope&#039;s pole. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Elementaarsed turvanõuded peavad olema täidetud:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Elementaarsed turvanõuded peavad olema täidetud:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;26. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;27. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;b&amp;gt;Soovitavad osad&amp;lt;/b&amp;gt;, mis annavad lisaks baaspunktidele veel kuni 6 punkti:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;b&amp;gt;Soovitavad osad&amp;lt;/b&amp;gt;, mis annavad lisaks baaspunktidele veel kuni 6 punkti:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Kui kaks kasutajat kumbki vajutab teise kohta &quot;like&quot;, siis näevad kumbki, et nad on üksteist like&#039;nud. Vastasel korral infot selle kohta, kes sind like&#039;s või nope&#039;s pole. 2 punkti.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kui kaks kasutajat on üksteist like&#039;nud, siis nad saavad saata läbi rakendusele üksteisele sõnumeid: kirjutad teksti ja seepeale teine näeb, kes ja mis teksti on kirjutanud. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2 &lt;/del&gt;punkti, eeldab, et eelmine alamülesanne on tehtud.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Kui kaks kasutajat on üksteist like&#039;nud, siis nad saavad saata läbi rakendusele üksteisele sõnumeid: kirjutad teksti ja seepeale teine näeb, kes ja mis teksti on kirjutanud. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3 &lt;/ins&gt;punkti, eeldab, et eelmine alamülesanne on tehtud.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Saad seadistada, kui kaugel asuvate kasutajate pilte veel kuvatakse, ning brauseris sisselogimisel brauser salvestab sinu hetkeasukoha hinnangu andmebaasi - see on sinu asukoht antud sessiooni jaoks - ja kuvamisel kasutatakse seda seadistust otsustamaks, kas pilti kuvada või ei. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2 &lt;/del&gt;punkti, eeldab, et eelmised alamülesanded on tehtud.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Saad seadistada, kui kaugel asuvate kasutajate pilte veel kuvatakse, ning brauseris sisselogimisel brauser salvestab sinu hetkeasukoha hinnangu andmebaasi - see on sinu asukoht antud sessiooni jaoks - ja kuvamisel kasutatakse seda seadistust otsustamaks, kas pilti kuvada või ei. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;3 &lt;/ins&gt;punkti, eeldab, et eelmised alamülesanded on tehtud.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lisaks neile funktsionaalsustele võib ehitada juurde muid huvitavaid mittetriviaalseid funktsionaalsusi, mis annavad piisavalt hästi tegemise korral siis samuti veidi lisapunkte.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Lisaks neile funktsionaalsustele võib ehitada juurde muid huvitavaid mittetriviaalseid funktsionaalsusi, mis annavad piisavalt hästi tegemise korral siis samuti veidi lisapunkte.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martinv</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=14961&amp;oldid=prev</id>
		<title>Martinv: /* Debugimine */</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=14961&amp;oldid=prev"/>
		<updated>2018-11-06T19:58:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Debugimine&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;et&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←Vanem redaktsioon&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Redaktsioon: 6. november 2018, kell 21:58&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l49&quot;&gt;49. rida:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;49. rida:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dijkstra php konf on selline, et php vigade korral kuvatakse neid välja veebilehel, vaata näiteks http://dijkstra.cs.ttu.ee/~tammet/t2.php&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Dijkstra php konf on selline, et php vigade korral kuvatakse neid välja veebilehel, vaata näiteks http://dijkstra.cs.ttu.ee/~tammet/t2.php&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vajadusel kasuta - lisaks eelnevale - oma proges trükkimiseks echo käsku, et tuvastada, kus täpselt ja mis muutujate väärtuste korral viga tekib.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Vajadusel kasuta - lisaks eelnevale - oma proges trükkimiseks echo käsku, et tuvastada, kus täpselt ja mis muutujate väärtuste korral viga tekib.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Alternatiivina (mida enam ilmselt vaja ei lähe) saan endiselt teha nii, et logid dijkstrasse sisse ja ütled käsurealt&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;php myprog.php&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ja siis kuvatakse sulle käsurealt süntaksivead välja. .&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Andmebaasi tabelite versioonid vs kustutamine ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Andmebaasi tabelite versioonid vs kustutamine ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Martinv</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=14948&amp;oldid=prev</id>
		<title>Martinv: Uus lehekülg: &#039;Tinder   == Mis tuleb teha ==  Neljanda praktikumi ülesandeks on ehitada mini-tinder (vaata [https://www.gotinder.com/ saiti] ja [https://en.wikipedia....&#039;</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITV0110_4._t%C3%B6%C3%B6_2018:_andmebaasiga_serverirakendus&amp;diff=14948&amp;oldid=prev"/>
		<updated>2018-11-05T12:59:44Z</updated>

		<summary type="html">&lt;p&gt;Uus lehekülg: &amp;#039;&lt;a href=&quot;/wiki/Fail:Tinder2.png&quot; title=&quot;Fail:Tinder2.png&quot;&gt;left|Tinder&lt;/a&gt;   == Mis tuleb teha ==  Neljanda praktikumi ülesandeks on ehitada mini-tinder (vaata [https://www.gotinder.com/ saiti] ja [https://en.wikipedia....&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Uus lehekülg&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Pilt:tinder2.png|left|Tinder]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mis tuleb teha ==&lt;br /&gt;
&lt;br /&gt;
Neljanda praktikumi ülesandeks on ehitada mini-tinder (vaata [https://www.gotinder.com/ saiti] ja [https://en.wikipedia.org/wiki/Tinder_%28app%29 wikipediat]) kasutades selleks PHP-d ja MySQL-i.&lt;br /&gt;
&lt;br /&gt;
== Hindamine, kohustuslikud ja mittekohustuslikud osad ==&lt;br /&gt;
&lt;br /&gt;
Praktikum annab maksimaalselt 12 punkti.&lt;br /&gt;
&lt;br /&gt;
Konkreetselt on &amp;lt;b&amp;gt;kohustuslikud osad&amp;lt;/b&amp;gt;, mis peavad olema tehtud ja mille realiseerimine annab kokku kuni 6 punkti:&lt;br /&gt;
&lt;br /&gt;
* Oma accoundi tegemine. Accoundis pead saama anda oma kasutajatunnuse, nime, parooli ja emaili vabatekstina. &lt;br /&gt;
* Saad sisse logida. Ilma sisse logimata midagi teha või vaadata ei saa.&lt;br /&gt;
* Pead märkima ära, kas oled mees- või naissoost.&lt;br /&gt;
* Pead uploadima ühe foto endast.&lt;br /&gt;
* Saad kirjutada ühe teksti endast.&lt;br /&gt;
* Kõik kasutajad näevad kõiki teisi - fotot ja teksti - aga esialgu ainult ühte korraga: pilti ja teksti, ning ainult vastassoo omasid. Selle juures on &amp;quot;like&amp;quot; ja &amp;quot;nope&amp;quot; nupud. Kui vajutad ühe või teise, saad järgmist kasutajat näha jne.&lt;br /&gt;
&lt;br /&gt;
Elementaarsed turvanõuded peavad olema täidetud:&lt;br /&gt;
&lt;br /&gt;
* Ei kuvata otse, nö puhastamata välja kasutaja sisestatud tekste (javascript injection ehk XSS takistatud)&lt;br /&gt;
* Ei kasutata otse, nö puhastamata, kasutaja sisestatud tekste SQL päringute kokkupanekul ([http://xkcd.com/327/ sql injection] takistatud)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Soovitavad osad&amp;lt;/b&amp;gt;, mis annavad lisaks baaspunktidele veel kuni 6 punkti:&lt;br /&gt;
&lt;br /&gt;
* Kui kaks kasutajat kumbki vajutab teise kohta &amp;quot;like&amp;quot;, siis näevad kumbki, et nad on üksteist like&amp;#039;nud. Vastasel korral infot selle kohta, kes sind like&amp;#039;s või nope&amp;#039;s pole. 2 punkti.&lt;br /&gt;
* Kui kaks kasutajat on üksteist like&amp;#039;nud, siis nad saavad saata läbi rakendusele üksteisele sõnumeid: kirjutad teksti ja seepeale teine näeb, kes ja mis teksti on kirjutanud. 2 punkti, eeldab, et eelmine alamülesanne on tehtud.&lt;br /&gt;
* Saad seadistada, kui kaugel asuvate kasutajate pilte veel kuvatakse, ning brauseris sisselogimisel brauser salvestab sinu hetkeasukoha hinnangu andmebaasi - see on sinu asukoht antud sessiooni jaoks - ja kuvamisel kasutatakse seda seadistust otsustamaks, kas pilti kuvada või ei. 2 punkti, eeldab, et eelmised alamülesanded on tehtud.&lt;br /&gt;
&lt;br /&gt;
Lisaks neile funktsionaalsustele võib ehitada juurde muid huvitavaid mittetriviaalseid funktsionaalsusi, mis annavad piisavalt hästi tegemise korral siis samuti veidi lisapunkte.&lt;br /&gt;
&lt;br /&gt;
== Tehnoloogilised nõuded ==&lt;br /&gt;
&lt;br /&gt;
* Kõik serverirakendused tuleb realiseerida [http://www.php.net/ PHP-s] ja andmeid tuleb hoida [http://www.mysql.com MySQL-s]&lt;br /&gt;
* Rakendus peab olema võrgus vabalt brauseriga ligipääsetav, mitte lihtsalt töötama näiteks sinu laptopis.&lt;br /&gt;
&amp;lt;!-- * Serverarvutina võid kasutada kas dijkstrat või omaenda vabalt valitud lemmikserverit. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Abi ja soovitusi ==&lt;br /&gt;
&lt;br /&gt;
Esiteks: tutvu PHP ja SQL materjalidega, kas kursuse esilehelt või koopiana siitsamast:&lt;br /&gt;
&lt;br /&gt;
* Vaata [[Vorgurakendused 1 SQL naited loengust]]. &lt;br /&gt;
* Vaata [[lihtsaid php ja mysql näiteid]] loengust. &lt;br /&gt;
&lt;br /&gt;
=== Debugimine ===&lt;br /&gt;
&lt;br /&gt;
* Dijkstra php konf on selline, et php vigade korral kuvatakse neid välja veebilehel, vaata näiteks http://dijkstra.cs.ttu.ee/~tammet/t2.php&lt;br /&gt;
* Vajadusel kasuta - lisaks eelnevale - oma proges trükkimiseks echo käsku, et tuvastada, kus täpselt ja mis muutujate väärtuste korral viga tekib.&lt;br /&gt;
* Alternatiivina (mida enam ilmselt vaja ei lähe) saan endiselt teha nii, et logid dijkstrasse sisse ja ütled käsurealt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
php myprog.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
ja siis kuvatakse sulle käsurealt süntaksivead välja. .&lt;br /&gt;
&lt;br /&gt;
=== Andmebaasi tabelite versioonid vs kustutamine ===&lt;br /&gt;
&lt;br /&gt;
Dijkstras ei ole myqsli kasutajale st2014 hetkel antud õigust tabeleid kustutada. Sestap on hea mõte teha oma tabelid versiooninumbriga ja jätta vanad tabelid lihtsalt prahina alles.&lt;br /&gt;
&lt;br /&gt;
Näiteks nii: &amp;lt;tt&amp;gt;matriklinrvN_tabel&amp;lt;/tt&amp;gt; ehk &amp;lt;tt&amp;gt;t12334v3_users&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine hea variant on kasutusel olevaid tabeleid jooksvalt vajaduse järgi muuta. Seda saad teha näiteks nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE tt1v1_photos ADD filename  VARCHAR(100);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Faili upload ===&lt;br /&gt;
&lt;br /&gt;
Uploadi jaoks sobiv tutorial on [http://www.w3schools.com/php/php_file_upload.asp siin]&lt;br /&gt;
&lt;br /&gt;
Kõigepealt otse tutorialist pärit html vormi näide:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Upload form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;form action=&amp;quot;upload.php&amp;quot; method=&amp;quot;post&amp;quot; &lt;br /&gt;
    enctype=&amp;quot;multipart/form-data&amp;quot;&amp;gt;&lt;br /&gt;
    Select photo upload:&lt;br /&gt;
    &amp;lt;input type=&amp;quot;file&amp;quot; name=&amp;quot;fileToUpload&amp;quot; id=&amp;quot;fileToUpload&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Upload Image&amp;quot; name=&amp;quot;submit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmisena sobiv näide uploaditud faili kontrollimise ja salvestamise jaoks. Näide baseerub [http://www.w3schools.com/php/php_file_upload.asp sellelsamal w3schoolsi tutorialil].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;NB!&amp;lt;/b&amp;gt; &lt;br /&gt;
* Enne selle näitega katsetamist tee endale &amp;lt;tt&amp;gt;public_html&amp;lt;/tt&amp;gt; alla kataloog &amp;lt;tt&amp;gt;uploads&amp;lt;/tt&amp;gt; ja anna kõigile õigus sinna kataloogi kirjutada ja sealt lugeda:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod a+rw uploads&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Üleslaetud fail salvestatakse numbrilise nimega 10 pluss suffix, a la &amp;lt;tt&amp;gt;10.jpg&amp;lt;/tt&amp;gt;. Vaata brauserist [http://dijkstra.cs.ttu.ee/~tammet/uploads/10.jpg taneli kataloogist]&lt;br /&gt;
&lt;br /&gt;
Php näide:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
function upload_my_file($fileid) {&lt;br /&gt;
  echo &amp;quot;starting&amp;quot;;&lt;br /&gt;
  $target_dir = &amp;quot;uploads/&amp;quot;;&lt;br /&gt;
  $target_file = $target_dir . basename($_FILES[&amp;quot;fileToUpload&amp;quot;][&amp;quot;name&amp;quot;]);&lt;br /&gt;
  &lt;br /&gt;
  echo &amp;quot;&amp;lt;p&amp;gt;$target_file &amp;quot; . $target_file;&lt;br /&gt;
  $uploadOk = 1;&lt;br /&gt;
  $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);&lt;br /&gt;
  echo &amp;quot;&amp;lt;p&amp;gt;$imageFileType &amp;quot; . $imageFileType;&lt;br /&gt;
  $saved_file = $target_dir . $fileid . &amp;quot;.&amp;quot; . $imageFileType;&lt;br /&gt;
  // Check if image file is a actual image or fake image&lt;br /&gt;
  if(isset($_POST[&amp;quot;submit&amp;quot;])) {&lt;br /&gt;
      $check = getimagesize($_FILES[&amp;quot;fileToUpload&amp;quot;][&amp;quot;tmp_name&amp;quot;]);&lt;br /&gt;
      if($check !== false) {&lt;br /&gt;
          echo &amp;quot;File is an image - &amp;quot; . $check[&amp;quot;mime&amp;quot;] . &amp;quot;.&amp;quot;;&lt;br /&gt;
          $uploadOk = 1;&lt;br /&gt;
      } else {&lt;br /&gt;
          echo &amp;quot;File is not an image.&amp;quot;;&lt;br /&gt;
          $uploadOk = 0;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
  echo &amp;quot;all is fine before checks&amp;quot;;&lt;br /&gt;
  // Check if file already exists&lt;br /&gt;
  if (file_exists($target_file)) {&lt;br /&gt;
      echo &amp;quot;Sorry, file already exists.&amp;quot;;&lt;br /&gt;
      $uploadOk = 0;&lt;br /&gt;
  }&lt;br /&gt;
  // Check file size&lt;br /&gt;
  if ($_FILES[&amp;quot;fileToUpload&amp;quot;][&amp;quot;size&amp;quot;] &amp;gt; 5000000) {&lt;br /&gt;
      echo &amp;quot;Sorry, your file is too large.&amp;quot;;&lt;br /&gt;
      $uploadOk = 0;&lt;br /&gt;
  }&lt;br /&gt;
  // Allow certain file formats&lt;br /&gt;
  if($imageFileType != &amp;quot;jpg&amp;quot; &amp;amp;&amp;amp; $imageFileType != &amp;quot;png&amp;quot; &amp;amp;&amp;amp; $imageFileType != &amp;quot;jpeg&amp;quot;&lt;br /&gt;
  &amp;amp;&amp;amp; $imageFileType != &amp;quot;gif&amp;quot; ) {&lt;br /&gt;
      echo &amp;quot;Sorry, only JPG, JPEG, PNG &amp;amp; GIF files are allowed.&amp;quot;;&lt;br /&gt;
      $uploadOk = 0;&lt;br /&gt;
  }&lt;br /&gt;
  // Check if $uploadOk is set to 0 by an error&lt;br /&gt;
  if ($uploadOk == 0) {&lt;br /&gt;
      echo &amp;quot;Sorry, your file was not uploaded.&amp;quot;;&lt;br /&gt;
  // if everything is ok, try to upload file&lt;br /&gt;
  } else {&lt;br /&gt;
      if (move_uploaded_file(&lt;br /&gt;
           $_FILES[&amp;quot;fileToUpload&amp;quot;][&amp;quot;tmp_name&amp;quot;], $saved_file)) {&lt;br /&gt;
          echo &amp;quot;&amp;lt;p&amp;gt;The file &amp;quot;. basename( $_FILES[&amp;quot;fileToUpload&amp;quot;][&amp;quot;name&amp;quot;]). &amp;quot; has been uploaded.&amp;quot;;&lt;br /&gt;
      } else {&lt;br /&gt;
          echo &amp;quot;&amp;lt;p&amp;gt;Sorry, there was an error uploading your file.&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
upload_my_file(10);&lt;br /&gt;
&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Turvaküsimused ===&lt;br /&gt;
&lt;br /&gt;
Sul on tingimata vaja teha kahte turva-asja:&lt;br /&gt;
&lt;br /&gt;
* Mitte võimaldada kasutajal sisestada teksti nii, et see tekst sisaldaks veebilehele kuvamisel html tage (pilte, skripte jms). Selleks kasuta [http://php.net/manual/en/function.htmlentities.php htmlentities] funktsiooni või [http://www.w3schools.com/php/php_form_validation.asp htmlspecialchars] funktsiooni või mõnda tema analoogi. Kindlasti katseta ise, et asi töötaks!&lt;br /&gt;
&lt;br /&gt;
* Mitte võimaldada kasutajal sisestada teksti nii, et see tekst tekitaks SQL lausesetes ootamatuid kõrvalefekte (näiteks kasutaja sisestab pildi nimeks &amp;#039;; drop table ...&amp;#039; vms). Selleks kasuta [http://www.w3schools.com/php/func_mysqli_real_escape_string.asp mysqli_real_escape_string] funktsiooni.&lt;br /&gt;
&lt;br /&gt;
=== Veel ideid ja näpunäiteid ===&lt;br /&gt;
&lt;br /&gt;
* Kõige lihtsam on teha kogu rakendus üheainsa php failina. Keerulisemate programmide puhul ei ole see hea mõte, meie lihtsal juhul aga on päris mugav. &lt;br /&gt;
* Kui tahad siiski oma php faili struktureerida (näiteks hoida eraldi failis päis ja jalus) siis selleks on php [http://php.net/manual/en/function.include.php include] käsk.&lt;br /&gt;
* Erinevad tegevused (a la sisse/väljalogimine foto lisamine, fotode otsimine) saad realiseerida nii, et php lehel vaadatakse, mis argumendid on antud (näiteks fotod.php?username=xx&amp;amp;password=yy peale tehakse sisse logimine, fotof.php?op=logout peale väljalogimine jne). Alati on võimalik võtta ka kasutusele eraldi parameeter, ntx op, mille väärtus ütleb siis, et mis tegevus tuleb ette võtta.&lt;br /&gt;
* Debugimise jaoks on lihtsam kasutada vormidel method=&amp;quot;get&amp;quot;, siis näed brauserist, et mis parameetrid saadeti.&lt;br /&gt;
* Samuti on debugimise juures abiks trükkida välja (echo) kokkuklopsitud sql päring tervikuna, et kontrollida, kas sai selline, nagu tahtsid.&lt;br /&gt;
* Sisselogimise jaoks (tee seda alles siis, kui baasfunktsionaalsus olemas!) on mõistlik kasutada php session funktsiooni (lihtsa tutoriali [http://www.tizag.com/phpT/phpsessions.php leiad siit]) ja seada sessioonis sisselogimisel $_SESSION[&amp;#039;username&amp;#039;] ja edaspidi alati kontrollida, kas on isset($_SESSION[&amp;#039;username&amp;#039;]) ja kui jah, siis kasutada seda väärtust, kui ei, siis kuvada sisselogimise vorm. Väljalogimisel piisab siis session_destroy() kasutamisest.&lt;br /&gt;
&lt;br /&gt;
== Sobivad õpetused lugemiseks ==&lt;br /&gt;
&lt;br /&gt;
Umbes selles järjekorras:&lt;br /&gt;
&lt;br /&gt;
; PHP&lt;br /&gt;
&lt;br /&gt;
* Väikese ajaloolise ülevaate leiad [http://en.wikipedia.org/wiki/PHP wikipeediast]&lt;br /&gt;
* Põhiõpetus on [http://www.php.net/manual/en/ php oma saidil]: loe sealt kõigepealt [http://www.php.net/manual/en/tutorial.php sissejuhatavat tutoriali]&lt;br /&gt;
* [http://w3schools.com/php/default.asp W3school-si php tutorial] on samuti päris OK.&lt;br /&gt;
&lt;br /&gt;
; SQL, loe selles järjekorras:&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3schools.com/sql/default.asp enamateks detailideks loe w3schools&amp;#039;i tutoriali]&lt;br /&gt;
* [http://www.sql-tutorial.net/SQL-tutorial.asp hea pikem tutorial alternatiivina eelmistele] ja [http://www.sql-tutorial.net/SQL-Cheat-Sheet.pdf selle sees alternatiivne cheat-sheet]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.0/en/tutorial.html mysql esmane tutorial] ja [http://dev.mysql.com/doc/refman/5.0/en/index.html vaata veidi mysql manuaali]&lt;br /&gt;
* [http://blogs.techrepublic.com.com/security/?p=2368 SQL injection] vt ka [http://lh6.ggpht.com/_5YF7KQZuZS0/S6dvFXu5OoI/AAAAAAAACWM/qTcVpMxcDnA/licence%20plate%20camera%20sql%20injection_2%5B3%5D.jpg?imgmax=800 seda] ja [http://www.schneier.com/blog/archives/2010/10/pen-and-paper_s.html seda] ja [http://alicebobandmallory.com/articles/2010/09/23/did-little-bobby-tables-migrate-to-sweden seda]&lt;br /&gt;
&lt;br /&gt;
; SQL PHP-s, loe selles järjekorras:&lt;br /&gt;
&lt;br /&gt;
* [http://dmsa.concordia.ca/tutorial_files/shortsql.ppt mysql PHP-s: ppt] &lt;br /&gt;
* [http://www.tizag.com/mysqlTutorial/ mysql PHP-s: veebitutorial]&lt;br /&gt;
* [http://www.w3schools.com/php/default.asp w3schools PHP tutorial all vasakul Mysql blokk]&lt;br /&gt;
&lt;br /&gt;
; Erinevad vormivälja-tüübid peale hariliku &amp;amp;lt;input type=text&amp;amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3schools.com/html/html_forms.asp w3schools vormi-sissejuhatus]&lt;br /&gt;
* väga mahukas ka detailne info: [http://www.w3.org/TR/html401/interact/forms.html vormid html standardis] ja selle [http://www.w3.org/TR/html401/interact/forms.html#h-17.4 eriti oluline osa]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Siit leiad eelmise aasta versiooni: [[ITV0110 4. töö 2014: Andmebaasiga serverirakendus|ITV0110 4. töö 2014]], [[ITV0110 4. töö: Andmebaasiga serverirakendus php-s|ITV0110 4. töö 2013]], [[ITV0110 4. töö 2012]] &amp;lt;!-- , [[vahetulemused 17 dets]], [[ajut vrak 1]] --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Martinv</name></author>
	</entry>
</feed>