Posts Tagged ‘PHP’

Bildgalleriet snart klart

juli 14th, 2008

Jag har inte kodat så mycket som jag hade önskat idag…. 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).

Man kan till och med ladda upp bilder i olika kategorier (virtuella kategorier, inga mappar) och även titta på bilderna i de olika kategorierna.

En annan sak jag faktiskt är helt klar med är funktionen som kollar om den ”inloggade personen” verkligen är den ”inloggade personen”. 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.

Jag ska fortsätta lite till ikväll, sen fortsätta imorgon någon gång på morgonen… så förhoppningsvis ska jag bli klar med allting under morgondagen!

Saker som är färdiga
Designen
Strukturen
Installationsfilen
Login
Uppladdning
Skapa kategori
Listning av bilder
Verifiering av inloggad

Saker som ska göras
Paging
Redigera bilder
Radera bilder
Redigera kategorier
Radera kategorier
Statistik (antal bilder, kategorier)
Slumpfunktionen

Fortsättning följer….

Bildgalleri uppdatering

juli 13th, 2008

Det är sent på natten och jag har suttit ganska länge nu med bildgalleriet… 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 nya classer (class_db_handler.php, class_login.php). Jag har också skrivit hjälpfilen do_login.php, samt settings.php. Sist men inte minst har jag slutfört installationsfilen install.php som… ja, installerar bildgalleriet. Med ”installera” menar jag skapa databasen och connect.php som ansluter till databasen.

install.php har allting packat i sig (html, css, php, databasanslutning, error hantering osv osv)… denna filen ska raderas när man installerat allting.Bilden nedan visar hur installen ser ut rent grafiskt… jag vågade inte lägga upp den riktiga PHP filen 🙂

Ni kan föresten testa att logga in nu. Öppna sidan för bildgalleriet och logga in med följande uppgifter:

Användarnamn: admin
Lösenord: admin

Det kommer inte hända så mycket 🙂 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… försök leta upp var jag kontrollerar om lösenordet är korrekt.

Nog för idag… Godnatt!

Bildgalleri dagsrapport

juli 11th, 2008

Idag har jag spenderat lite tid på projektet. Följande har jag gjort:

Allting fungerar som det ska, men ingen av dessa filer är klara… det fattas lite säkerhetskontroller, checkar samt en filnamnsgenerator. Dessa saker ordnar jag nog imorgon.

So far so good tycker jag. Har inte stött på något problem egentligen… mer än att jag blev lite smått förvirrad (hungrig, trött) när jag höll på med följande rad:

$this->check_thumb = $this->create_thumb->new_thumb($this->thumb, $this->sokvag, $this->bredd, $this->dimensioner, $this->temp, $this->bild, $this->filandelse);

Det var mer eller mindre det enda som bråkade lite med mig… tog dock inte så lång tid att få rätt på det.

Jag får se under morgondagen vad jag hinner göra… stay tuned!

Ett PHP projekt

juli 10th, 2008

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 på de olika projekten i kolumnen till höger. Jag kommer avsluta röstningen imorgon, någongång på dagen.

PHP och säkerhet

juli 8th, 2008

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.

SQL-Injection
Den vanligaste typen av ”hot” ä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.

Läs om SQL-Injection

Hur man skyddar sig

Cross site scripting (xss)

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 🙂

Stay tuned

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)

När ska man använda objektorienterad PHP programmering?

maj 27th, 2008

Det är inte alltid en självklarhet att bygga alla script i objektorienterad PHP och det kan därför vara bra att veta när det är lämpligt och när det går lika bra, eller till och med bättre med vanlig, klassisk PHP programmering.

Om man börjar med att se på mängden kod som uppstår med objektorienterad kod så blir det helt klart mer skrivande. Man kan väl säga att om det är ett mindre script som ska byggas, och att dess syfte kanske inte är så jätteavancerat… är det kanske inte så lämpligt att använda objektorienterad PHP. Det går lika bra med funktioner och vad jag gillar att kalla ”klassisk” PHP programmering. Men när lämpar det sig att använda objektorienterad PHP då?

Den absolut största fördelen som jag personligen ser med OOP är själva seperationen av koden mot designen på sidan. Alltså i mitt fall, seperationen av PHP mot HTML och naturligtvis CSS. Anledningen till att jag, samt många andra, tycker detta är bra, är eftersom oftast så fördelas arbetet i ett projekt mellan programmerare och designers.. och med OOP som ”verktyg” kan du även göra denna seperationen i själva projektet. Som designer behöver man inte blanda sig i PHP koden och potentiellt ställa till med något. Som programmerare behöver man inte blanda sig i designbiten. Självklart så måste man sammarbeta med varandra, men man kan arbeta mycket mer självstidning och slippa vara beroende av den andra.

Nackdelen med objektorienterad PHP är att det är långsammare än klassisk PHP, använder mer minne och det blir mer kodande. Men om du arbetar i projekt med flera personer, eller om du utvecklar ett större system, så är objektorienterad PHP väldigt användbart. Det må bli mer kod, men jag anser att det blir mycket mer överskådligt och lättläst. En annan nackdel är naturligtvis att det kanske inte är helt lätt att lära sig OOP… det tar tid och tålamod. Men om du förstår OOP och kan bemästra det i PHP, så kommer du få det mycket enklare om du vill lära dig andra språk som t ex JAVA eller C++.

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

<?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

Kan jag få en offert?

mars 26th, 2008

Fick imorse ett mail med följande fråga : questionmark06.jpg

”Programmerar du åt andra? Kan man skicka en beskrivning till dig på vad man är ute efter och sen få en offert på vad det skulle kosta?”

Självklart! Jag är ju delägare i ett företag som pysslar med PHP programmering, så det går alldeles utmärkt att skicka en offertförfrågan till oss. Vi jobbar alltid två och två i programmeringsprojekt och kan därför leverera script och annat ganska fort. Vårt pris är 450kr/tim exkl.moms, men vi kan även köra ersättningen per script eller mål.. det är upp till er. Vi lämnar all information i offerten ni får.

Ett par saker ni kan göra för att underlätta framtagningen av offerten:

  • Var så detaljerad som möjligt.
  • Lämna inget åt slumpen, beskriv vad ni vill och inte vill att ”koden” ska göra.
  • Bifoga allt material som krävs.
  • Har ni en deadline, skriv ner den.
  • Har ni en strikt budget? Låt oss ta del av den så att vi vet inom vilka ramar vi rör oss.
  • Andra krav… skriv ner dem också.

Detta är bara exempel på vad som kan vara lämpligt att ta med i offertenförfrågan… ni bestämmer själva. Om vi får fiska efter mer information så tar också längre tid att lämna en offert.

Vill ni ha någonting kodat i PHP? Ni kan kontakta oss på info@egkgdata.se eller kristoffer@egkgdata.se

PHP frågor

mars 24th, 2008

questionmark06.jpgIdag har jag sett att det finns ännu fler frågor i min inbox… vilket återigen är otroligt kul. Denna gången är det uteslutande PHP frågor jag har fått (kul!!) och det är totalt två frågor jag kommer ta upp i detta inlägget.

Fråga #1 – Av Jonathan
Hej! Jag såg att du hade svarat på ett par frågor i ditt senaste inlägg och tänkte passa på att göra det samma. Min fråga till dig är hur jag använder mig av
form i html för att få det att funka i php? Alltså, hur gör jag för att ta spara dem sakerna jag skriver in i formuläret i PHP? Med spara menar jag i databasen. Exempelvis kan vi ta det formulär jag själv har skapat. Det består av två text fält, ett stort textfält (textarea) och en skicka knapp. Hur gör jag för att få in det som skrivs i fälten i databasen???”

Svar:
Hej Jonathan!
Din fråga är ganska vanlig och jag kan garantera dig att det finns hur många guider, tutorials och hjälpavsnitt om just detta på internet. Men, jag ska försöka förklara och samtidigt visa hur man på lättast sätt får det att fungera.

Du vill alltså helt enkelt spara undan det som skickas i formulärat… i databasen. Jag antar att du använder dig av MySQL och kommer därför skriva koden just för mysql. Först och främst så måste vi ha ett formulär (som du redan har), sen måste vi ta imot det som skickas i formuläret och tillsist ska det sparas i databasen. Jag antar även att du redan har en databas och en table så som du vill ha det.

Här är koden i alla fall (Tänk på att det är PDO med prepared statements jag använder.. så se till att du har det aktiverat på din webbserver), spara den som index.php
[PHP]

Förnamn

Efternamn



getMessage();
}

$do = $conn->prepare(”INSERT INTO $table (fornamn, efternamn, meddelande) VALUES (:fornamn, :efternamn, :meddelande)”);
$do->bindParam(’:fornamn’, $fornamn);
$do->bindParam(’:efternamn’, $efternamn);
$do->bindParam(’:meddelande’, $meddelande);
$do->execute();
$conn = null;

echo ”Dina uppgifter är sparade i databasen”;

}
?>
[/PHP]

Detta är ett väldigt simpelt script som helt enkelt bara sparar det man skriver in, i databasen. Försök bygga vidare med kontroller och error hantering osv. En sak till som kan vara värt att nämna är det som heter method och finns i formuläret (method=”post”). Man kan använda sig av get också, men eftersom vi inte vill att allting ska synas i adressfältet när vi skickat vårt formulär, så håller vi oss till POST. Det är även som så att POST kan lagra mer data i sig och på så sätt kan man skicka väldigt stora formulär, vilket ibland kan behövas.

Jag föreslår att du kollar lite på denna sidan för att komma igång med grundläggande PHP.
http://www.w3schools.com/php/default.asp

Fråga #2 – Av Dexter (coolt namn om det är ditt riktiga!)
”Har en fråga gällande PHP! Om jag vill lära mig PHP, i vilken ordning bör jag lära mig? Variablar först, funktioner sen…?”

Det är Über viktigt att du lär dig saker och ting i rätt ordning. Gör du inte det kommer du få problem längra fram i ditt kodande när du helt plötsligt inte vet hur man gör dem mest grundläggande sakerna. Länken som jag skickade i föregående fråga passa även in här. Den ordning dem har i sin tutorial är hyffsat ok. Vissa saker är väl kanske inte helt up to date som t ex databashanteringen… men de första 25 kapitel är OK.

http://www.w3schools.com/php/default.asp

Tack för frågorna och fortsätt skicka in fler till kristoffer@geiser.se