Posts Tagged ‘Tutorial’

Lär dig PHP – Funktioner

augusti 6th, 2010

PHPFunktioner ä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.

Funktionerna kan även göras ”dynamiska” för att minska mängden kod du behöver skriva. Beroende på vad vi skickar till funktionen, säga åt den att göra ett av x-antal saker.

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.

Exempel 16 – mini-miniräknare

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>räknare</title>
</head>
<body>
	<?php
	function _calc($cmethod, $varde_1, $varde_2) {
 
		if($cmethod == "multiply") {
			$totalt = $varde_1 * $varde_2;
 
		} elseif($cmethod = "add") {
			$totalt = $varde_1 + $varde_2;
 
		} else {
			$total	= "n/a";
 
		}
		return $totalt;
	 }
 
	if(isset($_POST['skicka'])) {
 
		$tal_1 = $_POST['tal_1'];
		$tal_2 = $_POST['tal_2'];
		$ctype = $_POST['ctype'];
 
			if (empty($tal_1) || empty ($tal_2)) {
				echo 'Du har inte fyllt i båda fälten korrekt';
 
			} elseif(is_numeric($tal_1) == false || is_numeric($tal_2) == false) {
				echo 'Du får bara ange siffror i fälten';
 
			} else {
				echo "$tal_1 * $tal_2 = " . _calc($ctype,$tal_1,$tal_2);
 
			}
 
	}
 
	?>
	<form method="post" action="ex.php">
		Skriv in ett tal<br />
		<input type="text" name="tal_1" /><br />
		<input type="radio" name="ctype" value="multiply" checked> *<br />
		<input type="radio" name="ctype" value="add"> +<br />
		Skriv in ett till tal<br />
		<input type="text" name="tal_2" /><br />
		<input type="submit" name="skicka" value="skicka" />
	</form>
</body>
</html>

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.

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.

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.

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.

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.

Vi skulle mycket enkelt kunna flytta ut funktionen _calc() genom att använda include(). Detta gör vi på följande sätt.

Funktionsfil.php

<?php
	function _calc($cmethod, $varde_1, $varde_2) {
 
		if($cmethod == "multiply") {
			$totalt = $varde_1 * $varde_2;
 
		} elseif($cmethod = "add") {
			$totalt = $varde_1 + $varde_2;
 
		} else {
			$total	= "n/a";
 
		}
		return $totalt;
	 }
?>

Huvud_fil.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>räknare</title>
</head>
<body>
 
	<?php
        include("Funktionsfil.php");
	if(isset($_POST['skicka'])) {
 
		$tal_1 = $_POST['tal_1'];
		$tal_2 = $_POST['tal_2'];
		$ctype = $_POST['ctype'];
 
			if (empty($tal_1) || empty ($tal_2)) {
				echo 'Du har inte fyllt i båda fälten korrekt';
 
			} elseif(is_numeric($tal_1) == false || is_numeric($tal_2) == false) {
				echo 'Du får bara ange siffror i fälten';
 
			}else {
				echo "$tal_1 * $tal_2 = " . _calc($ctype,$tal_1,$tal_2);
 
			}
 
	}
 
	?>
	<form method="post" action="ex.php">
		Skriv in ett tal<br />
		<input type="text" name="tal_1" /><br />
		<input type="radio" name="ctype" value="multiply" checked> *<br />
		<input type="radio" name="ctype" value="add"> +<br />
		Skriv in ett till tal<br />
		<input type="text" name="tal_2" /><br />
		<input type="submit" name="skicka" value="skicka" />
	</form>
</body>
</html>

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.

Lär dig PHP 3 – Formulär

augusti 5th, 2010

PHPDet 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.

POST & GET

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. Läs mer om just POST och GET här.


Exemplet nedan visar ett väldigt enkelt formulär med lite PHP för att hantera datan som skickas.

Exempel 13 – Skicka värden i formulär

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Din sida</title>
</head>
<body>
<?php
if (isset($_POST['skicka'])) {
  echo $_POST['fornamn'];
  echo "<br />";
  echo $_POST['mellannamn'];
  echo "<br />";
  echo $_POST['efternamn'];
}
?>
<form method="post" action="dinfil.php">
      Ditt förnamn<br />
      <input type="text" name="fornamn" /><br />
      Ditt mellannamn <br />
      <input type="text" name="mellannamn" /><br />
      Ditt efternamn<br />
      <input type="text" name="efternamn" /><br /><br />
      <input type="submit" name="skicka" value="skicka" />
   </form>
   </body>
</html>

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( ).

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.

$fornamn = $_POST['fornamn'];

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.

Mer om detta kommer i en senare ”Lär dig PHP”-del.

Lär dig PHP 2 – if, else, while och foreach

augusti 3rd, 2010

PHPI 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.

if

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.

Exempel 9 – if

<?php
$tal1 = 10;
$tal2 = 10;
 
if ($tal1 == $tal2){
 
	echo "$tal1 och $tal2 är samma värden";
}
?>

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.


else

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.

Exempel 10 – else

<?php
$tal1 = 10;
$tal2 = 5;
 
if ($tal1 == $tal2){
 
	echo "$tal1 och $tal2 är samma värden";
}
else {
       echo "$tal1 och $tal2 är inte samma värden";
}
?>

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.

while

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.

Exempel 11 – while

<?php
 
$i = 1;
while ($i <= 10) {
    echo $i++;  
} 
?>

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.

foreach

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 exempel 5 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.

Exempel 12 – foreach

<?php
 
$arr = array(1, 2, 3, 4);
foreach ($arr as $varde) {
    $varde = $varde * 2;
	echo $varde;
}
 
?>

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”.

Nästa del kommer handla om formulär

Java för nybörjare

juli 21st, 2008

Sourceforge erbjuder en Eclipse och Java tutorial för totala nybörjare.. ett ganska intressant projekt. Totalt så är det 16st videolektioner som går igenom grunden du behöver för att utveckla. Jag har själv pluggat Java på högskolan vilket jag tyckte var måttligt roligt… hade dock en bra lärare.

Jag har tittat på första lektionen nu och det är (ursäkta uttrycket) jävligt bra genomfört!

Prova själv
Källa: idg.se

PHP OOP tutorial videos

maj 30th, 2008

Som ni ser så är det inte ”värsta” 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å är dessa videos faktiskt ganska bra.

Alla PHP OOP Videos – fuska inte, se dem i ordning ;)

Introduction to Object Oriented PHP (4:05)
Why learn Object Oriented PHP (14:46)
Objects and Classes in PHP (5:26)
Build Objects in PHP – Part 1 (9:14)
Build Objects in PHP – Part 2 (9:41)
Build Objects in PHP – Part 3 (6:18)

Lär dig PHP – Del 1

mars 29th, 2008

Att lära sig programmera är underbart. Det finns inget bättre än att kunna sätta sig framför en blank800px-php-n_logo_svg.png
sida i sin editor och bara börja skriva kod. Det är min önskan att du också ska kunna erfara detta
och det är med denna tankegången jag utvecklade denna guide.

Förutsättningen för att du ska kunna följa denna guiden är att du har en grundläggande kunskap
inom HTML / XHTML samt att du också har en viss förståelse för grundprinciperna i programmering.
Detta guide/tutorial är skrivet med dig som nybörjare i åtanke och jag kommer stegvis gå
igenom hur man börjar programmera med PHP. Men som allt annat här i världen så krävs det ett
intresse, ihärdighet och tålamod innan du kommer kunna programmera flytande med PHP.


Låt det inte skrämma dig hur mycket det finns att lära sig om PHP , personligen tror jag aldrig man
blir riktigt fullärd, vilket också gör att man konstant strävar efter att hitta nya funktioner och
finesser. Man kan bara ta ett steg i taget.

Att komma igång
För att börja jobba med PHP krävs det ett par saker av dig som kodare. Bland annat behöver du en
miljö att programmera i, ett sätt att testa din skript på, men framförallt krävs det tålamod.

Du behöver följande
- Tillgång till en webbserver med PHP modul installerad (Apache, IIS alternativt något annat)
- En miljö du kan utveckla i (Eclipse, Dreamweaver, notepad , det finns mängder med
alternativ)
- MySQL (MySQL är den databas vi kommer använda senare i guiden)
- En viss förståelse för databashantering
- En viss förståelse för Engelska

Ett alternativ till Webbserver är att du installerar en WAMP server. WAMP som står för ”Windows –
Apache – MySQL – PHP” kan hämtas på följande sida och innehåller allt som du behöver för att
följa denna guide.

http://www.wampserver.com/en/index.php

WAMP sköter hela installations och konfigureringsprocessen för dig som användare vilket är väldigt bekvämt.
Vill du installera allting manuellt kan du använda dig av någon av guiderna på följande sidor

http://www.php-mysql-tutorial.com/install-apache-php-mysql.php
http://internet.physto.se/serverprogram/apache/installera/index.php
http://www.google.se Search and you shall find!

Struktureringsgrunder
Eftersom du nu har en fungerande miljö att utveckla PHP i så har det blivit dags för att ta det första steg in i den stora PHP världen. Vi börjar från början.

För att servern överhuvudtaget ska veta vad som är PHP kod och vad som inte är det, behöver du indikera detta med en början och ett slut.
Det gör du på följande sätt:

<?php
Här emellan kommer vi placera vår kod
?>
Man kan också skriva det på följande sätt
<?
Här emellan kommer vi placera vår kod
?>

Jag kommer att använda mig av Nu vet webbservern var den ska ska börja leta efter php kod och sluta.
Då kan vi börja med att göra ett väldigt enkelt skript.
Skapa en fil som du döper till valfritt namn(inte å,ä,ö) och med filendelsen .php. När du gjort detta öppnar du filen med valfri editor och skriver enligt Exempel 1.

Exempel 1 – Skriva ut en text

<?php
echo "Hello world";
?>

Spara filen i din publika root på servern, öppna din webläsare och skriv http://localhost/dinfil.php
Om allt är rätt kommer ”Hello World” skrivas ut. Händer ingenting ligger problemet förmodligen i konfigurationen för din webbserver.

Funktionen echo kommer vi att använda för att mata ut tecken och html vid behov. Det finns alternativ till echo, men eftersom denna genomgången av PHP är grundläggande håller vi oss till echo som gör precis det det ska göra.

Variablar
Vad är en variabel? Enkelt förklarat så är en variabel en platshållare där man lagrar värden under programmets gång. Om man inte hade haft variablar i programmering, hade det blivit otroligt svårt att skriva längre program. Variablar hjälper också till att göra din kod mer lättförstådd och strukturerad, samt dynamisk.
En variabel i PHP startar alltid med dollartecknet, dvs $. För att döpa en variabel skriver du helt enkelt någonting efter $. Så om vi t ex ska skapa en variabel med mitt namn som innehåll, skulle den kunnat se ut på följande sätt.

$Mitt_namn = ”Kristoffer”;

Nu har vi en variabel som heter Mitt_namn och den innehåller Kristoffer.
Vad kan vi göra med denna variablen då? Jo om vi t ex skulle få för oss att skriva ut mitt namn genom att använda echo som jag gick igenom tidigare, skulle det kunna se ut på följande sätt.

Exempel 2 – Skriva ut en variabel

<?php
$Mitt_namn = "Kristoffer";
echo "Mitt namn är $Mitt_namn";
?>

Om allt stämmer ska din webbläsare skriva ut texten ”Mitt namn är Kristoffer”. På så sätt kan man skriva ut värden som finns i variablar. Men man kan även lagra och skriva ut nummer, uträkningar och mycket mycket mer. Jag kommer använda mig av variabler otroligt mycket i de senare exempel som jag går igenom.

En variabel kan också innehålla en eller flera variablar. På följande sätt kan vi skriva ut hela mitt namn genom att spara mitt förnamn, mellannamn och efternamn i tre olika variablar som vi sen sparar i en samlingsvariabel.

Exempel 3 – Skriva ut en variabel med variabelinnehåll

<?php
$Fornamn = "Kristoffer";
$Mellan_namn ="Benjamin";
$Efternamn = "Geiser";
 
$Mitt_namn = "Mitt namn är $Fornamn $Mellan_namn $Efternamn";
 
echo $Mitt_namn;
?>

Notera att jag inte använder ” ” runt $Mitt_namn när jag skriver ut den. När man bara ska skriva ut en variabel på detta sättet behöver man inte använda ” ”. Jag vill även nämna att PHP för det mesta sköter själva datatyp deklarationen automatiskt. Detta innebär att vi inte behöver deklarera i förväg om en variabel ska innehålla bokstäver eller siffror osv. I andra språk gör man oftast detta genom att skriva: string variabelnamn; , int variabelnamn; osv.

Strängar
Vi har redan pratat lite om strängar i tidigare exempel, men nu ska vi gå lite djupare eftersom du nu vet vad en variabel är.
Strängvariablar används för att lagra textsträngar i, som vi sen kan behandla på en rad olika sätt. Vill vi så kan vi helt enkelt skriva ut texten i variablen som vi gjort tidigare, eller så kan vi skriva ut hur många tecken som finns i variablen. Det finns oändligt många sätt att behandla strängar på, i de tidigare exemplen har vi bara skrivit ut texten i strängen, men om vi vill räkna hur många tecken som finns i strängen? Då kan vi göra på följande sätt

Exempel 4 – Skriva ut antal tecken i en sträng

<?php
$Fornamn = "Kristoffer";
$Mellan_namn ="Benjamin";
$Efternamn = "Geiser";
 
 
$Mitt_namn = "$Fornamn $Mellan_namn $Efternamn";
 
echo strlen($Mitt_namn);
echo " tecken finns i namnet $Mitt_namn";
?>

Om du varit uppmärksamma nu så ser du att jag introducerat en ny funktion som heter strlen(). Den används för att räkna antal tecken som finns i strängen eller variablen den omsluts med. I detta fallet omslöt vi variablen $Mitt_namn på följande sätt strlen($Mitt_namn); Resultatet av detta blir ”26 tecken finns i namnet Kristoffer Benjamin Geiser”.
Detta kan tyckas konstigt eftersom om man räknar bokstäverna i mitt namn så hittar vi bara 24 tecken. Detta är på grund av att mellanslag eller blanksteg också räknas som ett tecken, och i detta fallet har vi två mellanslag vilket resulterar i 26 tecken totalt.

Arrayer
En array är också ett sätt att lagra värden. Vi kan lagra individuella värden och på olika platser i en array. Arrayer används väldigt mycket vid inhämtning / utkastning av värden. Exempel på hur en array kan se ut ser ni nedan.

Exempel 5 – Arrayer

<?php
$arr = array(1, 2, 3, 4);
?>

I detta exemplet har vi lagrat värdena 1 2 3 4 på individuella platser i en array som heter $arr. Hur man behandlar och skriver hur dessa värden är lite annorlunda mot vanliga variablar och med denna anledningen väntar vi tills vi gått igenom foreach som kommer längre fram i texten.

Operatorer
I PHP och egentligen alla språk har vi någonting som kallas för operatorer. Det finns många olika typer av operatorer, t ex Arithmetic, Assignment, Bitwise, Comparison, Error controll, Execution, Incrementing / Decrementing, Logic, String, Array, Type. Jag kommer gå igenom Arithmetic, Assignment och Comparison operators med ett exempel från varje kategori.

Arithmetic operators
one.JPG

Exempel 6 – Arithmetic operators

<?php
$tal1 = 10;
$tal2 = 5;
 
$totalt = $tal1 + $tal2;
 
echo "$tal1 + $tal2 = $totalt";
?>

Resultatet av detta blir ”10 + 5 = 15”. Vad vi gör här är att vi sparar två tal i två olika variabler och igenom variablen $totalt adderar vi ihop summorna. På samma sätt kan man använda de andra räknesätten.

Assignment operators
two.JPG

Exempel 7 – Assignment operators

<?php
$tal1 = 10;
$tal2 = 5;
 
$tal1 += $tal2;
 
echo $tal1;
?>

Resultatet av detta blir ”15”. Här sker adderingen i samband med att vi tilldelar variablen $tal1 med $tal2 i sig.

Comparison Operators
three.JPG

Jag kommer i detta exemplet använda mig av någonting vi inte gått igenom, men bara på namnet tror jag man förstår rätt mycket vad denna funktionen innebär

Exempel 8 – Comparison operators

<?php
$tal1 = 10;
$tal2 = 5;
 
	if ($tal1 !== $tal2){
 
		echo "$tal1 och $tal2 är inte samma värden";
}
?>

Vad som händer i detta exemplet kan förklaras mycket enkelt. Genom att använda en if-sats och operatorn !== kontrollerar vi om $tal1 och $tal2 inte innehåller samma tal. Om talen i variablerna inte är dem samma skriver vi ut ”10 och 5 är inte samma värden”. På samma sätt kan man använda de andra operatorerna för att kontrollera innehåll i variablar.

Lär dig PHP 2 – if, else, while och foreach