<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Geiser.se &#187; PHP</title>
	<atom:link href="http://www.geiser.se/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geiser.se</link>
	<description>Nyheter, tips och tankar om allt på nätet</description>
	<lastBuildDate>Sat, 04 Feb 2012 21:47:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Funktioner för databashantering i PHP</title>
		<link>http://www.geiser.se/funktioner-for-databashantering-i-php/</link>
		<comments>http://www.geiser.se/funktioner-for-databashantering-i-php/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 20:39:12 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=1225</guid>
		<description><![CDATA[Gick igenom min utvecklingshårddisk (sommarstädning) och hittade några roliga databasfunktion som jag kodade ihop för cirka ett år sedan när jag hade tråkigt. Tyvärr verkar det som att jag inte fixade till delete-funktionen, så den får ni vara utan tills att jag får tid att göra det. De andra funktionerna ska fungera, gör dem inte [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geiser.se/wp-content/uploads/2010/08/1280863722_application-x-php.png" alt="PHP" title="PHP" width="128" height="128" class="alignright size-full wp-image-1030" />Gick igenom min utvecklingshårddisk (sommarstädning) och hittade några roliga databasfunktion som jag kodade ihop för cirka ett år sedan när jag hade tråkigt. Tyvärr verkar det som att jag inte fixade till delete-funktionen, så den får ni vara utan tills att jag får tid att göra det. De andra funktionerna ska fungera, gör dem inte det så hojta till. </p>
<p>Funktionerna är ganska simpla, inte det bästa jag gjort, kan skrivas bättre! De klarar också bara av de absolut enklaste SQL-frågorna.</p>
<p>Ni får använda det här hur ni vill. Se dock till att er webbserver har stöd för PDO. </p>
<p><strong>PHP-fil för att hantera databasanslutningen</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$hostname</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Adress till databasen</span>
<span style="color: #000088;">$usr</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Användarnamn för databasen</span>
<span style="color: #000088;">$pwd</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Lösenord för databasen</span>
<span style="color: #000088;">$database</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Namnet på databasen</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//Följande skapar själva anslutningen till databasen</span>
try <span style="color: #009900;">&#123;</span>
<span style="color: #000088;">$db_connect</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PDO<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;mysql:host=<span style="color: #006699; font-weight: bold;">$hostname</span>;dbname=<span style="color: #006699; font-weight: bold;">$database</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$usr</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pwd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
catch<span style="color: #009900;">&#40;</span>PDOException <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$e</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>PHP-fil med funktionerna</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">/*########################################*/</span>
<span style="color: #666666; font-style: italic;">/*################ SELECT ###################*/</span>
<span style="color: #666666; font-style: italic;">/*########################################*/</span>
<span style="color: #000000; font-weight: bold;">function</span> dbSelect<span style="color: #009900;">&#40;</span><span style="color: #000088;">$table</span><span style="color: #339933;">,</span> <span style="color: #000088;">$field</span><span style="color: #339933;">,</span> <span style="color: #000088;">$query</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attributes</span><span style="color: #339933;">,</span> <span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">require</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;connect.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$dbQuery</span> 	<span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$dbType</span> 	<span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$attribute</span>	<span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$dbQuery</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; = :&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' AND '</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>	
		<span style="color: #000088;">$dbQuery</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot; WHERE&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$dbQuery</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$dbQuery</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dbQuery</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$dbQuery</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dbQuery</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attributes</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$att</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$attribute</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$att</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$do</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db_connect</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prepare</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT <span style="color: #006699; font-weight: bold;">$field</span> FROM <span style="color: #006699; font-weight: bold;">$table</span> <span style="color: #006699; font-weight: bold;">$dbQuery</span> <span style="color: #006699; font-weight: bold;">$attribute</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">is_int</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">:</span> 	<span style="color: #000088;">$dType</span> <span style="color: #339933;">=</span> PDO<span style="color: #339933;">::</span><span style="color: #004000;">PARAM_INT</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">case</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">:</span>	<span style="color: #000088;">$dType</span> <span style="color: #339933;">=</span> PDO<span style="color: #339933;">::</span><span style="color: #004000;">PARAM_STR</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">bindValue</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':'</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #339933;">,</span> <span style="color: #000088;">$dbType</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;all&quot;</span><span style="color: #339933;">:</span> <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetchAll</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">case</span> <span style="color: #0000ff;">&quot;item&quot;</span><span style="color: #339933;">:</span> <span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">fetch</span><span style="color: #009900;">&#40;</span>PDO<span style="color: #339933;">::</span><span style="color: #004000;">FETCH_OBJ</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">break</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$result</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*############################################*/</span>
<span style="color: #666666; font-style: italic;">/*################# INSERT ######################*/</span>
<span style="color: #666666; font-style: italic;">/*############################################*/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> dbInsert<span style="color: #009900;">&#40;</span><span style="color: #000088;">$table</span><span style="color: #339933;">,</span> <span style="color: #000088;">$insert</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">require</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;connect.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$fields</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$values</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$insert</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$fields</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;, &quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$values</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;, &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$fields</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fields</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$values</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$values</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$do</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db_connect</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prepare</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;INSERT INTO <span style="color: #006699; font-weight: bold;">$table</span> (<span style="color: #006699; font-weight: bold;">$fields</span>) VALUES (<span style="color: #006699; font-weight: bold;">$values</span>)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$insert</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">bindParam</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':'</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>	
	<span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*#############################################*/</span>
<span style="color: #666666; font-style: italic;">/*################## UPDATE #####################*/</span>
<span style="color: #666666; font-style: italic;">/*############################################*/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> dbUpdate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$table</span><span style="color: #339933;">,</span> <span style="color: #000088;">$sets</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wheres</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #b1b100;">require</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;connect.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$where</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$set</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$wheres</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$where</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' = '</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;'<span style="color: #006699; font-weight: bold;">$value</span>'&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' AND '</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$where</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot; WHERE&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$where</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$where</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$where</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sets</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$set</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;=:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;, &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$set</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SET &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$set</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$set</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$set</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$do</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$db_connect</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">prepare</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE <span style="color: #006699; font-weight: bold;">$table</span> <span style="color: #006699; font-weight: bold;">$set</span> <span style="color: #006699; font-weight: bold;">$where</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sets</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">bindParam</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':'</span><span style="color: #339933;">.</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$val</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$do</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">execute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Hur man använder funktionerna</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/* SELECT */</span>
<span style="color: #000088;">$selects</span> <span style="color: #339933;">=</span> dbSelect<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;namn på tabellen&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;fält1,fält2,fält3&quot;</span><span style="color: #339933;">,</span>			
			<span style="color: #000088;">$where</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
				<span style="color: #0000ff;">&quot;fältnamn&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;data&quot;</span><span style="color: #339933;">,</span>
			<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
			<span style="color: #000088;">$attributes</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>
                               <span style="color: #0000ff;">&quot;ORDER BY&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;fältnamn desc&quot;</span>
			<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;item&quot;</span>
	  <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* För att skriva ut en hämtad rad (lägg märke till att $output = &quot;item&quot; */</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$selects</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Sätt output till &quot;all&quot; om du hämtar flera rader*/</span>
<span style="color: #000088;">$output</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;all&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Om output är satt till &quot;all&quot; kan du göra så här för att lista det som hämtats */</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$selects</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;fältnamn1&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;fältnamn2&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//etc....</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* attributes används när man vill ha LIMIT eller ORDER BY */</span>
<span style="color: #000088;">$attributes</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span> <span style="color: #009900;">&#40;</span>	
			<span style="color: #0000ff;">&quot;ORDER BY&quot;</span><span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;name DESC&quot;</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">&quot;LIMIT&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span>
			 <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">/*
#####################################
#####################################
#####################################
*/</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* INSERT */</span>
dbInsert<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tabellnamn&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #000088;">$insert</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">&quot;fältnamn1&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;värde1&quot;</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">&quot;fältnamn2&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;värde&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">/*
#####################################
#####################################
#####################################
*/</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* UPDATE*/</span>
dbUpdate<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tabellnamn&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #000088;">$change</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #0000ff;">&quot;fältnamn1&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;värde1&quot;</span><span style="color: #339933;">,</span>
			<span style="color: #0000ff;">&quot;fältnamn2&quot;</span> <span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">&quot;värde&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/funktioner-for-databashantering-i-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lär dig PHP – Funktioner</title>
		<link>http://www.geiser.se/php-funktioner/</link>
		<comments>http://www.geiser.se/php-funktioner/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 20:38:43 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=1086</guid>
		<description><![CDATA[Funktioner är ett sätt att dela upp kodstycken på, dels för att skapa en bättre struktur, men kanske framför allt för att ta ut bitar ur koden som ska användas mer än en gång. Man kan genom dela upp kod som ska återanvändas vid flera tillfällen använda include, hämta in funktioner från PHP-filer och på [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geiser.se/wp-content/uploads/2010/08/1280863722_application-x-php.png" alt="PHP" title="PHP" width="128" height="128" class="alignright size-full wp-image-1030" />Funktioner är ett sätt att dela upp kodstycken på, dels för att skapa en bättre struktur, men kanske framför allt för att ta ut bitar ur koden som ska användas mer än en gång. Man kan genom dela upp kod som ska återanvändas vid flera tillfällen använda include, hämta in funktioner från PHP-filer och på så vis få en bättre och mer översiktlig struktur på all kod. </p>
<p>Funktionerna kan även göras &#8221;dynamiska&#8221; för att minska mängden kod du behöver skriva. Beroende på <u>vad vi skickar till funktionen</u>, säga åt den att göra ett av x-antal saker. </p>
<p>Ett väldigt simpelt exempel på detta är om vi skulle få för oss att bygga någonting som antingen multiplicerar eller adderar två tal man skriver in i ett formulär.</p>
<p><strong>Exempel 16 – mini-miniräknare</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
&lt;title&gt;räknare&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #000000; font-weight: bold;">function</span> _calc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmethod</span><span style="color: #339933;">,</span> <span style="color: #000088;">$varde_1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$varde_2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmethod</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;multiply&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$totalt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$varde_1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$varde_2</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmethod</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;add&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$totalt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$varde_1</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$varde_2</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$total</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;n/a&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$totalt</span><span style="color: #339933;">;</span>
	 <span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'skicka'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000088;">$tal_1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tal_1'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$tal_2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tal_2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$ctype</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ctype'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Du har inte fyllt i båda fälten korrekt'</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">||</span> <span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Du får bara ange siffror i fälten'</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal_1</span> * <span style="color: #006699; font-weight: bold;">$tal_2</span> = &quot;</span> <span style="color: #339933;">.</span> _calc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ctype</span><span style="color: #339933;">,</span><span style="color: #000088;">$tal_1</span><span style="color: #339933;">,</span><span style="color: #000088;">$tal_2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;form method=&quot;post&quot; action=&quot;ex.php&quot;&gt;
		Skriv in ett tal&lt;br /&gt;
		&lt;input type=&quot;text&quot; name=&quot;tal_1&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;radio&quot; name=&quot;ctype&quot; value=&quot;multiply&quot; checked&gt; *&lt;br /&gt;
		&lt;input type=&quot;radio&quot; name=&quot;ctype&quot; value=&quot;add&quot;&gt; +&lt;br /&gt;
		Skriv in ett till tal&lt;br /&gt;
		&lt;input type=&quot;text&quot; name=&quot;tal_2&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;submit&quot; name=&quot;skicka&quot; value=&quot;skicka&quot; /&gt;
	&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Genom att använda ett formulär, en funktion och ett par variablar, får vi en ack så liten, men välfungerande miniräknare som kan hantera multiplikation och addition.</p>
<p>Genom att vi först via formuläret skriver in två tal samt räknesättet och trycker skicka, så laddas sidan om och sparar värdena i $tal_1- och $tal_2-variablarna. Vi kan sedan i nästa steg kontrollera om dessa två variablar innehåller någonting. Om de inte gör det skriver vi ut ett felmeddelande, om de innehåller någonting går skriptet vidare till nästa del. </p>
<p>I elseif kontrollerar vi om de inskickade värdena är numeriska, och det görs med PHP-funktionen is_numeric() som returnerar false om värdena är allt annat än numeriska.</p>
<p>Om elseif inte blir sann (värdena är numeriska) tar else-satsen över och här skickar vi värdena i variablerna till funktionen _calc() där dem sparas om till $cmethod, $varde_1 och $varde_2. </p>
<p>Därefter kontrollerar vi vilket räknesätt funktionen ska använda, dvs kollar vilken radio-knapp som var ikryssad, och sedan multipliceras/adderas talen och sparas i variablen $totalt som vi genom return skickar tillbaka, in i echo. Vi anropar alltså funktionen _calc() i samma veva som vi skriver ut allting.</p>
<p>Vi skulle mycket enkelt kunna flytta ut funktionen _calc() genom att använda include(). Detta gör vi på följande sätt.</p>
<p><strong>Funktionsfil.php</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #000000; font-weight: bold;">function</span> _calc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmethod</span><span style="color: #339933;">,</span> <span style="color: #000088;">$varde_1</span><span style="color: #339933;">,</span> <span style="color: #000088;">$varde_2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmethod</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;multiply&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$totalt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$varde_1</span> <span style="color: #339933;">*</span> <span style="color: #000088;">$varde_2</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmethod</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;add&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$totalt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$varde_1</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$varde_2</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$total</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;n/a&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$totalt</span><span style="color: #339933;">;</span>
	 <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p><strong>Huvud_fil.php</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
&lt;title&gt;räknare&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span>
        <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Funktionsfil.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'skicka'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000088;">$tal_1</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tal_1'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$tal_2</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tal_2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$ctype</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ctype'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">empty</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Du har inte fyllt i båda fälten korrekt'</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">||</span> <span style="color: #990000;">is_numeric</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal_2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Du får bara ange siffror i fälten'</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal_1</span> * <span style="color: #006699; font-weight: bold;">$tal_2</span> = &quot;</span> <span style="color: #339933;">.</span> _calc<span style="color: #009900;">&#40;</span><span style="color: #000088;">$ctype</span><span style="color: #339933;">,</span><span style="color: #000088;">$tal_1</span><span style="color: #339933;">,</span><span style="color: #000088;">$tal_2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">?&gt;</span>
	&lt;form method=&quot;post&quot; action=&quot;ex.php&quot;&gt;
		Skriv in ett tal&lt;br /&gt;
		&lt;input type=&quot;text&quot; name=&quot;tal_1&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;radio&quot; name=&quot;ctype&quot; value=&quot;multiply&quot; checked&gt; *&lt;br /&gt;
		&lt;input type=&quot;radio&quot; name=&quot;ctype&quot; value=&quot;add&quot;&gt; +&lt;br /&gt;
		Skriv in ett till tal&lt;br /&gt;
		&lt;input type=&quot;text&quot; name=&quot;tal_2&quot; /&gt;&lt;br /&gt;
		&lt;input type=&quot;submit&quot; name=&quot;skicka&quot; value=&quot;skicka&quot; /&gt;
	&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>Vi har nu placerat funktionen _calc() i en annan fil som vi genom PHP-funktionen include() anropar. På så sätt kan vi använda funktionen _calc () fler gånger i andra script.  Att programmera med funktioner är att rekommendera vid större applikationer och vid tillfällen då kod kommer upprepas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/php-funktioner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lär dig PHP 3 &#8211; Formulär</title>
		<link>http://www.geiser.se/lar-dig-php-3-formular/</link>
		<comments>http://www.geiser.se/lar-dig-php-3-formular/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 18:08:46 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=1070</guid>
		<description><![CDATA[Det har blivit dags att för första gången blanda in lite HTML i PHP-programmeringen. Att lära sig hur man hanterar formulär med PHP är ett måste! Via formulärer kan vi bland annat skapa login-funktioner, gästböcker, forum och mycket mycket mer. Ni bör dock ha det i åtanke att det jag visar är väldigt simpel formulärhantering [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geiser.se/wp-content/uploads/2010/08/1280863722_application-x-php.png" alt="PHP" title="PHP" width="128" height="128" class="alignright size-full wp-image-1030" />Det har blivit dags att för första gången blanda in lite HTML i PHP-programmeringen. Att lära sig hur man hanterar formulär med PHP är ett måste! Via formulärer kan vi bland annat skapa login-funktioner, gästböcker, forum och mycket mycket mer. Ni bör dock ha det i åtanke att det jag visar är väldigt simpel formulärhantering och jag blandar inte in säkerhet och filtrering, vilket är otroligt viktigt när man hanterar formulär som ligger på publika webbplatser och som andra kommer använda.</p>
<h3>POST &#038; GET</h3>
<p>Det finns två metoder för att skicka data via formulär, POST eller GET. Den absolut enklaste förklaringen av POST och GET är att om man använder GET-metoden i formulär kommer alla parametrar visas i adressfältet i webbläsaren, vilket inte görs med POST. <a href="http://wiki.answers.com/Q/What_is_the_difference_between_get_and_post_method_in_HTTP">Läs mer om just POST och GET här</a>. </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4779819400015065";
/* Lär dig PHP */
google_ad_slot = "2594412023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Exemplet nedan visar ett väldigt enkelt formulär med lite PHP för att hantera datan som skickas.</p>
<p><strong>Exempel 13 – Skicka värden i formulär</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&gt;
&lt;title&gt;Din sida&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'skicka'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'fornamn'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mellannamn'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;br /&gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'efternamn'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;form method=&quot;post&quot; action=&quot;dinfil.php&quot;&gt;
      Ditt förnamn&lt;br /&gt;
      &lt;input type=&quot;text&quot; name=&quot;fornamn&quot; /&gt;&lt;br /&gt;
      Ditt mellannamn &lt;br /&gt;
      &lt;input type=&quot;text&quot; name=&quot;mellannamn&quot; /&gt;&lt;br /&gt;
      Ditt efternamn&lt;br /&gt;
      &lt;input type=&quot;text&quot; name=&quot;efternamn&quot; /&gt;&lt;br /&gt;&lt;br /&gt;
      &lt;input type=&quot;submit&quot; name=&quot;skicka&quot; value=&quot;skicka&quot; /&gt;
   &lt;/form&gt;
   &lt;/body&gt;
&lt;/html&gt;</pre></div></div>

<p>När man fyllt i dessa tre fält och tryckt på skicka, kommer datan (det man fyllt i formulären) skickas med när sidan laddas om. Glöm inte att ändra action till rätt filnamn, alltså namnet på den fil du sparar denna koden i. Vi hämtar sedan datan genom att använda $_POST['variabel'] och skriver ut dem via echo. Som ni också kanske har märkt så har en ny funktion hittat in i vårt exempel. Denna gången är det isset( ). </p>
<p>Vi använder isset( ) i en if-sats för att kontrollera om $_POST['skicka'] är satt / skickad. Om den är det så skriver vi ut alla variablar på varsin rad. Jag vill också uppmärksamma er på att man kan spara dessa $_POST i egna variablar på följande sätt för lättare hantering.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$fornamn</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'fornamn'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Jag vill också påpeka att ur ett säkerhetsperspektiv är det otroligt viktigt att verkligen kontrollera datan som skickas med POST och GET. Man kan väldigt enkelt manipulera dessa. Om POST- eller GET-variabler kommer ha en databaspåverkan (sökning, nedsparning etc) är det extremt viktigt att hålla koll på innehållet i POST och GET. </p>
<p>Mer om detta kommer i en senare &#8221;Lär dig PHP&#8221;-del.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/lar-dig-php-3-formular/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lär dig PHP 2 &#8211; if, else, while och foreach</title>
		<link>http://www.geiser.se/lar-dig-php-2-if-else-while-och-foreach/</link>
		<comments>http://www.geiser.se/lar-dig-php-2-if-else-while-och-foreach/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 19:39:11 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=1029</guid>
		<description><![CDATA[I programmering hittar vi alltid if-, else-, while- eller foreach-satser. Med hjälp av dessa kan vi kontrollera om ett eller flera värden är sanna eller falska, skriva ut allt ur en array, skriva ut något x antal gånger och mycket mycket mer. Det är tack vare dessa vi kan programmera som vi gör idag. I [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geiser.se/wp-content/uploads/2010/08/1280863722_application-x-php.png" alt="PHP" title="PHP" width="128" height="128" class="alignright size-full wp-image-1030" />I programmering hittar vi alltid if-, else-, while- eller foreach-satser. Med hjälp av dessa kan vi kontrollera om ett eller flera värden är sanna eller falska, skriva ut allt ur en array, skriva ut något x antal gånger och mycket mycket mer. Det är tack vare dessa vi kan programmera som vi gör idag. I detta avsnittet kommer jag gå igenom if, else, while och foreach.</p>
<h3>if</h3>
<p>Med en if-sats kan vi göra så otroligt många roliga saker. Det är en av de viktigaste sakerna man måste lära sig när man programmerar. Ett exempel på hur en if-sats kan se ut finner ni nedan.</p>
<p><strong>Exempel 9 – if</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$tal1</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tal2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal1</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$tal2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal1</span> och <span style="color: #006699; font-weight: bold;">$tal2</span> är samma värden&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>I exemplet ovan kontrollerar vi med hjälp av en if-sats om $tal1 och $tal2 har samma värden, vilket dem har i detta fallet. Resultatet blir  ”10 och 10 är samma värden”. Som ni också kan se så använder vi Comparasin operators när vi kontrollerar variablerna. </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4779819400015065";
/* Lär dig PHP */
google_ad_slot = "2594412023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>else</h3>
<p>Med en else-sats kan vi faktiskt bygga vidare på exempel 9 där $tal1 och $tal2 har samma värde, men om dem inte hade haft det hade ingenting skrivits ut. Så i det kommande exemplet bygger vi vidare på exempel 9 och skriver ut ett felmeddelande om $tal1 och $tal2 inte har samma värde.</p>
<p><strong>Exempel 10 – else</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$tal1</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tal2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal1</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$tal2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal1</span> och <span style="color: #006699; font-weight: bold;">$tal2</span> är samma värden&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
       <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal1</span> och <span style="color: #006699; font-weight: bold;">$tal2</span> är inte samma värden&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Utskriften blir ”10 och 5 är inte samma värden”. Detta är på grund av att $tal1 (10) och $tal2 (5) inte är samma, vilket vi kontrollerade med hjälp av if-satsen. Om if-satsen inte blir sann, vilket i den inte blir i det här fallet, aktiveras else-satsen och skriver ut meddelandet.</p>
<h3>while</h3>
<p>En while-sats är en väldigt användbar loop-funktion. Man använder while när man vill att något ska göras i koden så länge while-satsen är sann, dvs så länge det man skriver inom () är sant. Ett exempel på hur while kan användas finner ni nedan.</p>
<p><strong>Exempel 11 – while</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++;</span>  
<span style="color: #009900;">&#125;</span> 
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Resultatet av detta blir att ”12345678910” skrivs ut. Vad som händer är att loopen hela tiden skriver ut $i samt plusar på $i med 1 så länge det som står innanför ( ) är sant. </p>
<h3>foreach</h3>
<p>Foreach kan exempelvis användas när man arbetar med arrayer. En foreach-sats kan loopa ut innehållet i en array, en och en tills det inte finns någonting mer att loopa ut. Om vi tar <a href="http://www.geiser.se/lar-dig-php-del-1/">exempel 5</a> från när vi gick igenom arrayer, kunde vi inte skriva ut innehållet i en array eftersom vi inte visste hur. I exempel nedan kommer jag visa dig hur.</p>
<p><strong>Exempel 12 – foreach</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #000088;">$arr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$arr</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$varde</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$varde</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$varde</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$varde</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Vad som händer här är att genom en loop tas det första värdet ifrån $arr och placerar det i variablen $varde. Därefter multipliceras $varde med 2 och skriver ut resultatet av multipliceringen. Därefter börjar loopen om igen och den läser in det andra värdet i arrayen och multiplicerar det med 2 och skriver ut resultatet. I ren text blir det 1*2, 2*2, 3*2, 4*2 och resultatet blir ”2468”.</p>
<p>Nästa del kommer handla om formulär</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/lar-dig-php-2-if-else-while-och-foreach/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8221;Lär dig PHP&#8221; återuppstår</title>
		<link>http://www.geiser.se/lar-dig-php-ateruppstar/</link>
		<comments>http://www.geiser.se/lar-dig-php-ateruppstar/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 19:38:09 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=1027</guid>
		<description><![CDATA[För över två år sedan påbörjade jag en PHP-guide där syftet var att på ett väldigt enkelt sätt gå igenom grunderna i PHP. Det blev tyvärr bara en del på grund av att jag prioriterade andra saker. Men idag, 857 dagar senare, återupptar jag guiden. Anledningen är att det helt enkelt har varit efterfrågat. Planen [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geiser.se/wp-content/uploads/2010/08/1280863722_application-x-php.png" alt="PHP" title="PHP" width="128" height="128" class="alignright size-full wp-image-1030" />För över två år sedan påbörjade jag en <a href="http://www.geiser.se/lar-dig-php-del-1/">PHP-guide</a> där syftet var att på ett väldigt enkelt sätt gå igenom grunderna i PHP. Det blev tyvärr bara en del på grund av att jag prioriterade andra saker. Men idag, 857 dagar senare, återupptar jag guiden. Anledningen är att det helt enkelt har varit efterfrågat. Planen ser dock lite annorlunda ut idag än vad den gjorde för två år sedan.</p>
<p>Jag kommer skriva mindre inlägg, men med jämnare mellanrum. Dels för att det inte blir så himla mycket att läsa på en gång, men också för att jag ska hinna. Inläggen om PHP tar i snitt längre tid än ett vanligt blogginlägg.</p>
<p>Mitt mål med guiden är att minst 1 person ska fastna för PHP och fortsätta med det.</p>
<p><a href="http://www.geiser.se/lar-dig-php-2-if-else-while-och-foreach">Lär dig PHP 2 &#8211; if, else, while och foreach</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/lar-dig-php-ateruppstar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Översättare till emoticons</title>
		<link>http://www.geiser.se/oversattare-till-emoticons/</link>
		<comments>http://www.geiser.se/oversattare-till-emoticons/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 21:26:04 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Emoticon]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=353</guid>
		<description><![CDATA[För er som inte vet vad en emoticon är så kan de se ut så här &#8212;&#62; För ett par dagar sedan jobbade jag en hel del med arrayer i PHP och fick undertiden en liten snilleblixt, eller en mindre stroke kanske? Hur som helst så fixade jag en liten mini klass som låter användaren [...]]]></description>
			<content:encoded><![CDATA[<p>För er som inte vet vad en emoticon är så kan de se ut så här &#8212;&gt; <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>För ett par dagar sedan jobbade jag en hel del med arrayer i PHP och fick undertiden en liten snilleblixt, eller en mindre stroke kanske? Hur som helst så fixade jag en liten mini klass som låter användaren översätta tecken till emoticons.</p>
<p>Vanligtvis ser man denna funktionalitet i forum, gästböcker, bloggar, chattar etc etc&#8230; utan att man kanske egentligen har funderat på hur den kan översätta : ) : D : P till små bilder.</p>
<p>Det jag har byggt består av en mapp med ikoner, en klass och en php-fil som styr klassen. Att använda klasser till detta behövs egentligen inte, men jag gjorde det i alla fall.</p>
<p>Ikonerna kommer ifrån den fantastiska samling man kan hitta på <a href="http://www.famfamfam.com" target="_blank">famfamfam.com</a></p>
<p><strong>Ladda hem</strong><br />
<a href="http://www.geiser.se/wp-content/uploads/2008/09/emoticons.zip">Emoticons.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/oversattare-till-emoticons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSScompiler.com</title>
		<link>http://www.geiser.se/rsscompilercom/</link>
		<comments>http://www.geiser.se/rsscompilercom/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 04:34:29 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[RSScompiler]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=229</guid>
		<description><![CDATA[Jahapp&#8230; då var det dags att presentera det nya projektet! RSScompiler.com är adressen och vad det är för tjänst förklaras på sidan Den är just nu i beta-stadiet&#8230; jag vet med mig att vissa feeds man lägger till inte fungerar&#8230; har med vissa tecken och tecken-kodning att göra&#8230; men jag har nog löst det snart [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rsscompiler.com"><img class="alignnone size-full wp-image-232" title="logo1" src="http://www.geiser.se/wp-content/uploads/2008/07/logo1.png" alt="" width="255" height="60" /></a></p>
<p>Jahapp&#8230; då var det dags att presentera det nya projektet!</p>
<p><a href="http://www.rsscompiler.com" target="_blank">RSScompiler.com</a> är adressen och vad det är för tjänst förklaras på sidan <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Den är just nu i beta-stadiet&#8230; jag vet med mig att vissa feeds man lägger till inte fungerar&#8230; har med vissa tecken och tecken-kodning att göra&#8230; men jag har nog löst det snart också. Problemet hade inte behövt uppstå om alla följer rss-xml standarden :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/rsscompilercom/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RSS klass i PHP</title>
		<link>http://www.geiser.se/rss-klass-i-php/</link>
		<comments>http://www.geiser.se/rss-klass-i-php/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 23:05:52 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=224</guid>
		<description><![CDATA[Jag kom på ett nytt projekt för bara några timmar sedan och håller just nu på att bolla med idén fram och tillbaka med mig själv. Återigen handlar det om webben och PHP, så när jag satt och tänkte på detta projekt och om det är möjligt eller ens värt att lägga tid på det, [...]]]></description>
			<content:encoded><![CDATA[<p>Jag kom på ett nytt projekt för bara några timmar sedan och håller just nu på att bolla med idén fram och tillbaka med mig själv. Återigen handlar det om webben och PHP, så när jag satt och tänkte på detta projekt och om det är möjligt eller ens värt att lägga tid på det, kodade jag lite.</p>
<p>Jag insåg att projektet är genomförbart och ska nog investera lite mer tid i det, men jag kom också på att jag faktiskt skapat någonting under denna lilla stunden som andra kanske har nytta av. Jag vill därför dela med mig av det så att andra kan ha nytta av det och återigen så är det fritt fram att ladda hem och göra vad man vill med.</p>
<p>Angående mitt nya projekt&#8230; ni får helt enkelt vänta och se.. men ni vet redan att det har någonting med RSS att göra <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Vad pratar jag om?</strong><br />
Jo, det är en klass i PHP som ni kan använda för att hämta inlägg från en RSS-feed och sedan skriva ut artiklarna och länka till inläggen. Klassen gör allt jobb, det enda ni behöver göra är att ange RSS-adressen och hur många länkar ni vill visa&#8230;detta gör ni i filen show_feed.php</p>
<p><img class="alignnone size-full wp-image-175" style="margin:0px; padding:0px;" title="attach" src="http://www.geiser.se/wp-content/uploads/2008/07/attach.png" alt="" width="16" height="16" /> <strong><a href="http://www.geiser.se/wp-content/uploads/2008/07/rss.zip">Ladda hem</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/rss-klass-i-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Skapa thumbnails med PHP</title>
		<link>http://www.geiser.se/skapa-thumbnails-med-php/</link>
		<comments>http://www.geiser.se/skapa-thumbnails-med-php/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 11:58:44 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Thumbnail]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=220</guid>
		<description><![CDATA[Jag fick en fråga angående bildgalleriets thumbnailfunktion idag som jag tyckte var värd att ta upp. Personen frågade om han fick använda den separat för ett projekt och hur han gjorde det i så fall. Självklart får ni använda det&#8230; ni får plocka det ni behöver. Jag har plockat ut den classen och redigerat den [...]]]></description>
			<content:encoded><![CDATA[<p>Jag fick en fråga angående bildgalleriets thumbnailfunktion idag som jag tyckte var värd att ta upp. Personen frågade om han fick använda den separat för ett projekt och hur han gjorde det i så fall.</p>
<p>Självklart får ni använda det&#8230; ni får plocka det ni behöver. Jag har plockat ut den classen och redigerat den så att det blir lite mer användarvänligt. Jag har kommenterat i filen vad klassen behöver för att fungera&#8230; så det är bara att följa det och testa själva. Ni kan ladda ner den på <strong><a href="http://www.geiser.se/php-2">följande sida</a> </strong>under rubriken klasser.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/skapa-thumbnails-med-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bildgalleriet snart klart</title>
		<link>http://www.geiser.se/bildgalleriet-snart-klart/</link>
		<comments>http://www.geiser.se/bildgalleriet-snart-klart/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 23:13:37 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Bildgalleri]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=205</guid>
		<description><![CDATA[Jag har inte kodat så mycket som jag hade önskat idag&#8230;. men jag har fått en del saker klara i alla fall. Bland annat så har jag trixat lite med kontrollpanelen för att få in alla funktioner i den. De saker som är färdiga där är uppladdningen av bilderna och skapande av kategorier. Jag har [...]]]></description>
			<content:encoded><![CDATA[<p>Jag har inte kodat så mycket som jag hade önskat idag&#8230;. men jag har fått en del saker klara i alla fall. Bland annat så har jag trixat lite med kontrollpanelen för att få in alla funktioner i den. De saker som är färdiga där är uppladdningen av bilderna och skapande av kategorier. Jag har också fått igång visningen av bilderna som baseras på vad som finns i databasen (filnamn osv).</p>
<p>Man kan till och med ladda upp bilder i olika kategorier (virtuella kategorier, inga mappar) och även titta på bilderna i de olika kategorierna.</p>
<p>En annan sak jag faktiskt är helt klar med är funktionen som kollar om den &#8221;inloggade personen&#8221; verkligen är den &#8221;inloggade personen&#8221;. Denna funktionen är inte så avancerad utan kolalr helt enkelt sessionen och sessionsvariablarna som skapades när man loggade in, jämför dessa med informationen i databasen och därefter bestämmer om allt är ok eller ej.</p>
<p>Jag ska fortsätta lite till ikväll, sen fortsätta imorgon någon gång på morgonen&#8230; så förhoppningsvis ska jag bli klar med allting under morgondagen!</p>
<p><strong>Saker som är färdiga</strong><br />
Designen<br />
Strukturen<br />
Installationsfilen<br />
Login<br />
Uppladdning<br />
Skapa kategori<br />
Listning av bilder<br />
Verifiering av inloggad</p>
<p><strong>Saker som ska göras</strong><br />
Paging<br />
Redigera bilder<br />
Radera bilder<br />
Redigera kategorier<br />
Radera kategorier<br />
Statistik (antal bilder, kategorier)<br />
Slumpfunktionen</p>
<p>Fortsättning följer&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleriet-snart-klart/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bildgalleri uppdatering</title>
		<link>http://www.geiser.se/bildgalleri-uppdatering/</link>
		<comments>http://www.geiser.se/bildgalleri-uppdatering/#comments</comments>
		<pubDate>Sun, 13 Jul 2008 01:38:50 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Bildgalleri]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=202</guid>
		<description><![CDATA[Det är sent på natten och jag har suttit ganska länge nu med bildgalleriet&#8230; men det var det värt. Jag har kommit mycket längre än jag trodde jag skulle göra idag. Ni kan kolla all kod osv jag har gjort på följande sida Projektet Jag har uppdaterat all kod som fanns innan, men jag har [...]]]></description>
			<content:encoded><![CDATA[<p>Det är sent på natten och jag har suttit ganska länge nu med bildgalleriet&#8230; men det var det värt. Jag har kommit mycket längre än jag trodde jag skulle göra idag. Ni kan kolla all kod osv jag har gjort på följande sida</p>
<p><a href="http://www.geiser.se/projekt/" target="_blank">Projektet</a></p>
<p>Jag har uppdaterat all kod som fanns innan, men jag har också skrivit nya classer (<a href="http://www.geiser.se/projekt/bildgalleri/system/class/class_db_handler.txt" target="_blank">class_db_handler.php</a>, <a href="http://www.geiser.se/projekt/bildgalleri/system/class/class_login.txt" target="_blank">class_login.php</a>). Jag har också skrivit hjälpfilen <a href="http://www.geiser.se/projekt/bildgalleri/system/do/do_login.txt" target="_blank">do_login.php</a>, samt <a href="http://www.geiser.se/projekt/bildgalleri/system/settings/settings.txt">settings.php</a>. Sist men inte minst har jag slutfört installationsfilen<a href="http://www.geiser.se/projekt/bildgalleri/install.txt" target="_blank"> install.php</a> som&#8230; ja, installerar bildgalleriet. Med &#8221;installera&#8221; menar jag skapa databasen och <a href="http://www.geiser.se/projekt/bildgalleri/system/db/connect.php" target="_blank">connect.php</a> som ansluter till databasen.</p>
<p><a href="http://www.geiser.se/projekt/bildgalleri/install.txt" target="_blank">install.php</a> har allting packat i sig (html, css, php, databasanslutning, error hantering osv osv)&#8230; denna filen ska raderas när man installerat allting.Bilden nedan visar hur installen ser ut rent grafiskt&#8230; jag vågade inte lägga upp den riktiga PHP filen <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.geiser.se/wp-content/uploads/2008/07/install.jpg"><img class="aligncenter size-medium wp-image-203" title="install" src="http://www.geiser.se/wp-content/uploads/2008/07/install-300x280.jpg" alt="" width="300" height="280" /></a></p>
<p>Ni kan föresten testa att logga in nu. <a href="http://www.geiser.se/projekt/bildgalleri/index.php" target="_blank">Öppna sidan för bildgalleriet</a> och logga in med följande uppgifter:</p>
<p>Användarnamn: admin<br />
Lösenord: admin</p>
<p>Det kommer inte hända så mycket <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Har bara ordnat så att den skriver ut om det är rätt eller fel uppgifter. Ni kan ju även prova skriva in fel användarnamn och/eller lösenord för att se vad som händer. För er som är nybörjare på PHP eller som håller på att lära er&#8230; försök leta upp var jag kontrollerar om lösenordet är korrekt.</p>
<p>Nog för idag&#8230; Godnatt!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleri-uppdatering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bildgalleri dagsrapport</title>
		<link>http://www.geiser.se/bildgalleri-dagsrapport/</link>
		<comments>http://www.geiser.se/bildgalleri-dagsrapport/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 22:07:21 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Bildgalleri]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=196</guid>
		<description><![CDATA[Idag har jag spenderat lite tid på projektet. Följande har jag gjort: Skapat en minimalistisk design (XHTML, CSS) som validerar, förutom js. Fått ordning på strukturen av alla bilder, script osv Koda klasserna class_upload.php och class_thumbnail.php Kodat hjälpfilen do_upload.php Kodat databasanslutningen connect.php Allting fungerar som det ska, men ingen av dessa filer är klara&#8230; det [...]]]></description>
			<content:encoded><![CDATA[<p>Idag har jag spenderat lite tid på projektet. Följande har jag gjort:</p>
<ul>
<li>Skapat en minimalistisk design (XHTML, CSS) som validerar, förutom js.</li>
<li>Fått ordning på strukturen av alla bilder, script osv</li>
<li>Koda klasserna <a href="http://www.geiser.se/projekt/bildgalleri/system/class/class_upload.txt" target="_blank">class_upload.php</a> och <a href="http://www.geiser.se/projekt/bildgalleri/system/class/class_thumbnail.txt" target="_blank">class_thumbnail.php</a></li>
<li>Kodat hjälpfilen <a href="http://www.geiser.se/projekt/bildgalleri/system/do/do_upload.txt" target="_blank">do_upload.php</a></li>
<li>Kodat databasanslutningen <a href="http://www.geiser.se/projekt/bildgalleri/system/db/connect.txt" target="_blank">connect.php</a></li>
</ul>
<p>Allting fungerar som det ska, men ingen av dessa filer är klara&#8230; det fattas lite säkerhetskontroller, checkar samt en filnamnsgenerator. Dessa saker ordnar jag nog imorgon.</p>
<p>So far so good tycker jag. Har inte stött på något problem egentligen&#8230; mer än att jag blev lite smått förvirrad (hungrig, trött) när jag höll på med följande rad:</p>
<blockquote><p>$this-&gt;check_thumb = $this-&gt;create_thumb-&gt;new_thumb($this-&gt;thumb, $this-&gt;sokvag, $this-&gt;bredd, $this-&gt;dimensioner, $this-&gt;temp, $this-&gt;bild, $this-&gt;filandelse);</p></blockquote>
<p>Det var mer eller mindre det enda som bråkade lite med mig&#8230; tog dock inte så lång tid att få rätt på det.</p>
<p>Jag får se under morgondagen vad jag hinner göra&#8230; stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleri-dagsrapport/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ett PHP projekt</title>
		<link>http://www.geiser.se/ett-php-projekt/</link>
		<comments>http://www.geiser.se/ett-php-projekt/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 13:21:56 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>

		<guid isPermaLink="false">http://www.geiser.se/ett-php-projekt/</guid>
		<description><![CDATA[Som en kul grej tänkte jag låta er läsare bestämma mitt nästa lilla PHP projekt. Jag ger er fem(5) alternativ och det alternativ som får mest röster bygger jag. Ni kommer kunna följa projektets gång i min blogg och när det är klart kan ni ladda hem det och använda scriptet som ni vill. Ni [...]]]></description>
			<content:encoded><![CDATA[<p>Som en kul grej tänkte jag låta er läsare bestämma mitt nästa lilla PHP projekt. Jag ger er fem(5) alternativ och det alternativ som får mest röster bygger jag. Ni kommer kunna följa projektets gång i min blogg och när det är klart kan ni ladda hem det och använda scriptet som ni vill.</p>
<p>Ni röstar på de olika projekten i kolumnen till höger. Jag kommer avsluta röstningen imorgon, någongång på dagen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/ett-php-projekt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP och säkerhet</title>
		<link>http://www.geiser.se/php-och-sakerhet/</link>
		<comments>http://www.geiser.se/php-och-sakerhet/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 20:38:23 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Säkerhet]]></category>
		<category><![CDATA[SQL-Injection]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.geiser.se/php-och-sakerhet/</guid>
		<description><![CDATA[När du programmerar i ett språk som PHP är oftast säkerhet en väldigt stor del av det du gör. Framförallt när du jobbar mot en databas av något slag, måste du spendera lite tid för att göra allting så säkert som möjligt. Gör du inte det riskerar du att bli utsatt för en rad olika [...]]]></description>
			<content:encoded><![CDATA[<p>När du programmerar i ett språk som PHP är oftast säkerhet en väldigt stor del av det du gör. Framförallt när du jobbar mot en databas av något slag, måste du spendera lite tid för att göra allting så säkert som möjligt. Gör du inte det riskerar du att bli utsatt för en rad olika attacker som kan skada både din applikation/webbsida och i värsta fall även webbhotellet där din applikation ligger.</p>
<p><strong>SQL-Injection</strong><br />
Den vanligaste typen av &#8221;hot&#8221; är en så kallad SQL-Injection. Idag finns det väldigt bra metoder för att förhindra dessa typer av attacker, men den första Faktiska metoden du bör använda är sunt förnuft. Som utvecklare ska du Aldrig lita på användaren eller den data användare själva kan påverka (ex. formulär). Se därför alltid till att filtrera den typen av data innan du använder den.</p>
<p>Läs om SQL-Injection</p>
<ul>
<li><a href="http://sv.wikipedia.org/wiki/SQL_injection" target="_blank">http://sv.wikipedia.org/wiki/SQL_injection</a> (Wikipedia SV)</li>
<li><a href="http://en.wikipedia.org/wiki/SQL_injection" target="_blank">http://en.wikipedia.org/wiki/SQL_injection</a> (Wikipedia EN)</li>
</ul>
<p>Hur man skyddar sig</p>
<ul>
<li><a href="http://se2.php.net/manual/en/pdo.prepared-statements.php" target="_blank">http://se2.php.net/manual/en/pdo.prepared-statements.php</a> (PHP.net)</li>
<li><a href="http://se2.php.net/manual/en/function.mysql-real-escape-string.php" target="_blank">http://se2.php.net/manual/en/function.mysql-real-escape-string.php</a> (PHP.net)</li>
</ul>
<p><strong>Cross site scripting (xss)</strong></p>
<ul>
<li><a href="http://sv.wikipedia.org/wiki/XSS" target="_blank">http://sv.wikipedia.org/wiki/XSS</a> (Wikipedia SV)</li>
<li><a href="http://en.wikipedia.org/wiki/Cross-site_scripting" target="_blank"> http://en.wikipedia.org/wiki/Cross-site_scripting</a> (Wikipedia EN)</li>
</ul>
<p>Det finns så mycket mer man kan säga om PHP och säkerhet! Men det får räcka för den här gången <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Stay tuned</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/php-och-sakerhet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP OOP tutorial videos</title>
		<link>http://www.geiser.se/php-oop-tutorial-videos/</link>
		<comments>http://www.geiser.se/php-oop-tutorial-videos/#comments</comments>
		<pubDate>Fri, 30 May 2008 22:30:50 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=108</guid>
		<description><![CDATA[Som ni ser så är det inte &#8221;värsta&#8221; blogginlägget, men jag tyckte så mycket om dessa PHP OOP tutorial videos att det kändes rätt att dela med mig av dem. Det är väldigt basic och är väl egentligen bara en blyg introduktion till PHP OOP. Men för dig som aldrig pysslat med PHP OOP så [...]]]></description>
			<content:encoded><![CDATA[<p>Som ni ser så är det inte &#8221;värsta&#8221; blogginlägget, men jag tyckte så mycket om dessa PHP OOP tutorial videos att det kändes rätt att dela med mig av dem. Det är väldigt basic och är väl egentligen bara en blyg introduktion till <strong>PHP OOP</strong>. Men för dig som aldrig pysslat med PHP OOP så är dessa videos faktiskt ganska bra.</p>
<h6>Alla PHP OOP Videos &#8211; fuska inte, se dem i ordning <img src='http://www.geiser.se/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </h6>
<p><a href="http://www.killerphp.com/videos/oop_php_introduction/01_oop_php_introduction.html" target="_blank">Introduction 	      to Object Oriented PHP</a> (4:05)<br />
<a href="http://www.killerphp.com/videos/oop_why_learn_oop/why_learn_oop.html" target="_blank">Why learn Object 	      Oriented PHP</a> (14:46)<br />
<a href="http://www.killerphp.com/videos/oop_objects_and_classes/objects_and_classes.html" target="_blank">Objects 	      and Classes in PHP</a> (5:26)<br />
<a href="http://www.killerphp.com/videos/oop_php_build_objects/build_objects_php_oop.html" target="_blank">Build         Objects in PHP &#8211; Part 1</a> (9:14)<br />
<a href="http://www.killerphp.com/videos/oop_php_build_objects_part_2/build_objects_php_oop_part_2.html" target="_blank">Build         Objects in PHP &#8211; Part 2</a> (9:41)<br />
<a href="http://www.killerphp.com/videos/oop_php_build_objects_part_3/build_objects_php_oop_part_3.html" target="_blank">Build         Objects in PHP &#8211; Part 3</a> (6:18)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/php-oop-tutorial-videos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>När ska man använda objektorienterad PHP programmering?</title>
		<link>http://www.geiser.se/nar-ska-man-anvanda-objektorienterad-php-programmering/</link>
		<comments>http://www.geiser.se/nar-ska-man-anvanda-objektorienterad-php-programmering/#comments</comments>
		<pubDate>Tue, 27 May 2008 11:37:41 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[OOP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=105</guid>
		<description><![CDATA[Det är inte alltid en självklarhet att bygga alla script i objektorienterad PHP och det kan därför vara bra att veta när det är lämpligt och när det går lika bra, eller till och med bättre med vanlig, klassisk PHP programmering. Om man börjar med att se på mängden kod som uppstår med objektorienterad kod [...]]]></description>
			<content:encoded><![CDATA[<p>Det är inte alltid en självklarhet att bygga alla script i objektorienterad PHP och det kan därför vara bra att veta när det är lämpligt och när det går lika bra, eller till och med bättre med vanlig, klassisk PHP programmering.</p>
<p>Om man börjar med att se på mängden kod som uppstår med objektorienterad kod så blir det helt klart mer skrivande. Man kan väl säga att om det är ett mindre script som ska byggas, och att dess syfte kanske inte är så jätteavancerat&#8230; är det kanske inte så lämpligt att använda objektorienterad PHP. Det går lika bra med funktioner och vad jag gillar att kalla &#8221;klassisk&#8221; PHP programmering. Men när lämpar det sig att använda objektorienterad PHP då?</p>
<p>Den absolut största fördelen som jag personligen ser med OOP är själva seperationen av koden mot designen på sidan. Alltså i mitt fall, seperationen av PHP mot HTML och naturligtvis CSS. Anledningen till att jag, samt många andra, tycker detta är bra, är eftersom oftast så fördelas arbetet i ett projekt mellan programmerare och designers.. och med OOP som &#8221;verktyg&#8221; kan du även göra denna seperationen i själva projektet. Som designer behöver man inte blanda sig i PHP koden och potentiellt ställa till med något. Som programmerare behöver man inte blanda sig i designbiten. Självklart så måste man sammarbeta med varandra, men man kan arbeta mycket mer självstidning och slippa vara beroende av den andra.</p>
<p>Nackdelen med objektorienterad PHP är att det är långsammare än klassisk PHP, använder mer minne och det blir mer kodande. Men om du arbetar i projekt med flera personer, eller om du utvecklar ett större system, så är objektorienterad PHP väldigt användbart. Det må bli mer kod, men jag anser att det blir mycket mer överskådligt och lättläst. En annan nackdel är naturligtvis att det kanske inte är helt lätt att lära sig OOP&#8230; det tar tid och tålamod. Men om du förstår OOP och kan bemästra det i PHP, så kommer du få det mycket enklare om du vill lära dig andra språk som t ex JAVA eller C++.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/nar-ska-man-anvanda-objektorienterad-php-programmering/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lär dig PHP &#8211; Del 1</title>
		<link>http://www.geiser.se/lar-dig-php-del-1/</link>
		<comments>http://www.geiser.se/lar-dig-php-del-1/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 22:47:55 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=88</guid>
		<description><![CDATA[Att lära sig programmera är underbart. Det finns inget bättre än att kunna sätta sig framför en blank sida i sin editor och bara börja skriva kod. Det är min önskan att du också ska kunna erfara detta och det är med denna tankegången jag utvecklade denna guide. Förutsättningen för att du ska kunna följa [...]]]></description>
			<content:encoded><![CDATA[<p>Att lära sig programmera är underbart. Det finns inget bättre än att kunna sätta sig framför en blank<img border="0" align="right" width="250" src="http://www.geiser.se/wp-content/uploads/2008/03/800px-php-n_logo_svg.png" alt="800px-php-n_logo_svg.png" height="132" /><br />
sida i sin editor och bara börja skriva kod. Det är min önskan att du också ska kunna erfara detta<br />
och det är med denna tankegången jag utvecklade denna guide.</p>
<p>Förutsättningen för att du ska kunna följa denna guiden är att du har en grundläggande kunskap<br />
inom HTML / XHTML samt att du också har en viss förståelse för grundprinciperna i programmering.<br />
Detta guide/tutorial är skrivet med dig som nybörjare i åtanke och jag kommer stegvis gå<br />
igenom hur man börjar programmera med PHP. Men som allt annat här i världen så krävs det ett<br />
intresse, ihärdighet och tålamod innan du kommer kunna programmera flytande med PHP.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-4779819400015065";
/* Lär dig PHP */
google_ad_slot = "2594412023";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Låt det inte skrämma dig hur mycket det finns att lära sig om PHP , personligen tror jag aldrig man<br />
blir riktigt fullärd, vilket också gör att man konstant strävar efter att hitta nya funktioner och<br />
finesser. Man kan bara ta ett steg i taget.</p>
<p><strong>Att komma igång</strong><br />
För att börja jobba med PHP krävs det ett par saker av dig som kodare. Bland annat behöver du en<br />
miljö att programmera i, ett sätt att testa din skript på, men framförallt krävs det tålamod.</p>
<p><strong>Du behöver följande</strong><br />
- Tillgång till en webbserver med PHP modul installerad (Apache, IIS alternativt något annat)<br />
- En miljö du kan utveckla i (Eclipse, Dreamweaver, notepad , det finns mängder med<br />
alternativ)<br />
- MySQL (MySQL är den databas vi kommer använda senare i guiden)<br />
- En viss förståelse för databashantering<br />
- En viss förståelse för Engelska</p>
<p>Ett alternativ till Webbserver är att du installerar en WAMP server. WAMP som står för ”Windows –<br />
Apache – MySQL – PHP” kan hämtas på följande sida och innehåller allt som du behöver för att<br />
följa denna guide.</p>
<p><a target="_blank" href="http://www.wampserver.com/en/index.php">http://www.wampserver.com/en/index.php</a></p>
<p>WAMP sköter hela installations och konfigureringsprocessen för dig som användare vilket är väldigt bekvämt.<br />
Vill du installera allting manuellt kan du använda dig av någon av guiderna på följande sidor</p>
<p><a target="_blank" href="http://www.php-mysql-tutorial.com/install-apache-php-mysql.php">http://www.php-mysql-tutorial.com/install-apache-php-mysql.php</a><br />
<a target="_blank" href="http://internet.physto.se/serverprogram/apache/installera/index.php">http://internet.physto.se/serverprogram/apache/installera/index.php</a><br />
<a target="_blank" href="http://www.google.se">http://www.google.se</a> Search and you shall find!</p>
<p><strong>Struktureringsgrunder</strong><br />
Eftersom du nu har en fungerande miljö att utveckla PHP i så har det blivit dags för att ta det första steg in i den stora PHP världen. Vi börjar från början.</p>
<p>För att servern överhuvudtaget ska veta vad som är PHP kod och vad som inte är det, behöver du indikera detta med en början och ett slut.<br />
Det gör du på följande sätt:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
Här emellan kommer vi placera vår kod
<span style="color: #000000; font-weight: bold;">?&gt;</span>
Man kan också skriva det på följande sätt
<span style="color: #000000; font-weight: bold;">&lt;?</span>
Här emellan kommer vi placera vår kod
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Jag kommer att använda mig av <?php eftersom webbservrar inte alltid har stöd för <?  eller också ”Shorthand support” som det kallas.<br />
Nu vet webbservern var den ska ska börja leta efter php kod och sluta.<br />
Då kan vi börja med att göra ett väldigt enkelt skript.<br />
Skapa en fil som du döper till valfritt namn(inte å,ä,ö) och med filendelsen .php. När du gjort detta öppnar du filen med valfri editor och skriver enligt Exempel 1.</p>
<p>Exempel 1 – Skriva ut en text</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Hello world&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Spara filen i din publika root på servern, öppna din webläsare och skriv http://localhost/dinfil.php<br />
Om allt är rätt kommer ”Hello World” skrivas ut. Händer ingenting ligger problemet förmodligen i konfigurationen för din webbserver.</p>
<p>Funktionen echo kommer vi att använda för att mata ut tecken och html vid behov. Det finns alternativ till echo, men eftersom denna genomgången av PHP är grundläggande håller vi oss till echo som gör precis det det ska göra.</p>
<p><strong>Variablar</strong><br />
Vad är en variabel? Enkelt förklarat så är en variabel en platshållare där man lagrar värden under programmets gång. Om man inte hade haft variablar i programmering, hade det blivit otroligt svårt att skriva längre program. Variablar hjälper också till att göra din kod mer lättförstådd och strukturerad, samt dynamisk.<br />
En variabel i PHP startar alltid med dollartecknet, dvs $. För att döpa en variabel skriver du helt enkelt någonting efter $. Så om vi t ex ska skapa en variabel med mitt namn som innehåll, skulle den kunnat se ut på följande sätt.</p>
<p>$Mitt_namn = &#8221;Kristoffer&#8221;;</p>
<p>Nu har vi en variabel som heter Mitt_namn och den innehåller Kristoffer.<br />
Vad kan vi göra med denna variablen då? Jo om vi t ex skulle få för oss att skriva ut mitt namn genom att använda echo som jag gick igenom tidigare, skulle det kunna se ut på följande sätt.</p>
<p>Exempel  2 – Skriva ut en variabel</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$Mitt_namn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Kristoffer&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Mitt namn är <span style="color: #006699; font-weight: bold;">$Mitt_namn</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Om allt stämmer ska din webbläsare skriva ut texten ”Mitt namn är Kristoffer”. På så sätt kan man skriva ut värden som finns i variablar. Men man kan även lagra och skriva ut nummer, uträkningar och mycket mycket mer. Jag kommer använda mig av variabler otroligt mycket i de senare exempel  som jag går igenom.</p>
<p>En variabel kan också innehålla en eller flera variablar. På följande sätt kan vi skriva ut hela mitt namn genom att spara mitt förnamn, mellannamn och efternamn i tre olika variablar som vi sen sparar i en samlingsvariabel.</p>
<p>Exempel  3 – Skriva ut en variabel med variabelinnehåll</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$Fornamn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Kristoffer&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$Mellan_namn</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Benjamin&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$Efternamn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Geiser&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$Mitt_namn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Mitt namn är <span style="color: #006699; font-weight: bold;">$Fornamn</span> <span style="color: #006699; font-weight: bold;">$Mellan_namn</span> <span style="color: #006699; font-weight: bold;">$Efternamn</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$Mitt_namn</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Notera att jag inte använder ” ” runt $Mitt_namn när jag skriver ut den. När man bara ska skriva ut en variabel på detta sättet behöver man inte använda ” ”. Jag vill även nämna att PHP för det mesta sköter själva datatyp deklarationen automatiskt. Detta innebär att vi inte behöver deklarera i förväg om en variabel ska innehålla bokstäver eller siffror osv. I andra språk gör man oftast detta genom att skriva: string variabelnamn; , int variabelnamn; osv. </p>
<p><strong>Strängar</strong><br />
Vi har redan pratat lite om strängar i  tidigare exempel, men nu ska vi gå lite djupare eftersom du nu vet vad en variabel är.<br />
Strängvariablar används för att lagra textsträngar i, som vi sen kan behandla på en rad olika sätt. Vill vi så kan vi helt enkelt skriva ut texten i variablen som vi gjort tidigare, eller så kan vi skriva ut hur många tecken som finns i variablen. Det finns oändligt många sätt att behandla strängar på, i de tidigare exemplen har vi bara skrivit ut texten i strängen, men om vi vill räkna hur många tecken som finns i strängen? Då kan vi göra på följande sätt</p>
<p>Exempel  4 – Skriva ut antal tecken i en sträng</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$Fornamn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Kristoffer&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$Mellan_namn</span> <span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;Benjamin&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$Efternamn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Geiser&quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000088;">$Mitt_namn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$Fornamn</span> <span style="color: #006699; font-weight: bold;">$Mellan_namn</span> <span style="color: #006699; font-weight: bold;">$Efternamn</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$Mitt_namn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot; tecken finns i namnet <span style="color: #006699; font-weight: bold;">$Mitt_namn</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Om du varit uppmärksamma nu så ser du att jag introducerat en ny funktion som heter strlen(). Den används för att räkna antal tecken som finns i strängen eller variablen den omsluts med. I detta fallet omslöt vi variablen $Mitt_namn på följande sätt strlen($Mitt_namn); Resultatet av detta blir ”26 tecken finns i namnet Kristoffer Benjamin Geiser”.<br />
Detta kan tyckas konstigt eftersom om man räknar bokstäverna i mitt namn så hittar vi bara 24 tecken. Detta är på grund av att mellanslag eller blanksteg också räknas som ett tecken, och i detta fallet har vi två mellanslag vilket resulterar i 26 tecken totalt.</p>
<p><strong>Arrayer</strong><br />
En array är också ett sätt att lagra värden. Vi kan lagra individuella värden och på olika platser i en array. Arrayer används väldigt mycket vid inhämtning / utkastning av värden. Exempel på hur en array kan se ut ser ni nedan.</p>
<p>Exempel  5 – Arrayer</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$arr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>I detta exemplet har vi lagrat värdena 1 2 3 4 på individuella platser i en array som heter $arr. Hur man behandlar och skriver hur dessa värden är lite annorlunda mot vanliga variablar och med denna anledningen väntar vi tills vi gått igenom foreach som kommer längre fram i texten.</p>
<p><strong>Operatorer</strong><br />
I PHP och egentligen alla språk har vi någonting som kallas för operatorer. Det finns många olika typer av operatorer,  t ex Arithmetic, Assignment, Bitwise, Comparison, Error controll, Execution, Incrementing / Decrementing, Logic, String, Array, Type. Jag kommer gå igenom Arithmetic, Assignment och Comparison  operators med ett exempel från varje kategori.</p>
<p><strong>Arithmetic operators</strong><br />
<img src='http://www.geiser.se/wp-content/uploads/2008/03/one.JPG' alt='one.JPG' /></p>
<p>Exempel  6 – Arithmetic operators</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$tal1</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tal2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$totalt</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$tal1</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$tal2</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal1</span> + <span style="color: #006699; font-weight: bold;">$tal2</span> = <span style="color: #006699; font-weight: bold;">$totalt</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Resultatet av detta blir ”10 + 5 = 15”. Vad vi gör här är att vi sparar två tal i två olika variabler och igenom variablen $totalt adderar vi ihop summorna. På samma sätt kan man använda de andra räknesätten.</p>
<p><strong>Assignment operators</strong><br />
<img src='http://www.geiser.se/wp-content/uploads/2008/03/two.JPG' alt='two.JPG' /></p>
<p>Exempel  7 – Assignment operators</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$tal1</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tal2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$tal1</span> <span style="color: #339933;">+=</span> <span style="color: #000088;">$tal2</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$tal1</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Resultatet av detta blir ”15”. Här sker adderingen i samband med att vi tilldelar variablen $tal1 med $tal2 i sig.</p>
<p><strong>Comparison Operators</strong><br />
<img src='http://www.geiser.se/wp-content/uploads/2008/03/three.JPG' alt='three.JPG' /></p>
<p>Jag kommer i detta exemplet använda mig av någonting vi inte gått igenom, men bara på namnet tror jag man förstår rätt mycket vad denna funktionen innebär</p>
<p>Exempel 8 – Comparison operators</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$tal1</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tal2</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$tal1</span> <span style="color: #339933;">!==</span> <span style="color: #000088;">$tal2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$tal1</span> och <span style="color: #006699; font-weight: bold;">$tal2</span> är inte samma värden&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Vad som händer i detta exemplet kan förklaras mycket enkelt. Genom att använda en if-sats och operatorn !== kontrollerar vi om $tal1 och $tal2  inte innehåller samma tal. Om talen i variablerna inte är dem samma skriver vi ut ”10 och 5 är inte samma värden”. På samma sätt kan man använda de andra operatorerna för att kontrollera innehåll i variablar.</p>
<p><a href="http://www.geiser.se/lar-dig-php-2-if-else-while-och-foreach/">Lär dig PHP 2 – if, else, while och foreach</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/lar-dig-php-del-1/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Kan jag få en offert?</title>
		<link>http://www.geiser.se/kan-jag-fa-en-offert/</link>
		<comments>http://www.geiser.se/kan-jag-fa-en-offert/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 12:11:03 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[Frågor]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[EGKG Data]]></category>
		<category><![CDATA[Företag]]></category>
		<category><![CDATA[Offert]]></category>
		<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=85</guid>
		<description><![CDATA[Fick imorse ett mail med följande fråga : &#8221;Programmerar du åt andra? Kan man skicka en beskrivning till dig på vad man är ute efter och sen få en offert på vad det skulle kosta?&#8221; Självklart! Jag är ju delägare i ett företag som pysslar med PHP programmering, så det går alldeles utmärkt att skicka [...]]]></description>
			<content:encoded><![CDATA[<p>Fick imorse ett mail med följande fråga : <img border="0" align="right" width="200" src="http://www.geiser.se/wp-content/uploads/2008/03/questionmark06.jpg" alt="questionmark06.jpg" height="200" /></p>
<p><em>&#8221;Programmerar du åt andra? Kan man skicka en beskrivning till dig på vad man är ute efter och sen få en offert på vad det skulle kosta?&#8221;</em></p>
<p>Självklart! Jag är ju delägare i ett företag som pysslar med PHP programmering, så det går alldeles utmärkt att skicka en offertförfrågan till oss. Vi jobbar alltid två och två i programmeringsprojekt och kan därför leverera script och annat ganska fort. Vårt pris är 450kr/tim exkl.moms, men vi kan även köra ersättningen per script eller mål.. det är upp till er. Vi lämnar all information i offerten ni får.</p>
<p>Ett par saker ni kan göra för att underlätta framtagningen av offerten:</p>
<ul>
<li>Var så detaljerad som möjligt.</li>
<li>Lämna inget åt slumpen, beskriv vad ni vill och inte vill att &#8221;koden&#8221; ska göra.</li>
<li>Bifoga allt material som krävs.</li>
<li>Har ni en deadline, skriv ner den.</li>
<li>Har ni en strikt budget? Låt oss ta del av den så att vi vet inom vilka ramar vi rör oss.</li>
<li>Andra krav&#8230; skriv ner dem också.</li>
</ul>
<p>Detta är bara exempel på vad som kan vara lämpligt att ta med i offertenförfrågan&#8230; ni bestämmer själva. Om vi får fiska efter mer information så tar också längre tid att lämna en offert.</p>
<p>Vill ni ha någonting kodat i PHP? Ni kan kontakta oss på <a href="mailto:info@egkgdata.se">info@egkgdata.se</a> eller <a href="mailto:kristoffer@egkgdata.se">kristoffer@egkgdata.se</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/kan-jag-fa-en-offert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP frågor</title>
		<link>http://www.geiser.se/php-fragor/</link>
		<comments>http://www.geiser.se/php-fragor/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 18:28:53 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Formulär]]></category>
		<category><![CDATA[Frågor]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=76</guid>
		<description><![CDATA[Idag har jag sett att det finns ännu fler frågor i min inbox&#8230; vilket återigen är otroligt kul. Denna gången är det uteslutande PHP frågor jag har fått (kul!!) och det är totalt två frågor jag kommer ta upp i detta inlägget. Fråga #1 &#8211; Av Jonathan Hej! Jag såg att du hade svarat på [...]]]></description>
			<content:encoded><![CDATA[<p><img border="0" align="right" width="200" src="http://www.geiser.se/wp-content/uploads/2008/03/questionmark06.jpg" alt="questionmark06.jpg" height="200" />Idag har jag sett att det finns ännu fler frågor i min inbox&#8230; vilket återigen är otroligt kul. Denna gången är det uteslutande PHP frågor jag har fått (kul!!) och det är totalt två frågor jag kommer ta upp i detta inlägget.</p>
<p><strong>Fråga #1 &#8211; Av Jonathan</strong><br />
<em>Hej! Jag såg att du hade svarat på ett par frågor i ditt senaste inlägg och tänkte passa på att göra det samma. Min fråga till dig är hur jag använder mig av<br />
form i html för att få det att funka i php? Alltså, hur gör jag för att ta spara dem sakerna jag skriver in i formuläret i PHP? Med spara menar jag i databasen. Exempelvis kan vi ta det formulär jag själv har skapat. Det består av två text fält, ett stort textfält (textarea) och en skicka knapp. Hur gör jag för att få in det som skrivs i fälten i databasen???&#8221;</em></p>
<p><em>Svar:</em><br />
Hej Jonathan!<br />
Din fråga är ganska vanlig och jag kan garantera dig att det finns hur många guider, tutorials och hjälpavsnitt om just detta på internet. Men, jag ska försöka förklara och samtidigt visa hur man på lättast sätt får det att fungera.</p>
<p>Du vill alltså helt enkelt spara undan det som skickas i formulärat&#8230; i databasen. Jag antar att du använder dig av MySQL och kommer därför skriva koden just för mysql. Först och främst så måste vi ha ett formulär (som du redan har), sen måste vi ta imot det som skickas i formuläret och tillsist ska det sparas i databasen. Jag antar även att du redan har en databas och en table så som du vill ha det.</p>
<p>Här är koden i alla fall (Tänk på att det är PDO med prepared statements jag använder.. så se till att du har det aktiverat på din webbserver), spara den som index.php<br />
[PHP]</p>
<form method="post" action="index.php">
Förnamn</p>
<input type="text" name="fornamn" />
Efternamn</p>
<input type="text" name="efternamn" />
<textarea name="meddelande"></textarea></p>
<input type="submit" name="submit" value="skicka" />
</form>
<p><?php<br />
if(isset($_POST['submit'])){<br />
$fornamn 	= $_POST['fornamn'];<br />
$efternamn 	= $_POST['efternamn'];<br />
$meddelande = $_POST['meddelande'];</p>
<p>$hostname = 'localhost'; // Adress till databasen<br />
$username = 'root'; //Användarnamn för databasen<br />
$password = ''; //Lösenord för databasen<br />
$database = 'testing'; //Namnet på databasen<br />
$table	  = 'tablenamn';</p>
<p>//Följande skapar själva anslutningen till database<br />
try {<br />
$conn = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);<br />
	}</p>
<p>catch(PDOException $e)<br />
    {<br />
echo $e->getMessage();<br />
    }</p>
<p>$do = $conn->prepare(&#8221;INSERT INTO $table (fornamn, efternamn, meddelande) VALUES (:fornamn, :efternamn, :meddelande)&#8221;);<br />
$do->bindParam(&#8216;:fornamn&#8217;, $fornamn);<br />
$do->bindParam(&#8216;:efternamn&#8217;, $efternamn);<br />
$do->bindParam(&#8216;:meddelande&#8217;, $meddelande);<br />
$do->execute();<br />
$conn = null;</p>
<p>echo &#8221;Dina uppgifter är sparade i databasen&#8221;;</p>
<p>}<br />
?><br />
[/PHP]</p>
<p>Detta är ett väldigt simpelt script som helt enkelt bara sparar det man skriver in, i databasen. Försök bygga vidare med kontroller och error hantering osv. En sak till som kan vara värt att nämna är det som heter method och finns i formuläret (method=&#8221;post&#8221;). Man kan använda sig av get också, men eftersom vi inte vill att allting ska synas i adressfältet när vi skickat vårt formulär, så håller vi oss till POST. Det är även som så att POST kan lagra mer data i sig och på så sätt kan man skicka väldigt stora formulär, vilket ibland kan behövas.</p>
<p>Jag föreslår att du kollar lite på denna sidan för att komma igång med grundläggande PHP.<br />
<a target="_blank" href="http://www.w3schools.com/php/default.asp">http://www.w3schools.com/php/default.asp</a></p>
<p><strong>Fråga #2 &#8211; Av Dexter (coolt namn om det är ditt riktiga!)</strong><br />
<em>&#8221;Har en fråga gällande PHP! Om jag vill lära mig PHP, i vilken ordning bör jag lära mig? Variablar först, funktioner sen&#8230;?&#8221;</em></p>
<p>Det är Über viktigt att du lär dig saker och ting i rätt ordning. Gör du inte det kommer du få problem längra fram i ditt kodande när du helt plötsligt inte vet hur man gör dem mest grundläggande sakerna. Länken som jag skickade i föregående fråga passa även in här. Den ordning dem har i sin tutorial är hyffsat ok. Vissa saker är väl kanske inte helt up to date som t ex databashanteringen&#8230; men de första 25 kapitel är OK.</p>
<p><a target="_blank" href="http://www.w3schools.com/php/default.asp">http://www.w3schools.com/php/default.asp</a></p>
<p>Tack för frågorna och fortsätt skicka in fler till kristoffer@geiser.se</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/php-fragor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oväntade frågor</title>
		<link>http://www.geiser.se/ovantade-fragor/</link>
		<comments>http://www.geiser.se/ovantade-fragor/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 02:49:53 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[Allmänt]]></category>
		<category><![CDATA[Frågor]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Barnfilter]]></category>
		<category><![CDATA[Binero]]></category>
		<category><![CDATA[Högskola]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Utbildning]]></category>
		<category><![CDATA[Webbhotell]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=68</guid>
		<description><![CDATA[Under påsken har det trillat in ett par mail i min inbox, vilket egentligen inte är så ovanligt&#8230;. det som förvånade mig var att mailen kom från helt okända personer som ställde frågor om PHP och lite annat. Mailen jag fick var från personer som hade läst min blogg, vilket jag tyckte var otroligt kul! [...]]]></description>
			<content:encoded><![CDATA[<p>Under påsken har det trillat in ett par mail i min inbox, vilket egentligen inte är så ovanligt&#8230;. det som förvånade mig var att mailen kom från helt okända personer som ställde frågor om PHP och lite annat. Mailen jag fick var från personer som hade läst min blogg, vilket jag tyckte var otroligt kul! Frågorna dem ställde var väldigt intressanta, så pass intressanta att jag vill lägga upp dem i bloggen så att alla kan ta del av frågorna, samt mina svar.</p>
<p>Totalt kom det in fyra mail med fyra frågor&#8230;ställda av fyra olika personer (så vitt jag kunde se)&#8230; så här kommer dem, följt av mina svar.</p>
<p><strong>Fråga #1 &#8211; Av Martin<br />
</strong><em>&#8221;Vad är dina bästa tips när det gäller säkerhet i PHP? Vad ska man tänka på, hur bör man koda osv. Det jag är mest intresserad av är hur man stoppar SQL-Injections. Tacksam för alla former av svar och förslag!&#8221;</em></p>
<p><em>Svar:</em><a rel="attachment wp-att-69" href="http://www.geiser.se/?attachment_id=69" title="binero1.JPG"></a><br />
När det gäller säkerhet, mer specikt säkerhet på webben så är det otroligt viktigt att man som kodare är medveten om de vanligaste hoten som finns där ute, hur man förebygger attacker, samt hur du implementerar denna säkerheten. Det kan även vara värt att nämna någonting om färdiga system (CMS) som t ex joomla, drupal, wordpress osv. Ta reda på om det finns kända buggar eller exploits i det system du använder och sätt stopp för dem.</p>
<p>I PHP finns det en större risk att du öppnar upp för attacker av olika slag jämfört med andra språk.<br />
Kort sagt så är det lättare att skapa osäker kod i PHP än andra språk&#8230;. fast det beror också på om man använder sig av något ramverk osv. Hur som helst, när vi pratar säkerhet i PHP, pratar vi indirrekt om otillåten åtkomst av databasen eller data i databasen. Så med detta i åtanke och iom att du sa <a target="_blank" href="http://sv.wikipedia.org/wiki/SQL-injektion">SQL-Injections</a> så fokuserar vi på skydd mot SQL-Injections. Egentligen så ska man även prata om server säkerhet, optimering och rätt konfigurering av dess komponenter (databasen, processer, portar osv osv), men vi håller oss till detta.</p>
<p>Det finns mängder och åter mängder med sajter där ute som tar upp just säkerhet och SQL-Injections&#8230; problemet med dessa sajter är att dem inte är &#8221;up to date&#8221; och många av de saker som skrivs är rent ut sagt vansinne. Idag finns det ett ord på tre bokstäver alla PHP kodare ska känna till&#8230;. PDO (PHP Data Objects). PDO med så kallade prepared statements är ett Mycket bra sätt att skydda sig mot SQL-Injections, den sköter hela processen åt dig. Så glöm addslashes(), mysql_real_escape_string() och alla i den &#8221;familjen&#8221;&#8230; har du möjlighet att använda PDO (vilket dem flesta webbhotell kan) så gör det. </p>
<p>Det ska även nämnas att du aldrig, och jag menar aldrig, får aldrig lämna input data ofiltrerad (T ex från formulär)&#8230; filtrera alltid allting som skickas in av användare&#8230;lita inte på någon. Jag avslutar med ett citat från <a href="http://www.php.net">php.net</a> angående PDO.</p>
<p><em>&#8221;</em><span><em>The parameters to prepared statements don&#8217;t need to be quoted; the driver handles it for you. If your application exclusively uses prepared statements, you can be sure that no SQL injection will occur.&#8221;</em></span></p>
<p><strong>Fråga #2 &#8211; Av Pernilla<br />
</strong><em>&#8221;Hej Kristoffer! Jag har en 12 årig son som surfar väldigt mycket och jag kan inte hjälpa att vara orolig över vad han kan bli utsatt för på internet. Jag vill helst inte att han ska vara inne på erotiska hemsidor, chatta med okända personer och allt sånt där. Finns det något sätt jag kan hindra honom från att surfa på liknande sidor? Jag är inte alls datorkunnig och är ute efter någonting som även jag kan förstå!&#8221;</em><span><em> </em></span></p>
<p><span></span><span><span></span><span><em>Svar:</em></span></span><span><span><br />
Det problem du beskriver finns nog bland de flesta föräldrarna i Sverige (världen). Det finns mycket på nätet som är olämpligt för en 12åring att se, men tyvärr så är det inte helt lätt att hindra dem från att göra det. Barn är idag extremt kunniga inom datorer och vet oftast mer än sina föräldrar&#8230; så i många utav fallen är det som att sätta upp ett 2cm högt staket runt dem&#8230; inte speciellt svårt att kliva över.</span></span></p>
<p><span><span></span></span><span><span></span><span><span>Men, det finns vissa saker du kan göra. Men först kan det vara lämpligt att tala med sitt barn och försöka förklara för dem varför du tycker som du gör, samt varför du inte vill att dem ska surfa på vissa hemsidor. Det är också bra att man försöker ge dem in minikurs i internet säkerhet&#8230; ta upp saker som lämna aldrig ut ditt namn, telefonnummer, adress eller annan information som kan avslöja vem du är&#8230; samt inga kreditkortsuppgifter eller liknande.</span><span><span class="simpara"></span><span class="simpara">Det finns även så kallade barnfilter som man kan använda för att kontrollera vad dem ser och inte ser. </span></span></span></span></p>
<p><span><span><span><span class="simpara"></span></span></span></span><span></span><span><span><span class="simpara"></span></span></span><span><span><span class="simpara">Jag har personligen ingen erfarenhet av dem (har inga barn), men jag kollade runt lite och hittade en del intressanta alternativ. Du kan, om du har vista, använda deras inbyggda barnfilter som skyddar mot de vanligaste pedofilinfekterade hemsidorna. Titta gärna även på på denna sidan.. här har du massor med olika slags filter (engelska).</span></span></span><span> </span></p>
<p><span></span><span><span><span class="simpara"></span></span><span></span><span class="simpara"><a href="http://www.snapfiles.com/Freeware/misctools/fwparents.html">http://www.snapfiles.com/Freeware/misctools/fwparents.html</a></span></span></p>
<p><span><span class="simpara"></span></span><span><span class="simpara"></span><span class="simpara"></span><span>Utöver detta så använd gärna <a target="_blank" href="http://www.google.se">google </a>för att söka runt lite. Det finns massor med information om detta på nätet&#8230; du är inte ensam!! Så mycket kan jag lova!</span></span></p>
<p><span><span></span></span><span><span></span><span></span><span><strong>Fråga #3 &#8211; Av Robert<br />
</strong><em>&#8221;Vill gärna ställa en fråga till dig och jag hoppas att du har tid att svara! Jag kommer gå ut gymnasiet nu till sommaren och planerar att börja studera på högskola i augusti. Mitt största intresse är IT och jag vill därför utbilda mig inom detta så att jag har en större chans att få jobba med det jag vill jobba med :) För att ge dig ännu mer detaljer så är det programmering som är det jag vill utbilda mig inom, JAVA programmering. Mina fråga lyder&#8230; Är det värt att utbilda sig till JAVA programmerare?  Finns det jobb? Vart ska jag studera? Har du studerat programmering? Tacksam för svar!!!&#8221;</em></span></span></p>
<p><span><span></span></span><span><span></span><span><em>Svar:<br />
</em>Hej Robert! Jag börjar i omvänd ordning och svarar på din sista fråga först. Ja, jag har studerat programmering (C#, JAVA, Assembler, PERL, ASP.NET, PHP) och nu i efterhand har det varit väldigt givande eftersom jag har en liten insyn i många språk och kan på så sätt göra vissa jämförelser. Att du har bestämt dig för att börja studera på högskola är väldigt bra och du kommer ha många roliga stunder..kombinerat med många härligt stressiga situationer <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span><span> </span></span></p>
<p><span><span></span></span><span></span><span><span></span><span>Första frågan du ställde: <em>&#8221;Är det värt att utbilda sig till JAVA programmerare?&#8221;<br />
</em>Om du är intresserad av just JAVA&#8230; absolut!! Det finns många många många program som är utvecklade i java idag, så självaste språket är helt klart levande och kommer fortsätta att leva en bra tid framöver. Jag pluggade en 7,5p kurs i JAVA för ett bra tag sedan&#8230; inte riktigt min grej, men jag såg hur kraftfullt språket var (är) och vad man kunde göra efter att man blivit duktig i det&#8230;.. jag och en till byggde ett grafiskt yatzee spel som slutprojekt vilket var väldigt roligt <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span><span> </span></span></p>
<p><span><span></span></span><span></span><span><span></span><span><span class="simpara">Andra frågan du ställde: <em>&#8221;Finns det jobb?&#8221;</em><br />
Arbetsmarknaden för en JAVA programmerare är minst sagt ljus. Jag tog mig friheten att kolla hur många JAVA relaterade platsannonser jag kunde hitta i Sverige. Hela 164 st från söder till norr&#8230;. det låter kanske inte som så mycket.. men du behöver bara 1 av dem jobben, de andra 163 onödiga.</span></span></span><span> </span></p>
<p><span></span><span><span><span class="simpara"></span><span class="simpara">Tredje frågan du ställde: <em>&#8221;Vart ska jag studera?&#8221;</em><br />
Svår fråga&#8230; beror ju helt och hållet på hur långt du är villig att flytta. Sen är det svårt för mig att rekommendera högskolor eftersom jag inte har den blekaste aning hur bra och relevanta utbildningar dem har.</span><span class="simpara">Den skola jag kan rekommendera dock är Halmstad Högskola, samt programmet &#8221;Programmering&#8221; (själv läste jag Nätverksdesign &amp; datordrift + forsättnings utbildning). Programansvarig person heter Nicolina Månsson och är en underbar lärare med stora JAVA kunskaper. Jag har haft henne som lärare i ett par kurser och jag måste nog säga att det är en av dem bästa på Halmstad Högskola. Så har du frågor om programmet så är det Nicolina du ska kontakta.</span></span></span><span> </span></p>
<p><span></span><span><span><span class="simpara"></span><span class="simpara"><span class="simpara"><strong>Fråga #4 &#8211; Av Peder<br />
</strong><em>&#8221;Hej Kristoffer! Jag hoppas att det är OK att jag mailar en fråga till dig. Du verkar vara verkar vara rätt insatt i webbhotell osv. Det är så här att jag funderar på att skaffa ett konto på ett webbhotell så att jag kan publicera lite hemsidor och ha domäner på. Vilket webbhotell rekommenderar du?</em></span><span class="simpara"><em>&#8221;</em></span></span></span><span> </span></span></p>
<p><span><span></span></span><span></span><span><span></span><span><span class="simpara"></span><span class="simpara"><em>Svar:</em><br />
Hej Peder! Insatt och insatt&#8230; jag har inte stenhård koll på vad alla erbjuder nu för tiden, eller till vilka priser. Men det finns ett webbhotell jag kan rekommendera med gott samvete. Eftersom du inte nämner någonting om vad du behöver ha på ditt webhotell (PHP, ASP.NET, Trafik, Utrymme osv osv) vilket kan vara avgörande, så utgår jag helt enkelt ifrån vad jag själv tycker.</span></span></span></p>
<p><span><span><span class="simpara"><a target="_blank" href="http://www.binero.se">Binero</a><br />
Hos binero kan du välja om du vill ligga på en windows maskin eller freebsd&#8230; du kan välja mellan ett privat konto eller ett företagskonto (det jag har). Dem erbjuder mer eller mindre alla tekniker du kan tänkas behöva, samt så har dem en bra support och bra upptid. Dem är alltid trevliga, hjälper gärna till och framförallt så är dem väldigt öppna i företaget och låter sina kunder få en djupare inblick i företagets verksamhet (dem delar gärna med sig)&#8230; samt så har dem en <a target="_blank" href="http://www.binero.se/blogg/?p=134">semla som är över 1 år gammal</a> vilket i sig självt är imponerande.</span></span><span> </span></span></p>
<p><span><span></span></span><span></span><span><span></span><span><span class="simpara"></span><span class="simpara">Binero kan erbjuda dig följande:</span></span></span><span> </span><span><span><span class="simpara"><br />
<a target="_blank" href="http://www.binero.se/webbhotell"><img src="http://www.geiser.se/wp-content/uploads/2008/03/binero1.JPG" alt="binero1.JPG" /></a> <a target="_blank" href="http://www.binero.se/webbhotell"><img src="http://www.geiser.se/wp-content/uploads/2008/03/binero2b.JPG" alt="binero2b.JPG" /></a></span></span></span></p>
<p><span><span><span class="simpara"></span></span></span><span><span><span class="simpara"></span><span class="simpara">Prova öppna ett konto hos dem&#8230; det är fritt fram att testa i 14 dagar.</span></span></span></p>
<p><span><span><span class="simpara"></span></span></span><span><span><span class="simpara"></span><span class="simpara">Det var alla frågor. Jag tyckte det var otroligt kul att få mail från er läsare och att ni ställde så intressant frågor! Finns det fler där ute som har ett problem, en fråga eller fundering kring IT och PHP&#8230; maila mig på <a href="mailto:kristoffer@geiser.se">kristoffer@geiser.se</a> så ska jag försöka svara på dessa i bloggen.</span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/ovantade-fragor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vill du lära dig skapa dynamiska webbsidor? Lär dig PHP!</title>
		<link>http://www.geiser.se/vill-du-lara-dig-skapa-dynamiska-webbsidor-lar-dig-php/</link>
		<comments>http://www.geiser.se/vill-du-lara-dig-skapa-dynamiska-webbsidor-lar-dig-php/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 20:31:54 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[Allmänt]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[Säkerhet]]></category>
		<category><![CDATA[Språk]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=60</guid>
		<description><![CDATA[Jag har programmerat i många olika språk under flera år, både privat, i jobb och genom utbildningar. De språk jag kommit i kontakt med är C#, JAVA, Assembler, PERL, ASP, ASP.NET och PHP&#8230; grundprincipen är den samma i alla språken, men det enda jag riktigt fastnade för var PHP. Det var lätt att förstå, man kom [...]]]></description>
			<content:encoded><![CDATA[<p><img border="0" align="right" width="250" src="http://www.geiser.se/wp-content/uploads/2008/03/800px-php-n_logo_svg.png" alt="800px-php-n_logo_svg.png" height="132" />Jag har programmerat i många olika språk under flera år, både privat, i jobb och genom utbildningar. De språk jag kommit i kontakt med är C#, JAVA, Assembler, PERL, ASP, ASP.NET och PHP&#8230; grundprincipen är den samma i alla språken, men det enda jag riktigt fastnade för var PHP. Det var lätt att förstå, man kom snabbt igång, det är kraftfullt och snabbt.</p>
<p>Nu när jag skriver detta inlägg så inser jag att det kommer bli en hel del sura miner bland programmerarna där ute&#8230; det finns en viss rivalitet mellan oss PHP programmerare och speciellt ASP.NET programmerare (dotnettare). Jag inser också att det finns fördelar och nackdelar med alla språk, men här följer i alla fall en lista på 5 skäl att använda/lära sig PHP.</p>
<p><strong>#1 &#8211; Det är lätt att komma igång<br />
</strong>Det krävs inga jättekunskaper att komma igång med PHP (om man kan de grundläggande kunskaperna i programmering). Hitta en bra tutorial att följa och du kommer lätt snappa upp hur det är strukturerat och fungerar. Många väljer att köpa böcker för flera hundra kronor när det ska lära sig något nytt, och visst&#8230; ibland så är det bra att ha böcker i PHP. Men jag tycker du ska börja med att läsa några av de tusentals tutorials som finns ute på nätet först!</p>
<p>Bra sidor som hjälper dig komma igång (Engelska)<br />
<a target="_blank" href="http://www.w3schools.com/php/default.asp">W3Schools</a> (Här kan du lära dig grunderna)<br />
<a target="_blank" href="http://www.php.net">PHP.NET</a> (Ett måste för alla PHP programmerare)<br />
<a target="_blank" href="http://www.google.com">Google</a> (Search and you shall find)</p>
<p><strong>#2 &#8211; Det är gratis<br />
</strong>PHP är helt gratis att använda. Det är open source vilket innebär att du kan göra vilka modifikationer du vill.</p>
<p><strong>#3 -</strong> <strong>Forum &amp; community<br />
</strong>Det finns massor med sidor vars syfte är att hjälpa dig i ditt programmerande. Du kan få massor med hjälp av väldigt duktiga personer på följande sidor:</p>
<p><a target="_blank" href="http://www.webforum.nu">Webforum</a><br />
<a target="_blank" href="http://www.wn.se">Webmaster Network</a><br />
<a target="_blank" href="http://www.webmaster-talk.com/">Webmaster-Talk</a><br />
<a target="_blank" href="http://www.phpportalen.net/">PHPportalen</a><br />
<a target="_blank" href="http://" title="http://www.phpsidan.nu/">PHPSIDAN</a></p>
<p><strong>#4 -</strong> <strong>PHP är snabbt!<br />
</strong>PHP är väldigt effiktivt och snabbt&#8230; snabbare än de flesta andra språk. Zend Technologies har gjort vissa benchmarks som visar att PHP är snabbare än många av sina konkurrenter. Detta går naturligtvis att diskutera&#8230;. men en sak är säkert och det är att PHP på en hyffsad server kan behandla miljontals besökare varje dag.</p>
<p><strong>#5 &#8211; Stödjer flera typer av databaser<br />
</strong>PHP stödjer många databaser, bland annat MySQL, MSQL, Oracle, PostgreSQL,  dbm, HyperWave, Indormix, FilePro, Sybase databases, InterBase. Du kan också använda dig av <a target="_blank" href="http://se2.php.net/pdo">PDO</a> vilket ger dig ett otroligt bra skydd mot SQL-injections.</p>
<p>Dessa 5 skäl är bara en droppe i havet av vad PHP kan erbjuda dig som programmerare. Dock så är trots allt det viktigaste att du hittar ett språk som passar dig (förhoppsningsvis PHP) som du känner dig bekväm i.</p>
<p>Man blir aldrig fullärd i PHP och det kan ta väldigt lång tid att få flyt i sitt kodande. Men har man intresset, motivationen och viljan så kommer det gå snabbare än du tror.</p>
<p>Jag vill avsluta med att säga att säkerhet är någonting man bör ha i åtanke från början! Lär dig programmera säkert från början och håll dig uppdaterad!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/vill-du-lara-dig-skapa-dynamiska-webbsidor-lar-dig-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Summer of Code 2008</title>
		<link>http://www.geiser.se/google-summer-of-code-2008/</link>
		<comments>http://www.geiser.se/google-summer-of-code-2008/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 20:54:59 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[Allmänt]]></category>
		<category><![CDATA[Nyheter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=58</guid>
		<description><![CDATA[Det hela började 2005 då Google började sponsra utvecklingen av en mängd olika open source projekt. Syftet med Google Summer of Code (GSoC) är följande: Skapa fler open Source lösning som gynnar oss alla. Inspirera unga utvecklare att delta i open source projekt. Hjälpa open source projekt att hitta nya utvecklare och intressanter. Ge studenter [...]]]></description>
			<content:encoded><![CDATA[<p>Det hela började 2005 då Google började sponsra utvecklingen av en mängd olika open source projekt. Syftet med Google Summer of Code (GSoC) är följande:</p>
<ul>
<li>Skapa fler open Source lösning som gynnar oss alla.</li>
<li>Inspirera unga utvecklare att delta i open source projekt.</li>
<li>Hjälpa open source projekt att hitta nya utvecklare och intressanter.</li>
<li>Ge studenter en chans att jobba inom sitt utbildningsområde</li>
<li>Ge studenter insyn i hur det fungerar i verkligheten hos utvecklingsföretag, med riktiga scenarion.</li>
</ul>
<p>Antalet studenter som deltar är många:</p>
<p>2005: ca 400 st<br />
2006: ca 600 st<br />
2007: ca 900 st<br />
2008: Inga siffror ännu</p>
<p>Antalet stödjande organisationer:<br />
2005: ca 40 st<br />
2006: ca 100 st<br />
2007: ca 130 st<br />
2008: Inga siffror ännu</p>
<p>Det har fastställts ett par (ganska många) deltagande organisationer till GSoC 2008, och där finns ett par stycken som jag personligen tycker är intressanta att följa:</p>
<p>PHP<br />
WordPress<br />
MySQL<br />
Google<br />
<a target="_blank" href="http://code.google.com/soc/2008/">Hela Listan</a></p>
<p>Detta &#8221;event&#8221; är otroligt intressant att följa, samt så är självaste konceptet &#8221;open Source&#8221; ett riktigt hett samtalsämne idag. Fler och fler börjar inse vikten av open source och vad det kan ha (och har) för betydelse idag. Många stora företag har sedan en tid tillbaka omfamnat open source konceptet vilket gynnar oss alla!</p>
<p>Ni kan läs mer om GSoC här:<br />
<a target="_blank" href="http://code.google.com/soc/2008/">GSoC 2008</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/google-summer-of-code-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Registrering+inlogg</title>
		<link>http://www.geiser.se/registreringinlogg/</link>
		<comments>http://www.geiser.se/registreringinlogg/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 15:39:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=22</guid>
		<description><![CDATA[Nästa PHP script jag vill dela med mig av är ett registrerin+login system i PHP som jobbar mot en MySQL databas. Innan ni testar scriptet måste ni kontrollera om ni har PDO aktiverat i php.ini&#8230;. om ni inte har det kan ni läsa här. Värt att nämna är att jag sparar alla uppgifter tillsammans i [...]]]></description>
			<content:encoded><![CDATA[<p>Nästa PHP script jag vill dela med mig av är ett registrerin+login system i PHP som jobbar mot en MySQL databas. Innan ni testar scriptet måste ni kontrollera om ni har PDO aktiverat i php.ini&#8230;. om ni inte har det kan ni <a target="_blank" href="http://se2.php.net/manual/en/ref.pdo.php" title="läsa här">läsa här</a>.</p>
<p>Värt att nämna är att jag sparar alla uppgifter tillsammans i databasen för att lättare illustrera. För att utöka säkerheten bör man spara saltet och möjligtvis x på andra ställen.</p>
<p>Hela scriptet finns att ladda ner under fliken PHP högst uppe.</p>
<p><strong>register.php</strong><br />
[php]<br />
<?php<br />
//Kontrollerar om du försöker registrera dig<br />
if(isset($_POST['skicka'])){<br />
include 'inc/connect.php';<br />
include 'inc/functions.php';</p>
<p>$in_user 	= $_POST['user'];<br />
$in_pass 	= $_POST['pass'];<br />
$in_check 	= $_POST['check'];</p>
<p>//Anropar tre funktioner som kontrollerar de inmatade värdena<br />
$check1 = langd($in_user, $in_pass);<br />
$check2 = same($in_pass, $in_check);<br />
$check3 = exists($in_user);</p>
<p>//Om allt är ok<br />
if($check1 == "ok"){<br />
if($check2 == "ok"){<br />
if($check3 == "ok"){</p>
<p>//Genererar ett slumpat tal<br />
$x = mt_rand(strlen($in_user), 101);<br />
//Anropar frunktioner för att generera hash+salt+multiple runs<br />
$p_hash = password($in_pass, $x);<br />
$salt	= salt();<br />
$fused  = fuse($p_hash, $salt, $x);</p>
<p>//Skickar in värdena i databasen<br />
$count = $conn->exec(&#8221;INSERT INTO Uregister(user, password, salt, x)VALUES(&#8216;$in_user&#8217;, &#8216;$fused&#8217;, &#8216;$salt&#8217;, &#8216;$x&#8217;)&#8221;);<br />
$conn = null;</p>
<p>header (&#8221;location: register.php?done&#8221;);<br />
}<br />
}<br />
}<br />
//Skriver ut eventuella felmeddelanden<br />
if($check1 !== &#8221;ok&#8221;){ echo &#8221;$check1<br />&#8221;;}<br />
if($check2 !== &#8221;ok&#8221;){ echo &#8221;$check2<br />&#8221;;}<br />
if($check3 !== &#8221;ok&#8221;){ echo &#8221;$check3<br />&#8221;;}<br />
}<br />
if(isset($_GET['done'])){<br />
echo &#8221;Registrering lyckad&#8221;;<br />
}<br />
?></p>
<form action="register.php" method="post">
Användarnamn:  </p>
<input type="text" name="user" /> <em>Minst 4 tecken</em><br />
Lösenord: </p>
<input type="password" name="pass" /> <em>Minst 4 tecken</em><br />
Upprepa Lösenord: </p>
<input type="password" name="check" /></p>
<input type="submit" name="skicka" value="Registrera" />
</form>
<p>[/php]</p>
<p><strong>login.php</strong><br />
[php]<br />
<?php<br />
//If-sats som kontrollerar om man försöker logga in<br />
if(isset($_POST['login'])){<br />
include 'inc/connect.php';<br />
include 'inc/functions.php';</p>
<p>$in_user = $_POST['user'];<br />
$in_pass = $_POST['pass'];</p>
<p>//Hämtar värden från databasen, baserat på användarnamnet<br />
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);<br />
$do = $conn->prepare(&#8221;SELECT password, salt, x FROM Uregister WHERE user = :user LIMIT 1&#8243;);<br />
$do->bindParam(&#8216;:user&#8217;, $in_user, PDO::PARAM_STR);<br />
$do->execute();<br />
$obj = $do->fetch(PDO::FETCH_OBJ);</p>
<p>$db_pass = $obj->password;<br />
$db_salt = $obj->salt;<br />
$db_x	 = $obj->x;</p>
<p>//Anropar funktionerna som behövs föra tt återskapa lösenordet<br />
$gen_pass = password($in_pass, $db_x);<br />
$gen_fuse = fuse($gen_pass, $db_salt, $db_x);<br />
$conn = null;</p>
<p>//Kontrollerar om lösenorden matchar<br />
if($gen_fuse == $db_pass){<br />
//Skapar en session med alla uppgifter<br />
session_start();<br />
$_SESSION['user'] 	= $in_user;<br />
$_SESSION['pass'] 	= $db_pass;<br />
$_SESSION['ip'] 	= $_SERVER['REMOTE_ADDR']; </p>
<p>echo &#8221;Du är nu inloggad som {$_SESSION['user']}&#8221;;<br />
}<br />
else{ echo &#8221;Fel användarnamn eller lösenord&#8221;; }<br />
}<br />
?></p>
<form action="login.php" method="post">
Användarnamn:  </p>
<input type="text" name="user" /> <em>Minst 4 tecken</em><br />
Lösenord: </p>
<input type="password" name="pass" /> <em>Minst 4 tecken</em></p>
<input type="submit" name="login" value="Login" />
</form>
<p>[/php]</p>
<p><strong>functions.php</strong><br />
[php]<br />
<?php<br />
//Kontrollerar längden på användarnamn och lösenord<br />
function langd ($var1, $var2){<br />
	if(strlen($var1)< 4 || strlen($var2) < 4){<br />
	$error = "*Användarnamnet eller lösenordet är för kort";<br />
	}<br />
	else {$error = "ok"; }<br />
	return $error;<br />
}</p>
<p>//Kontrollerar om lösenordet matchar det upprepade lösenordet<br />
function same($var1, $var2){<br />
	if($var1 !== $var2){ $error = "*Lösenorden matchar inte"; }<br />
	else { $error = "ok"; }<br />
	return $error;<br />
}</p>
<p>//Kontrollerar om användarnamnet redan existerar<br />
function exists ($var1){<br />
	include 'connect.php';</p>
<p>	$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);<br />
	$do= $conn->prepare (&#8221;SELECT COUNT(id) as antal FROM Uregister WHERE user = :user &#8221;);<br />
	$do->bindParam(&#8216;:user&#8217;, $var1, PDO::PARAM_INT);<br />
	$do->execute();<br />
	$obj = $do->fetch(PDO::FETCH_OBJ);<br />
	$db_count = $obj->antal;</p>
<p>	if($db_count < 1){ $error = "ok"; }<br />
	else { $error = "*Det angivna användarnamnet finns redan"; }<br />
	$conn = null;<br />
	return $error;<br />
}</p>
<p>//Hashar lösenordet<br />
function password ($password, $x){<br />
	$password = md5($password);<br />
	for($i=0; $i <= $runs; $i++){<br />
	$password = sha1($password);<br />
	}<br />
	return $password;<br />
}</p>
<p>//Skapar ett salt<br />
function salt (){<br />
	$chars = "8!b9yea@of,g5ic¤j2d3k4_l7mhrn%#ps&#038;t6uqvx-.1";<br />
	$length = strlen($chars);</p>
<p>	for($i=0; $i <= $length; $i++){<br />
	$runs = mt_rand(0,$length);<br />
	$salt .= substr($chars, $runs, 1);<br />
	}<br />
	return sha1($salt);<br />
}<br />
//Bakar ihop lösenordet och saltet i en loop<br />
function fuse ($password, $salt, $x){<br />
	for($i=0; $i <= $runs; $i++){<br />
	$fused = sha1("$password @:_:@ $salt");<br />
	}<br />
	return $fused;<br />
}<br />
?><br />
[/php]</p>
<p><strong>connect.php</strong><br />
[php]<br />
<?php<br />
$hostname = 'localhost';<br />
$username = 'root';<br />
$password = '';<br />
$database = 'users';</p>
<p>try {<br />
$conn = new PDO("mysql:host=$hostname;dbname=users", $username, $password);<br />
	}</p>
<p>catch(PDOException $e)<br />
    {<br />
echo $e->getMessage();<br />
    }<br />
?><br />
[/php]</p>
<p><strong>Tabellen för databasen</strong><br />
[php]<br />
CREATE TABLE `users`.`uregister` (<br />
`id` INT( 100 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,<br />
`user` VARCHAR( 50 ) NOT NULL ,<br />
`password` VARCHAR( 50 ) NOT NULL ,<br />
`salt` VARCHAR( 50 ) NOT NULL ,<br />
`x` INT( 10 ) NOT NULL<br />
) ENGINE = MYISAM<br />
[/php]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/registreringinlogg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Väldigt simpel miniräknare</title>
		<link>http://www.geiser.se/valdigt-simpel-miniraknare/</link>
		<comments>http://www.geiser.se/valdigt-simpel-miniraknare/#comments</comments>
		<pubDate>Wed, 05 Mar 2008 11:55:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=19</guid>
		<description><![CDATA[Fick frågan av en gammal kompis som precis börjat programmera i PHP hur man gör en miniräknare. Så jag visade honom&#8230; jag spelade in en film där jag steg för steg visar hur man på ett väldigt simpelt sätt kan göra detta. Detta är absolut ett nybörjar script, men för honom så var det ett [...]]]></description>
			<content:encoded><![CDATA[<p>Fick frågan av en gammal kompis som precis börjat programmera i PHP hur man gör en miniräknare. Så jag visade honom&#8230; jag spelade in en film där jag steg för steg visar hur man på ett väldigt simpelt sätt kan göra detta. Detta är absolut ett nybörjar script, men för honom så var det ett bra sätt att förstå hur man skapar funktioner, samt hur man kan jobba med switch-satser, if-satser och formulär.</p>
<p>Jag vill varna för stavfel och gramatikfel&#8230; jag hade inget manus eller mall att gå efter. Jag bara skrev scriptet rakt upp och ner, så en del formuleringar och annat kan vara lite &#8221;off&#8221;.</p>
<p> &#8211; Filmen är borttagen -</p>
<p>Här är koden</p>
<p>[php]<br />
<!--p<-->//Vi börjar med att skapa en funktion som kan räkna ut det vi vill att den ska<br />
function calc($value1, $value2, $x){</p>
<p>//Vi vill sedan skapa en if-sats som kan kontrollera om de inskickade värdena är toma.<br />
//Om dem är det så returnerar vi ett felmeddelande istället för summan av en uträkning.<br />
//Vi börjar dock med att ta bort alla eventuella blanksteg (mellanslag)<br />
$value1 = trim($value1);<br />
$value2 = trim($value2);<br />
if(empty($value1) || empty($value2) || empty($x)){<br />
$sum = &#8221;Du måste fulla i alla fält&#8221;;<br />
}</p>
<p>//Om allt är OK i if-satsen ovan börjar vi uträkningarna, beroende på räknesättet.<br />
else{<br />
switch($x){<br />
case &#8216;+&#8217;: $sum = $value1+$value2; break;<br />
case &#8216;-&#8217;: $sum = $value1-$value2; break;<br />
case &#8216;*&#8217;: $sum = $value1*$value2; break;<br />
case &#8216;/&#8217;: $sum = $value1/$value2; break;<br />
}<br />
}<br />
//Vi returnerar här $sum som innehåller antingen ett felmeddelande, eller summan av<br />
//en uträkning<br />
return $sum;<br />
}</p>
<p>//Nu behöver vi en if-sats som kontrollerar när formuläret vi kommer skapa sist, skickas.<br />
//Vi vill även skicka alla värden till funktionen calc så att vi får tillbaka summan av uträkningen<br />
//Vi vill även skriva ut vad vi räknar ut, och vad summan blir&#8230; alternativt ett felmeddelande.<br />
if(isset($_POST['skicka'])){<br />
$sum = calc($_POST['tal1'], $_POST['tal2'], $_POST['x']);<br />
echo &#8221;{$_POST['tal1']} {$_POST['x']} {$_POST['tal2']} = $sum&#8221;;<br />
}</p>
<p>//Sista steget är att skapa själva formuläret som används för att skicka de värden vi vill räkna ut.<br />
//Samt vilket räknesätt&#8230; Detta sker i ren HTML<br />
?&gt;</p>
<form method="post" action="calc.php">Tal 1:<br />
<input name="tal1" />
<input name="x" type="radio" /> +<br />
<input name="x" type="radio" /> &#8211;<br />
<input name="x" type="radio" /> *<br />
<input name="x" type="radio" /> /Tal 2:</p>
<input name="tal2" />
<input name="skicka" type="submit" /> </form>
<p>[/php]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/valdigt-simpel-miniraknare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.geiser.se/wp-content/uploads/2008/03/4565.avi" length="106447798" type="video/x-msvideo" />
		</item>
		<item>
		<title>En programmerares miljö</title>
		<link>http://www.geiser.se/en-programmerares-miljo/</link>
		<comments>http://www.geiser.se/en-programmerares-miljo/#comments</comments>
		<pubDate>Tue, 04 Mar 2008 11:56:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Allmänt]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmering]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=18</guid>
		<description><![CDATA[Eftersom programmering är ett av mina intressen, spenderar jag ganska mycket tid framför datorn och knackar kod. Det är därför väldigt att omgivningen är så bekväm och optimal som möjligt. Jag är inte en Jolt slukande, chips ätande power programmerare utan föredrar en annan typ av &#8221;uppsättning&#8221; när jag ska sitta länge framför datorn. Först och främst [...]]]></description>
			<content:encoded><![CDATA[<p>Eftersom programmering är ett av mina intressen, spenderar jag ganska mycket tid framför datorn och knackar kod. Det är därför väldigt att omgivningen är så bekväm och optimal som möjligt. Jag är inte en Jolt slukande, chips ätande power programmerare utan föredrar en annan typ av &#8221;uppsättning&#8221; när jag ska sitta länge framför datorn.</p>
<p>Först och främst strukturerar jag upp mitt arbete och bestämmer vad som ska göras och i vilken ordning. Jag programmerar aldig på tom mage då det har en tendens att få hjärnan seg (inte så konstigt). Jag dricker väldigt mycket när jag sitter framför datorn, och då menar jag inte sprit. Det blir vatten eller Pepsi Max, alternativt en lättöl. Sen har jag alltid vissa rutiner innan jag börjar (har bara blivit så).</p>
<ol>
<li>Jag kontrollerar alltid e-posten och svarar på obesvarade mail.</li>
<li>Avslutar andra påbörjade saker  som t ex påbörjade texter, photoshop saker mm.</li>
<li>Ordnar en skön playlist i winamp (T ex. Daft Punk, No Doubt, Save Ferris, Timbaland, The Ventures&#8230; osv).</li>
<li>Ofta så programmerar jag tillsammans med en annan (Erik), så vi brukar delar upp arbetet mellan oss.</li>
<li>Utöver detta så eliminerar jag alla störande moment runt omkring mig.</li>
</ol>
<p>För den mer teknikintresserade kör jag på följande utrustning och mjukvaror</p>
<ul>
<li><strong>Operativsystem:</strong> <em>WinXP Pro och 2003 server. Vi använder 2003 på vår utvecklingsserver som vi ansluter remote till och färdigställer projekt.</em></li>
<li><strong>Hårdvara:</strong> <em>AMD 64 X2 Dual Core 3800+, 3GB Ram.</em></li>
<li><strong>Skärm:</strong> <em>20&#8243; LCD</em></li>
<li><strong>Program:</strong> <em>Dreamweaver, Notepad++, Notepad.</em></li>
<li><strong>PHP: </strong><em>Version 5.2.4</em></li>
<li><strong>Apache: </strong><em>Version 2.2.4</em></li>
<li><strong>MySQL:</strong><em> Version 5.0.45</em></li>
</ul>
<p>Det är väldigt personligt hur man programmerar och i vilken miljö man väljer att befinna sig i&#8230; men så här är det för mig och det fungerar perfekt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/en-programmerares-miljo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

