<?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/category/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>Fri, 03 Sep 2010 05:22:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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>0</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>3 tips för dig som felsöker PHP-kod</title>
		<link>http://www.geiser.se/3-tips-for-dig-som-felsoker-php-kod/</link>
		<comments>http://www.geiser.se/3-tips-for-dig-som-felsoker-php-kod/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 19:42:10 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=599</guid>
		<description><![CDATA[Alla programmerare fastnar. Koden både känns och ser rätt ut, men trots detta så spottar sidan tillbaka massa errors, eller så fungerar koden inte som tänkt. Vi har alla varit där och gör med jämna mellanrum återbesök.
Kommer du ingen vart efter många omgånger av att ha stirrat sönder ögonen och har varit nära på att [...]]]></description>
			<content:encoded><![CDATA[<p>Alla programmerare fastnar. Koden både känns och ser rätt ut, men trots detta så spottar sidan tillbaka massa errors, eller så fungerar koden inte som tänkt. Vi har alla<img src="http://www.geiser.se/wp-content/uploads/2009/10/php.png" alt="php" title="php" width="128" height="128" class="alignright size-full wp-image-606" /> varit där och gör med jämna mellanrum återbesök.</p>
<p>Kommer du ingen vart efter många omgånger av att ha stirrat sönder ögonen och har varit nära på att ge upp? Då är det dags att gå vidare. Nedan har jag listat vad jag tycker är de bästa sätten att komma vidare. Lägg märke till ordningen då även den är viktig!</p>
<p><strong>GOOGLE</strong><br />
Google är fungerar i 99,99% av fallen. Knepet är att formulera sökningen på korrekt sätt. <a href="http://www.google.se"><img src="http://www.geiser.se/wp-content/uploads/2009/10/Google3.PNG" alt="Google" title="Google" width="149" height="54" class="alignright size-full wp-image-618" /></a> Om skriptet spottar tillbaka en felkod kan du exempel klistra in den i sökfältet. Om du vill lära dig hur man laddar upp en fil kan du exempelvis skriva &#8221;PHP file upload&#8221; så får du hur många exempel som helst. Google ska ALLTID användas i första hand!<br />
<a href="http://php.net"><img src="http://www.geiser.se/wp-content/uploads/2009/10/1256066810_php.png" alt="php.net" title="php.net" width="128" height="128" class="alignright size-full wp-image-630" /></a><br />
<strong>PHP.NET</strong><br />
PHP-programmerarens bibel är PHP.NET! Här finns allt du behöver veta om funktioner och hur man använder dem. Allting är väldigt bra förklarat och i 9 fall av 10 finns det exempel att utgå ifrån. </p>
<p><a href="http://php.net">BESÖK PHP.NET</a></p>
<p><strong>FORUM</strong><img src="http://www.geiser.se/wp-content/uploads/2009/10/1256067214_Chat1.png" alt="Forum" title="Forum" width="87" height="84" class="alignright size-full wp-image-636" /><br />
Om varken Google eller PHP.NET hjälper så har du förmodligen använt dem fel! Om du fortfarande hävdar att du inte kan hitta en lösning så finns det ett sista steg som även det är effektivt, nämligen forum. Här får du möjligheten att prata med andra programmerare och presentera ditt dilemma. Var dock noga med att följa forumregler och sök alltid i forumet först innan du ställer din fråga! Om inget annat är en intern forumsökning ett bevis på att du faktiskt själv har försökt lösa problemet.</p>
<p>Det finns ett flertal svenska forum som du kan använda dig av.. exempelvis:</p>
<p><a href="http://webforum.nu">Webforum</a><br />
<a href="http://phpportalen.net">PHPportalen</a><br />
<a href="http://www.phpsidan.nu">PHPSidan</a></p>
<p>För många kan dessa tre tips verka uppenbara och kanske till och med lite för &#8221;basic&#8221;. Nej&#8230; jag ser samma problem nästan varje dag. Folk tar hellre genvägar eller försöker få andra att lösa problemet åt en. Om man programmerar i PHP och vill fotsätta göra det måste man också lära sig att lösa problemet själv. När jag själv började programmera skrev jag alltid mina problem i forum&#8230; och det var fel. Det som jag skriver nu önskar jag att någon hade berättat det för mig då.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/3-tips-for-dig-som-felsoker-php-kod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webbläsarspel på G</title>
		<link>http://www.geiser.se/webblasarspel-pa-g/</link>
		<comments>http://www.geiser.se/webblasarspel-pa-g/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 21:45:40 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[Allmänt]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=595</guid>
		<description><![CDATA[Vid sidan om mitt ordinarie arbete har jag till och från arbetat med ett webbläsarspel och det har varit förbannat kul! Det hela började för lite drygt två år sedan då jag började på version 1 som jag sedan bestämde mig för att skrota. Det gick ett tag och jag började på version 2. Jag [...]]]></description>
			<content:encoded><![CDATA[<p>Vid sidan om mitt ordinarie arbete har jag till och från arbetat med ett webbläsarspel och det har varit förbannat kul! Det hela började för lite drygt två år sedan då jag började på version 1 som jag sedan bestämde mig för att skrota. Det gick ett tag och jag började på version 2. Jag blev klar till cirka 70%&#8230; men andra saker i livet tog överhand och projektet blev vilande. När jag efter några månader tog upp arbetet igen så insåg jag att koden bakom kunde göras mycket bättre.</p>
<p>För cirka två veckor sedan påbörjade jag version 3 som just nu går i rask takt framåt. Jag har till och med börjat fundera på designen, vilket är ett tecken att det börjar närma sig testning. Jag har som mål att ha version 3 spelklar innan årsskiftet.</p>
<p>Anledningen till att jag skriver det här inlägget är inte för att avslöja vad spelet går ut på&#8230; utan snarare en efterfrågan efter betatestare. Jag vill redan nu börja bjuda in betatestare som kan gå in och spela skiten ur spelet, hitta alla buggar och föreslå förändringar.</p>
<p>Om ni är intresserade är det bara att skriva en kommentar med er korrekta e-postadress (skriv nu inte e-postadressen som kommentar, utan ange den i fältet &#8221;E-post&#8221;). Jag kommer kontakta er när det börjar bli aktuellt att släppa in er.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/webblasarspel-pa-g/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>5 program för PHP-programmerare</title>
		<link>http://www.geiser.se/5-program-for-php-programmerare/</link>
		<comments>http://www.geiser.se/5-program-for-php-programmerare/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 20:43:52 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=508</guid>
		<description><![CDATA[Det blir inte mycket programmerande för mig nu för tiden. Till viss del saknar jag det, men samtidigt så gör jag så många andra roliga saker så det gör inget. Jag försöker hålla kunskapen vid liv och gör lite skript då och då.
Hur som helst så vill jag tipsa om 5 program som jag inte [...]]]></description>
			<content:encoded><![CDATA[<p>Det blir inte mycket programmerande för mig nu för tiden. Till viss del saknar jag det, men samtidigt så gör jag så många andra roliga saker så det gör inget. Jag försöker hålla kunskapen vid liv och gör lite skript då och då.</p>
<p>Hur som helst så vill jag tipsa om 5 program som jag inte kan klara mig utan när jag programmerar</p>
<p><strong>1. Notepad++</strong><br />
Detta är hela min värld när jag programmerar. Programmet är konfigurerat som jag vill ha det vad gäller teckenstorlek, färger och syntax highlighter.<br />
<a href="http://www.geiser.se/wp-content/uploads/2009/10/notepad++.jpg"><img class="aligncenter size-medium wp-image-509" title="notepad++" src="http://www.geiser.se/wp-content/uploads/2009/10/notepad++-300x292.jpg" alt="notepad++" width="300" height="292" /></a><br />
<a href="http://notepad-plus.sourceforge.net/uk/site.htm" target="_blank">[BESÖK HEMSIDA]</a></p>
<p><strong>2. Navicat</strong><br />
I Navicat får jag en otroligt bra översikt på hela databasen och kan göra det mesta. Oerhört smidigt&#8230; men kostar en slant.<br />
<a href="http://www.geiser.se/wp-content/uploads/2009/10/navicat.jpg"><img class="aligncenter size-medium wp-image-512" title="navicat" src="http://www.geiser.se/wp-content/uploads/2009/10/navicat-300x162.jpg" alt="navicat" width="300" height="162" /></a><br />
<a href="http://www.navicat.com/" target="_blank">[BESÖK HEMSIDA]</a></p>
<p><strong>3. Total Commander</strong><br />
I TotalCMD sköter jag all filhantering när saker ska skickas/hämtas mellan min utvecklingsdator och servern. TotalCMD är &#8221;old school&#8221;&#8230; men enligt mig bäst!<br />
<a href="http://www.geiser.se/wp-content/uploads/2009/10/totalcmd.jpg"><img class="aligncenter size-medium wp-image-513" title="totalcmd" src="http://www.geiser.se/wp-content/uploads/2009/10/totalcmd-300x224.jpg" alt="totalcmd" width="300" height="224" /></a><br />
<a href="http://www.ghisler.com/" target="_blank">[BESÖK HEMSIDA]</a></p>
<p><strong>4. WAMP</strong><br />
Varför krångla till det när du utvecklar? WAMP står för Windows, Apache, PHP, MySQL och är väldigt smidigt när man programmerar i sluten miljö och behöver testa det man bygger.<br />
<a href="http://www.geiser.se/wp-content/uploads/2009/10/wamp.jpg"><img class="aligncenter size-medium wp-image-514" title="wamp" src="http://www.geiser.se/wp-content/uploads/2009/10/wamp-280x300.jpg" alt="wamp" width="280" height="300" /></a><br />
<a href="http://www.wampserver.com/en/" target="_blank">[BESÖK HEMSIDA]</a></p>
<p><strong>5. Spotify</strong><br />
De senaste månaderna har jag använt spotify&#8230; innan var det Winamp. Huvudsaken är att du har bra musik när du programmerar. Det går inte annars!<br />
<a href="http://www.geiser.se/wp-content/uploads/2009/10/spotify.jpg"><img class="aligncenter size-medium wp-image-515" title="spotify" src="http://www.geiser.se/wp-content/uploads/2009/10/spotify-300x229.jpg" alt="spotify" width="300" height="229" /></a><br />
<a href="http://www.spotify.se" target="_blank">[BESÖK HEMSIDA]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/5-program-for-php-programmerare/feed/</wfw:commentRss>
		<slash:comments>1</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 [...]]]></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>Min dag</title>
		<link>http://www.geiser.se/min-dag/</link>
		<comments>http://www.geiser.se/min-dag/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 19:57:50 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[Allmänt]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=257</guid>
		<description><![CDATA[Snart är dagen över&#8230; lika bra, allting har varit så bråkigt idag. Det hela började med att jag skulle in till banken och skaffa en ny dosa (efter gårdagens experiment). När det väl är min tur så frågor kassörskan om jag har min gamla dosa med mig&#8230; nej säger jag och får betala 255kr.
Sen när [...]]]></description>
			<content:encoded><![CDATA[<p>Snart är dagen över&#8230; lika bra, allting har varit så bråkigt idag. Det hela började med att jag skulle in till banken och skaffa en ny dosa (efter gårdagens experiment). När det väl är min tur så frågor kassörskan om jag har min gamla dosa med mig&#8230; nej säger jag och får betala 255kr.</p>
<p>Sen när jag väl betalat denna summan så kom hon på mig att jag inte är kund hos Deras bank i Halmstad utan jag är kund åt Deras bank i Kristianstad&#8230;. så hon kunde inte ordna en ny till mig. Jag tyckte det lät väldigt konstigt, så jag ringde till min bank i Kristianstad och de sa mycket tydligt att det var inga som helst problem för dem att ordna en ny dosa till mig.. bara det att dem måste faxa över avtalet.</p>
<p>Väl inne på banken igen lyckades jag övertala en ny kassörska&#8230; allting gick bra till jag sa att jag vill ha mina privata konton Och mitt företagskonto kopplat till denna dosa&#8230; precis som jag hade innan. Detta tog 20 min av mitt liv&#8230;. dosan blev aldrig kopplad till mitt företagskonto eftersom de inte viste hur man gjorde det.</p>
<p>Jag gick hem.. testade min nya dosa, fick tillgång till alla mina konton&#8230; bra det i alla fall. Dagen fortsatte sedan med att jag ville skapa en liten AJAX funktion som anropade ett PHP script och detta scriptet returnerade sedan ett värde som skrevs ut på html sidan.</p>
<p>Allting fungerar som det ska i FireFox.. inte inte i IE eller Safari&#8230;. jag är nog inne på min 6:e timme nu med detta.</p>
<p><strong>ÄR DU DUKTIG PÅ AJAX??? </strong><br />
<a href="http://www.webmasternetwork.se/f12t30684.html" target="_blank">Hjälp mig då i detta forumet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/min-dag/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>Nytt projekt lanseras ikväll</title>
		<link>http://www.geiser.se/nytt-projekt-lanseras-ikvall/</link>
		<comments>http://www.geiser.se/nytt-projekt-lanseras-ikvall/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 13:57:37 +0000</pubDate>
		<dc:creator>Kristoffer</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projekt]]></category>

		<guid isPermaLink="false">http://www.geiser.se/?p=228</guid>
		<description><![CDATA[Efter gårdagens snilleblixt har jag mer eller mindre jobbat konstant med att få projektet till ett beta-stadie&#8230; vilket jag snart har. Så ikväll kommer jag lansera mitt nya projekt&#8230; och det ska bli skitspännande!
Jag tror faktiskt inte det finns en liknande tjänst där ute, men jag kan inte vara säker. Hur som helst så tror [...]]]></description>
			<content:encoded><![CDATA[<p>Efter gårdagens snilleblixt har jag mer eller mindre jobbat konstant med att få projektet till ett beta-stadie&#8230; vilket jag snart har. Så ikväll kommer jag lansera mitt nya projekt&#8230; och det ska bli skitspännande!</p>
<p>Jag tror faktiskt inte det finns en liknande tjänst där ute, men jag kan inte vara säker. Hur som helst så tror jag vissa kan finna den intressant, men har Ingen aning om hur pass stort intresset kommer vara.</p>
<p>Så håll utkik senare ikväll då jag lanserar den!</p>
<p><strong>Uppdatering</strong><br />
Det var lite mer att göra än väntat, plus att jag inte har kunnat programmera så mycket jag egentligen önskat. Jag kommer dock lansera sidan inatt <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/nytt-projekt-lanseras-ikvall/feed/</wfw:commentRss>
		<slash:comments>0</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 så [...]]]></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>Bildgalleri färdigt</title>
		<link>http://www.geiser.se/bildgalleri-fardigt/</link>
		<comments>http://www.geiser.se/bildgalleri-fardigt/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 17:58:52 +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=214</guid>
		<description><![CDATA[Då var man färdig! Det tog ca fyra dagar att bygga det och resultatet blev helt okej. Man hade kunnat lägga till hur många funktioner som helst till&#8230; men jag har inte så mycket tid att lägga ner.
Jag fick det mesta gjort igår (idag) och jobbade med det fram till fyra på morgonen&#8230; problemet kom [...]]]></description>
			<content:encoded><![CDATA[<p>Då var man färdig! Det tog ca fyra dagar att bygga det och resultatet blev helt okej. Man hade kunnat lägga till hur många funktioner som helst till&#8230; men jag har inte så mycket tid att lägga ner.</p>
<p>Jag fick det mesta gjort igår (idag) och jobbade med det fram till fyra på morgonen&#8230; problemet kom sen när jag skulle fortsätta koda idag och kunde inte tyda min egen kod <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Som tur va så kommenterade jag allting hyffsat bra, så det tog inte så lång tid att komma in i det igen.</p>
<p>Sättet jag kodat på är lite speciellt.. det är inte riktigt objektorienterat&#8230; inte heller klassisk PHP programmering&#8230; det är en blandning. Jag tror att det kan se väldigt rörigt ut för andra som ska sätta sig in i koden, men jag har kommenterat allt i alla fall så det ska nog inte vara så farligt.</p>
<p><strong>Följande funktioner finns i bildgalleriet</strong></p>
<blockquote><p>
Bildvisning<br />
Paging<br />
Slumpa bilder<br />
Inlogg<br />
Kontrollpanel<br />
Ladda upp bild<br />
Ange titel för bilden<br />
Ange en beskrivning för bilden<br />
Spara bilden i en kategori<br />
Automatisk skapande av thumbnails<br />
Redigera bildens titel och beskrivning<br />
Flytta bild till annan kategori<br />
Radera bild<br />
Skapa ny kategori<br />
Byta namn på kategori<br />
Radera kategori<br />
Vid radering av kategori, flytta befintliga bilder till annan kategori<br />
Statistik på hur många bilder som finns<br />
Statistik på hur många kategorier som finns<br />
MouseOver effekt på bilderna (Ej mitt)</p></blockquote>
<p>Hmm tror det va allt faktiskt. Jag har laggt upp en fungerande version av den på <strong><a href="http://www.geiser.se/projekt/bildgalleri" target="_blank">följande sida</a>.</strong></p>
<p><strong>Ni kan logga in med följande uppgifter:</strong><br />
Användare: admin<br />
Lösenord: admin</p>
<p>Om någon missbrukar mitt uppladdade bildgalleri kommer jag plocka ner det direkt!</p>
<p>Ni får göra vad ni vill med detta galleri&#8230;så länge min länk finns med längst ner. Ni får bygga om det, lägga till funktioner osv osv.. vad ni vill.</p>
<p><strong>Ett par saker att tänka på innan ni använder bildgalleriet</strong></p>
<blockquote><p><span style="color: #d74c46;">1. Ni måste köra install.php innan ni kan använda bildgalleriet<br />
2. Radera install.php när ni är klara<br />
3. Sätt korrekta rättigheter på mappen bilder och thumbs<br />
4. Sätt korrekt rättigheter på mappen db i mappen system (install.php kommer skriva till den)<br />
5. Ni kan göra vissa inställningar i system/settings/settings.php (default är snyggast dock ^^ )</span></p></blockquote>
<p><em>Om det finns stavfel.. lev med dem. Om det finns buggar&#8230;rapportera till mig.</em></p>
<p><img class="alignnone size-full wp-image-175" style="margin: 0px;" title="attach" src="http://www.geiser.se/wp-content/uploads/2008/07/attach.png" alt="" width="16" height="16" /> <a href="http://www.geiser.se/projekt/Bildgalleriet.zip">Ladda hem bildgalleriet</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleri-fardigt/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Bildgalleri&#8230; mållinjen är nära</title>
		<link>http://www.geiser.se/bildgalleri-mallinjen-ar-nara/</link>
		<comments>http://www.geiser.se/bildgalleri-mallinjen-ar-nara/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 01:38:47 +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=210</guid>
		<description><![CDATA[Jag skriver detta inlägget strax efter halv fyra på morgonen och känner mig hyffsat dåsig. Goda nyheter dock.. bildgalleriet är nästan helt klart!!! Det som fattas är &#8221;radera bild&#8221; funktionen, &#8221;byt bildens kategori&#8221; funktionen och &#8221;slumpa bilder&#8221; funktionen. Dessa saker tar inte så lång tid att göra.. men jag pallar inte sitta längre idag med [...]]]></description>
			<content:encoded><![CDATA[<p>Jag skriver detta inlägget strax efter halv fyra på morgonen och känner mig hyffsat dåsig. Goda nyheter dock.. bildgalleriet är nästan helt klart!!! Det som fattas är &#8221;radera bild&#8221; funktionen, &#8221;byt bildens kategori&#8221; funktionen och &#8221;slumpa bilder&#8221; funktionen. Dessa saker tar inte så lång tid att göra.. men jag pallar inte sitta längre idag med detta!</p>
<p>Senare idag kommer allting vara klart dock! Jag lägger då upp all kod och möjligheten att ladda hem allting.</p>
<p>Godnatt!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleri-mallinjen-ar-nara/feed/</wfw:commentRss>
		<slash:comments>3</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 också skrivit [...]]]></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 dag två</title>
		<link>http://www.geiser.se/bildgalleri-dag-tva/</link>
		<comments>http://www.geiser.se/bildgalleri-dag-tva/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 21:06:39 +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=201</guid>
		<description><![CDATA[Idag har jag fortsatt med uppladdningsdelen och det mesta är nu klart. Det fungerar att ladda upp jpg, png och gif bilder och skapa thumbnails. Jag har även skapat databasen, ordnat så att all bildinformation lagras där, gjort så att användaren kan göra egna inställningar i scriptet, fixat en felrapportering om du laddar upp fel [...]]]></description>
			<content:encoded><![CDATA[<p>Idag har jag fortsatt med uppladdningsdelen och det mesta är nu klart. Det fungerar att ladda upp jpg, png och gif bilder och skapa thumbnails. Jag har även skapat databasen, ordnat så att all bildinformation lagras där, gjort så att användaren kan göra egna inställningar i scriptet, fixat en felrapportering om du laddar upp fel fil eller något annat.</p>
<p>jag har även spenderat en hel del på säkerhetsbiten och kommenteringen, vilket också är ganska viktigt!</p>
<p>Den största delen av bildgalleriet är alltså färdig! Det som fattas nu är en kontrollpanel, bildvisning, sortering, kategoribiten och paging. Jag vågar nästan säga att jag är klar imorgon om jag får tid till att sitta ett par timmar i fred.</p>
<p>Jag vill också nämna att jag kommer använda mig av ett javascript som jag inte själv har gjort&#8230; den tar hand om mouseover effekten jag vill ha när man har musen ovanför en thumbnail.</p>
<p>Jag laddar inte upp någonting av det nya jag gjort ännu&#8230; jag håller fortfarande på, ska bara ta en liten breather.</p>
<p><strong>För er som inte vet</strong><br />
<a href="http://www.geiser.se/projekt/bildgalleri/index.php" target="_blank">Här kan ni se projektet i sin helhet</a><br />
<a href="http://www.geiser.se/projekt/" target="_blank">Här kan titta i koden jag gjort</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleri-dag-tva/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 fattas lite säkerhetskontroller, checkar samt en [...]]]></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>Designen klar för bildgalleriet</title>
		<link>http://www.geiser.se/designen-klar-for-bildgalleriet/</link>
		<comments>http://www.geiser.se/designen-klar-for-bildgalleriet/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 15:52:39 +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=191</guid>
		<description><![CDATA[
Jag har väl mer eller mindre slutfört designen för bildgalleriet. Som jag sa tidigare så är den minimalistisk.. men den funkar tycker jag. Det enda som funkar på sidan är Admin knappen längst ner   men allt den gör är att visa inloggningsformuläret för administratören.
Klicka på bilden för att komma till sidan.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.geiser.se/projekt/bildgalleri/index.php"><img src="http://www.geiser.se/wp-content/uploads/2008/07/bildgalleri2.jpg" alt="" title="bildgalleri" width="130" height="90" class="alignnone size-full wp-image-193" /></a></p>
<p>Jag har väl mer eller mindre slutfört designen för bildgalleriet. Som jag sa tidigare så är den minimalistisk.. men den funkar tycker jag. Det enda som funkar på sidan är Admin knappen längst ner <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  men allt den gör är att visa inloggningsformuläret för administratören.</p>
<p>Klicka på bilden för att komma till sidan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/designen-klar-for-bildgalleriet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bildgalleri blev det</title>
		<link>http://www.geiser.se/bildgalleri-blev-det/</link>
		<comments>http://www.geiser.se/bildgalleri-blev-det/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 14:37:08 +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=189</guid>
		<description><![CDATA[Då var det klart! Projektet jag ska genomföra för er är ett bildgalleri. Jag kommer påbörja detta redan idag och än så länge har jag kommit fram till att applikationen ska innehålla följande funktioner:

Kategoribaserad visning
Olika listningsalternativ (detaljerad listning, miniatyr osv)
Sortering
Uppladdning
Skalning av uppladdade bilder (thumbnails)
Administrationskonto
Möjlighet att kommentera bilder (ungefär på samma sätt som ni skriver kommentarer [...]]]></description>
			<content:encoded><![CDATA[<p>Då var det klart! Projektet jag ska genomföra för er är ett bildgalleri. Jag kommer påbörja detta redan idag och än så länge har jag kommit fram till att applikationen ska innehålla följande funktioner:</p>
<ul>
<li>Kategoribaserad visning</li>
<li>Olika listningsalternativ (detaljerad listning, miniatyr osv)</li>
<li>Sortering</li>
<li>Uppladdning</li>
<li>Skalning av uppladdade bilder (thumbnails)</li>
<li>Administrationskonto</li>
<li>Möjlighet att kommentera bilder (ungefär på samma sätt som ni skriver kommentarer här)</li>
</ul>
<p>Så långt har jag kommit ungefär. Designen kommer vara väldigt simpel&#8230; jag är inte speciellt duktig på design, så det får bli vad det blir <img src='http://www.geiser.se/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Det kommer dock vara XHTML och CSS baserat.. det blir lite lättare för er att ändra designen själva då.</p>
<p>Något datum när det blir klart har jag inte&#8230; jag kommer jobba med detta när jag inte har andra saker jag måste göra.</p>
<p>Projektet kommer ni kunna hitta på adressen längst ner. Så fort jag har gjort någonting nytt kommer jag ladda upp det på denna adressen&#8230; men det kommer förmodligen inte fungera korrekt förens jag är helt klar. Ni kan även följa hur långt jag kommit i den punktlista jag kommer ha <a href="http://www.geiser.se/projekt/" target="_self">på följande sida.</a></p>
<p><a href="http://www.geiser.se/projekt/bildgalleri/" target="_blank">http://www.geiser.se/projekt/bildgalleri/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.geiser.se/bildgalleri-blev-det/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 röstar [...]]]></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>
	</channel>
</rss>
