PHP Snippets. De små korte. Skrevet af Daniel Pedersen



Relaterede dokumenter
PHP 3 UGERS FORLØB PHP, MYSQL & SQL

I denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen ud i en løkke

I mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.

Gæstebog med validering opbygget med MySQL

Ratingsystem i PHP og MySQL

Begrynder til at lave log ind system

Website sikkerhed SQL Injections og mere...

Log ind med PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 09. May 2011 af dab93 I kategorien Programmering / Andre

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

PHP guide af Daniel Pedersen

Dynamisk PHP design OPDATERET

Loginsystem (med MySQL)

Interaktionsudvikling

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

PHP Crash course. Databaser

HTML, PHP, SQL, webserver, hvad er hvad??

Tagwall med Php & MySQL

The Design Diaries Project 3 2. Semester. Blog om designprincipper

Databaseadgang fra Java

Web 2.0. World Wide Web (www)

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

Dokumentering af umbraco artikeleksport:

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

PROJEKT 3. The Design Diaries. LINK TIL BLOG: Af Mikkel Borg Svendsen & Sebastian Frank MUL B

Projekt 3: Interaktionsudvikling 11/04.14

Redaktørvejledning for Skriv en artikel

Session-highjack...et halvt skridt mod en modgift

Uploade billeder eller andre filer ved hjælp af php og mysql

Kontrol-strukturer i PHP

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

Ordbøgerne.dk. Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato:

I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.

Procesbeskrivelse - Webprogrammering

The Design Diaries. Link til blog

if (mysqli_num_rows($res) > 0) { while ($result = $res->fetch_array(mysqli_assoc)) { "<div class=\"article\">".

Dokumentation. Udbyder : sms1919.dk Service : sms-grupper Static FBML Facebook. : Facebook Integration med sms-grupper.

PHP Quick Teknisk Ordbog

PHP kode til hjemmeside menu.

Afsending af s vha. ASP

Design Diaries.

Reeksamen, DSDS, forår 2008

Eksamen, DSDS, efterår 2007

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard

bedreweb.dk - Bolette Obbekær 2012 SÅDAN LÆGGER DU WORDPRESS PÅ DIT WEBHOTEL

cupcakes/index.html

Indholdsfortegnelse Opret engelsk version af hjemmesiden... 2

Web Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net

Dette er en grundlæggende artikel til hvordan du laver et lille community, med forskelige

Eksamen, DSDS, forår 2009

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

The Design Diaries PHP projekt

Loginsystem med PHP4, klasser, sessions og MySQL database

Hack of the Month opgave 2

Programmering I Java/C#

Terese B. Thomsen 1.semester Formidling, projektarbejde og webdesign ITU DMD d. 02/

En Kort Introduktion til Oracle

- Hvad er PHP? - Hurtigt historisk overblik - Installation - Indstillinger - Hello world - Tekststrenge - PHP og HTML - En doven programmør er en god

Derfor vil jeg bygge dette eksempel på een table hvor der kan tilkyttes personer til ALLE noder og der kan tilføjes et vilkårligt antal niveauer

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Data load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

Brugermanual. PoP3 og Outlook Express Webmail Udarbejdet af IT-afdelingen 2005

DB undervisning 01-01

Eksamen, DSDS, efterår 2008

Manual til Wordpress. 1. Log ind på din Wordpress-side. Indhold: Sådan opdaterer du din hjemmeside i Wordpress.

De skjulte input typer:

Web Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net

Vejledning i Opretning af formularer

Eksamens rapport Informationsteknologi B

Vejledning til brug af Y s Men s klubintranet administrator guide

I denne manual kan du finde en hurtig introduktion til hvordan du:

Eksamen, DSDS, forår 2008

DANSK SKOLEDATA APS. Tlf DSA-Ventelisten

Skrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET

Patient Database - Manual

DMX styring med USB-interface

Matematik læringsprojekt Journal

Programmering for begyndere Lektion 2. Opsamling mm

Oprettelse af en Gmail-konto

Dynamisk hjemmeside: NeuTravel

Jysk Online Medie ApS - Vestergade 32, 8600 Silkeborg - Tlf.:

Data lagring. 2. iteration (implement backend)

Umbraco installationsvejledning

MODUL 2 ASSIGNMENT 3 PHP/DB SYSTEM 9. OKTOBER 2016

SESSION med PHP. En let begynderguide som kan føre dig ind i en verden af muligheder. Denne guide er oprindeligt udgivet på Eksperten.

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU semester 05.januar 2007

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske

Fang Prikkerne. Introduktion. Scratch

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge

Karens lille vejledning til Access

Denne rapport er skrevet af:

Word-9: Brevfletning i Word 2003

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

FC-intranet: FC-intranet er et fælles mail- og konferencesystem, hvor lærere og elever kan kommunikere.

Transkript:

PHP Snippets De små korte Skrevet af Daniel Pedersen

Indhold PHP Snippets De små korte er en samling af små og praktiske kode eksempler med kort forklaring, som med formål at kunne benyttes til opsalgsværk til en overbygning til kursuset. Materiale & guide: PHP guide PHP documentation SQL guide http://www.w3schools.com/php http://php.net/ http://www.w3schools.com/sql/default.asp Tag forbehold for at evt. skal indtastet manuelt og stavefejl! Forudsætninger Det forventes at PHP syntax er forstået og at man kan HTML/CSS. De forskellige kode eksempler er baseret på eksempler fra w3schools.com. Til en overbygning til kursuset er denne guide skrevet med henblik på at danne sig et overblik over en enkel opgave i PHP som bliver gennemgået. Dette kunne f.eks. være at slette noget data fra databasen.

Index 1) Løkker i praksis 2) If sætninger 3) Mysql Forbinde til database Udtræk fra database Indsætte data i databasen Slette data i databasen Redigere data i databasen 4) GET & POST 5) PHP Sessions

Løkker i praksis For løkke Den mest brugte løkke med PHP og generelt i udviklingssprog er for løkken, stærkt efterfulgt af while løkken. For løkken s syntax er: for( init ; condition ; increment ) { // code to be looped through Et eksempel ved brug af for løkken kunne eks. vis være følgende: $str = højtaler ; $txt_array = str_split($str); for($i=0 ; $i < strlen($str) ; $i++) { echo $txt_array[$i]; Løkken ovenover udskriver vores string bogstav for bogstav. Indtast koden og prøv den af. While løkke While løkken er meget brugt når man udskriver data fra arrays som kunne komme fra et databaseudtræk med SQL kommandoer. While løkke syntax: while( condition ) { // code to be looped through Her vises samme opgave som fra for løkken, dog med while istedet. $str = højtaler ; $txt_array = str_split($str); $i = 0; while($i < strlen($str)) { echo $txt_array[$i]; $i++;

If sætninger If sætninger er en vital del af udviklingssprog, med dem kan man spørge på om noget er sat, eksistere, er større end, lig med og så videre. Kort sagt er det måden i kode at skrive kriterier på. Hvis vi f.eks. skulle tjekke om man var logget ind på et website bliver dette gjort med if sætninger. If sætning syntax: if (condition) code to be executed if condition is true; Condition eksempler: 1==1 true er 1 lig med 1==2 false er 1 lig med 2 1 < 2 true er 1 mindre end 2 1 > 2 false er 1 større end 2 1 <= 2 true er 1 mindre eller lig med 2 1 >= 2 false er 1 større eller lig med 2 1!= 1 false er 1 ikke lig med 1 1!= 2 true er 1 ikke lig med 2!1 < 2 true er 1 ikke mindre end 2!1 > 2 false er 1 ikke større end 2 If sætning eks: $navn = "Albert"; if($navn=="albert") { echo "Albert er dit navn"; else if($navn=="hans") { echo "Albert er dit Hans"; else if($navn=="bob") { echo "Albert er dit Bob"; else if($navn=="susanne") { echo "Albert er dit Susanne"; else { echo "Kender ikke dit navn"; Leg med de forskellige conditions og se hvad der sker.

Mysql Mysql er en database der bliver benyttet på rigtig mange websites. Det er en opensource database som også betyder at den er gratis. Den er rigtig god og hurtig, så hvis du skal lave en hjemmeside til normal brug, hvor normalt brug er sites som f.eks. sites med 100.000 brugere er MYSQL egnet perfekt til dette. Kommer du over de 100.000, er MYSQL stadigvæk rigtig god, størrelsen jeg bruger er ikke en måleenhed men blot et eksempel. Når ens database er oprettet og klar til brug kan dette nedenstående stykke PHP kode tage forbindelse til databasen. $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('could not connect: '. mysql_error()); Koden ovenover opretter kun en forbindelse, men der sker ikke mere før at man selv begynder at trække data ud. Der er dog et par skridt mere for at kunne gøre dette. Valg af database: Når man med PHP siger at man skal vælge en database betyder det at vi vælger det arbejdsområde vores forbindelse skal råde over. Det vil sige at en database er en omfatning af tabeller som indeholder de aktuelle data vi kan udtrække. Metoden til at vælge en database er simpel, og vises nedenunder: mysql_select_db("my_db", $con); På næste side kan du se et database udtræk, hvor forbindelse og database valg er inkluderet i koden.

Udtræk fra databasen: Et udtræk fra en database som i vores tilfælde er MYSQL gøres med sproget SQL. SQL er det scriptsprog som kan udtrække, indsætte, slette, opdatere og udføre matematiske samt logiske udregninger for os, og returnere noget synligt data vi kan vises på vores hjemmeside. Vores database: FirstName LastName Age Peter Griffin 35 Glenn Quagmire 33 Nedenunder vises et udtræk: <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('could not connect: '. mysql_error()); mysql_select_db("my_db", $con); $result = mysql_query("select * FROM Persons"); while($row = mysql_fetch_array($result)) { echo $row['firstname']. " ". $row['lastname']; echo "<br />"; mysql_close($con);?> Koden ovenover vil udtrække for og efternavn som er vist som FirstName og LastName, dog udskrives disse to på 1 linie med et mellemrum. For at teste koden skal du have en database klar til at arbejde med.

Indsætte data i databasen Når man vil indsætte data i databasen skal man benytte en SQL kommando som hedder insert, med denne kan man indsætte det ønskede data til en tabel. Eks. på at indsætte data i en database: <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('could not connect: '. mysql_error()); mysql_select_db("my_db", $con); mysql_query("insert INTO Persons (FirstName, LastName, Age) VALUES ('Peter', 'Griffin', '35')"); mysql_query("insert INTO Persons (FirstName, LastName, Age) VALUES ('Glenn', 'Quagmire', '33')"); mysql_close($con);?> Koden ovenover indsætter 2 nye rækker I vores database, men dette er gjort statisk, som betyder at der ikke er noget dynamik over dette. Hvis vi f.eks. skulle indsætte data fra en formular som vi udfylder selv, er der nogle andre koncepter vi skal tage i brug. På næste side kan du se hvordan man med en HTML formular kan indsætte data i databasen.

Indsætte data med en HTML formular Nedenunder kan du se en meget basisk opsætning af et HTML dokument, med en formular. Denne bliver benyttet til at sende data til en fil der hedder insert.php. Filnavn: index.html <html> <body> <form action="insert.php" method="post"> Firstname: <input type="text" name="firstname" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html> Her kan du se at med metoden $_POST I PHP kan du gribe fat i de sendte data fra vores HTML formular. Filnavn: insert.php <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('could not connect: '. mysql_error()); mysql_select_db("my_db", $con); $sql="insert INTO Persons (FirstName, LastName, Age) VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"; if (!mysql_query($sql,$con)) { die('error: '. mysql_error()); echo "1 record added"; mysql_close($con)?>

Sletning I databasen At slette data er nok det nemmeste at gøre i en database. Når man skal slette bliver SQL kommandoen DELETE brugt. <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('could not connect: '. mysql_error()); mysql_select_db("my_db", $con); mysql_query("delete FROM Persons WHERE LastName='Griffin'"); mysql_close($con);?> I koden ovenover kan du se at vi sletter en person fra vores table Persons med et efternavn der er Griffin. Det betyder naturligvis at alle personer dette efternavn ville blive slettet.

Redigere data i databasen Før vi kan redigere i databasen tag lige et kig på nedenstående tabel. FirstName LastName Age Peter Griffin 35 Glenn Quagmire 33 Koden nedenunder viser hvordan vi kan ændre alderen på en person der har fornavnet Peter og efternavnet Griffin. Formålet er at ændre hans alder til 36, som lige nu er 35. <?php $con = mysql_connect("localhost","peter","abc123"); if (!$con) { die('could not connect: '. mysql_error()); mysql_select_db("my_db", $con); mysql_query("update Persons SET Age = '36' WHERE FirstName = 'Peter' AND LastName = 'Griffin'"); mysql_close($con);?> Efter at koden er blevet udført vil Peter Griffin s alder være ændret til 36, som også vises nedenunder. FirstName LastName Age Peter Griffin 36 Glenn Quagmire 33

GET og POST I PHP findes 2 metoder at gribe fat I data som bliver sendt fra en HTML formular. Den første vi skal kigge på hedder GET. GET metoden håndtere variabel der kommer fra URL linien vi kan se i vores browser. Et eksempel på hvordan dette kunne se ud ville være: http://www.mitsite.dk?minvariabel=1 Her kan du se at der er sat en URL variabel som hedder minvariabel, den er også sat lig med værdien 1. Dette er data som vi kan udskrive eller benytte i vores PHP script. Metoden at gribe fast i disse data kan du se nedenunder. echo $_GET[ minvariabel ]; Her udskriver vi blot URL variabelen s minvariabel værdi til skærmen med en echo kommando. Vi kan også ligge denne værdi over i en normal PHP variabel. $myurlvalue = $_GET[ minvariabel ]; GET er kun til URL variabler, og bliver normal brugt til at vidre sende f.eks. det vi kender fra PID aka. Person ID, som også er den unikke nøgle der bliver brugt til at henvises til en individuel person i vores database.

POST Post metoden er anderledes og kan ikke ses i URL linien. Denne metode at sende data på er brugt mest når skal indsætte data eller logge ind på et website. Med POST metoden er der ikke noget direkte synlig måde se hvad for data vi har sendt fra vores HTML formular. Dette er også meningen da man nok ikke er interesseret i at vise f.eks. password eller vitale oplysninger i en URL linie. Vi ved browere gemmer besøge URLér og derfor ville dette kunne forståes som et sikkerhedshul. Måden at udskrive data der er sendt med metoden POST kan gøres som vist nedenunder. echo $_POST[ firstname ]; Her er vores HTML formular, hvor at name= firstname er det enkeltes tekstfelt unikke identifikation som skal benyttes når vi vil have fat i den sendte data. Kode eksemplet ovenover viser hvordan vi udskriver det første felt kaldet firstname. <html> <body> <form action="insert.php" method="post"> Firstname: <input type="text" name="firstname" /> Lastname: <input type="text" name="lastname" /> Age: <input type="text" name="age" /> <input type="submit" /> </form> </body> </html> Prøv f.eks. at indsætte PHP koden vist på toppen af siden til en HTML med denne formular. Du vil hurtigt se at der kommer en fejl indtil at du trykker på knappen submit.

PHP sessions Sessions i PHP er en metode at gemme data som vi skal have til rådighed på hele vores hjemmeside. Det vil også sige at vi med denne metode kan gemme f.eks. hvis man er logget ind, som også er det man gør i praksis. En session bliver oprettet til den browser du har åbnet hjemmesiden med. Det vil sige at hvis du logger ind facebook med firefox, er du nødvendigvis ikke logget ind med internet explorer. For at få adgang til session på en hjemmeside skal man altid starte med at gøre starte en session. Dette gøres med en funktion som vises nedenunder: <?php session_start();?> <html> <body> </body> </html> Det er vigtigt at du husker at starte sessionen som det første I dit PHP document. Ellers ville der kunne opstå en fejl, da funktionen session_start() sender nogle start op data. Dette kan gå i fejl, og for at undgå dette startes en session altid som det første. Når at vores session er startet har vi frit adgang til alle session data der er oprettet med vores adgang til hjemmesiden. Det vil sige at vi ikke kan få fat i data sidemanden har oprettet selvom at hjemmesiden ligger online, og at vi er på samme tidspunkt. En session bliver oprettet til dig, til din browser og hænger sammen med den, så ved PHP at du er ejeren af sessionen, og det kun er dig som kan tilgå dens data. På næste side kan du se mere om hvordan man arbejder med sessions.

Oprette session variabler Her vises et eks. på hvordan at man opretter en session variabel. Dette er ret nemt og kræver ikke noget særligt at gøre. session_start(); // store session data $_SESSION['views']=1;?> <html> <body> <?php //retrieve session data echo "Pageviews=". $_SESSION['views'];?> </body> </html> Koden overover viser hvordan man opretter et session variabel og sætter værdien 1 ind i denne. Lidt længere nede i koden bliver den udskrevet til skærmen med echo kommandoen. Prøv at opret 2 PHP filer med navn: Index.php Indsæt session kode på denne side Home.php Udskriv session på denne side, efter at du har været på index.php 1 gang Husk at starte session på begge sider i toppen af PHP filen.