PHP guide af Daniel Pedersen Side 1 af 12
Indholdsfortegnelse PHP guide af Daniel Pedersen Side 2 af 12
Indledning I dette hæfte finder du forklaringer til PHP funktioner, løkker, variabler samt en række forskellige færdig kodet eksempler. Der er nolge links i starten (på side 2), der er meget hjælp at hente til PHP, og en fuld dokumentation til PHP. PHP guide af Daniel Pedersen Side 3 af 12
Gode websteder hvis man skal programmere PHP Her er nogle gode links til at finde hjælp til PHP om funktioner, klasser, og den fulde dokumentation. www.php.net www.webcafe.dk www.phpbuilder.com Den basale viden For at kunne programmere i PHP skal man have en PHP fortolker installeret, og en web server. Det kunne f.eks være APACHE som web server, eller Microsoft s IIS. Extensions Hvis man skal programmere PHP er det vigtigt at huske de rigtige fil typer. Hvis men f.eks har en HTML fil som hedder index.html, og man forsøger at skrive noget PHP kode på selve siden vil man ikke kunne se sit resultat. Det er fordi at filen hedder *.html til efternavn, og derfor forventes der ikke PHP s tilstedeværelse. Man skal kalde sin fil *.php hvis man skal have PHP kode på siden. Hva med koden For at komme ind i PHP fra ens HTML dokument skal man huske at sætte PHP start og slut tag. Se det nedenstående (eks.1) Eks 1 //filnavn opg1.php <html> <head> <title>php start tag</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> echo hej ;?> PHP guide af Daniel Pedersen Side 4 af 12
</body> </html> Streng manipalution Man kan sætte strenge lig med hindanden, eller trække et tal fra, men det er vigtigt at vide hvordan man gør det. $a = 1; $b = 2; $a = $b; // resultat 1 $a.= $b; // resultat 12 $a = 5; // resultat 5 $a = $a + $b; // resultat 3 $a.= $a + $b; // resultat 13 Der er også muligheder for at manipulere strenge med funktioner, du kan finde nogle af dem under punktet (Funktioner). Løkker Man bruger løkker til at tælle et eller andet op, hvis man skal have præcis 10 numre ud af et array, så kan man bruge en løkke. På de nedenstående løkke forklaring vil der blive vist hvordan man udskriver en talrække ud fra nogle oplysninger. For løkke //normal tæller $i=0; for($i;$i<10;$i++) { echo $i; Udskrift: 0123456789 While loop // While checker I starten om den skal forsætte loop et. $i=0; while(1) { $i++; if($i==10) { break; PHP guide af Daniel Pedersen Side 5 af 12
echo $i; Udskrift: 123456789 Do while loop // Do checker I slutning om den skal forsætte loop et. $i=0; do { $i++; echo $i; while($i!=10); Udskrift: 12345678910 foreach() loop // henter en efter en hvert element fra et array og putter det over i en angvien variable, i eks. nedenunder vil vores variabel hedde $value. $arr = array("one", "two", "three"); foreach ($arr as $value) { echo "Value: $value<br>\n"; Udskrift: Value: one Value: two Value: three Variabler I andre programmerings sprog som C findes der flere typer af variabler, variabler til tal, bogstaver og komma tal, osv... Når man opretter en variabel, er man måske vand til at skrive først en type og så navet på sin variabel. I PHP bruger man en type variabler, så det gør det ret nemt at huske typen. Den type ser sådan her ud $, den defineres udfra et dollar tegn. Man kan kalde PHP s variabel type for all-around-variable, den kan både indeholde tal, og bogstaver, og så på samme tid. For at oprette en variabel skal man altid skrive et dollar tegn foran. Se eks 2 Eks2 //vi opretter en variabel PHP guide af Daniel Pedersen Side 6 af 12
$løn = 1598; echo Min løn er $løn ; Her er et lille eks. (eks 3) som viser at man både kan have tal og bogstaver i et array på samme tid: Kopier denne kode, og prøv selv af og se. Eks 3 $a[0] = 112; $a[1] = "politi"; print_r($a); Konstanter Man kan også oprette en constant variabel som har den samme værdi hele tiden. Det gør man med define. Den første del af define er orden TAL som er navnet på vores konstante variabel. Den anden del er den værdi som vores konstante variabel skal have. Define( TAL,7); If(TAL == 7) { Echo Tal er lig med 7 ; Funktioner Som der findes forskellige slags bogstaver, findes der også forskellige funktioner. Du finder nogle lister over forskellige funktioner. Funktion oprettelse For at oprette en funktion skal man angive et funktions navn, og funktionens input hvis der skal være nogle. Det første ord vi støder på er function som beskriver at det er en funktion. Det andet er test som er navnet på funktionen. Det tredje er ($a) som er inputtet til funktionen. // denne funktion udskriver inputtet til skærmen, og retunere ingen værdi. function test($a) { echo $a; PHP guide af Daniel Pedersen Side 7 af 12
// denne funktion udskriver inputtet til skærmen, og retunere inputtet. function test2($a) { echo $a; return $a; Funktioner til strenge Se nærmere forklaring på www.php.net echo() //printer text ud til skærm print() //tigsom echo, printer text ud til skærmen strlen() //tæller antal tegn i en stregn, eller hva man vi vil tælle substr() //returnere et stykke af en streng, (eks. $rest = substr("abcdef", 0, 4); // returns "abcd") strcmp() //sammenligner to strenge strpos() //returner positionen for den første mødte i strengen eks $mystring = 'babc'; $findme = 'a'; $pos = strpos($mystring, $findme); echo $pos; Der vil blive udskrevet 1 på skærmen fordi a findes på plads 1 i teksten $mystring= babc ; str_replace() // Provides: <body text='black'> $bodytag = str_replace("%body%", "black", "<body text='%body%'>"); strtoupper() //converter alle dine små bogstaver i en streng til store (eks a=a) strtolower() //converter alle dine store bogstaver i en streng til små (eks A=a) trim() // fjerner alle mellemrum i starten og slutningen af en streng. explode() // splitter en streng op i et array udfra en streng implode() // samler et array til en streng ud fra en streng bin2hex() // convertere binær til hexadecimal chr() // returnere det angivet tal om tegn/bogstaver/tal på skærmen ord() // retunere ascii værdi af en karekter htmlentities() // convertere alle HTML tags til det her( eks. $str = "A 'quote' is <b>bold</b>...<br>..<hr>"; echo htmlentities(htmlentities($str)); Dette er output: A 'quote' is <b>bold</b>...<br>..<hr>) html_entity_decode() //gør det modsatte af htmlentities() md5() // en god kryptering algoritme, men kan ikke dekrypteres sprintf() // udskriver en formateret streng til skærmen. PHP guide af Daniel Pedersen Side 8 af 12
Funktioner til arrays Se nærmere forklaring på www.php.net array_push() // indsætter nyt element i slutningen af et array array_pop() // fjerner det sidste element fra et array array_unique() // fjerner duplikanter fra et array count() //retunere antal elemter fra et array list() // lister elemter fra array ned I variabler, kig på www.php.net for anden forklaring shuffle() // ruster er array s elemter sammen I vilkåring rækkefølge sort() // sorter array efter alfabetisk rækkefølge natsort() // sortere efter naturlig rællefølge, se www.php.net for anden forklaring print_r() // printer et array ud for hurtig visning Funktioner til Database Se nærmere forklaring på www.php.net mysql_connect() // opretter forbindelse til en database mysql_select_db() // vælger en database mysql_query() // udføre en sql sætning mysql_fetch_row() // retunere et resultat til et kontinuerligt array mysql_close() // lukker en forbindelse mysql_result() // returere den valgte celle fra en række i en database() mysql_error() // retunere fejl beskeden for en nuværende fejl mysql_errno() // retunere den nuværende fejl beskeds nummer mysql_list_dbs() // retunere alle de forskellige databaser fra en mysql server Funktioner til socket programmering Se nærmere forklaring på www.php.net socket_create() // opret en socket socket_bind() // bind navn i addresse form til socket socket_listen() // sætter en socket til at vente på inkome forbindelser socket_accept() // acceptere en frobindelse til en socket socket_write() // skriver til en socket socket_read() // læser fra en socket socket_close() // lukker en socket PHP guide af Daniel Pedersen Side 9 af 12
PHP og HTML på samme tid Når man sidder med sine færdig programmeret funktioner, har man nogle muligheder hvor man vil inkludere det. Man har muligheden for at skrive koden på selve siden blandet sammen med HTML, og hvad man nu har. Man har også muligheden for at inkludere selve PHP filen til HTML siden, så man adskiller HTML og PHP fra hindanden. Hvis du vil adskille din PHP og HTML fra hindanden så se (Require eks. 4 side 9): Hvis du vil indsætte din PHP i selve HTML koden så se (eks. 5 side 9):: PHP og HTML adskilt Hvis man har en PHP fil som hedder udskriv_min_løn.php, som udskriver hvor meget du tjener i løn, kan man inkludere den i HTML koden ved at skrive denne linie require ("udskriv_min_løn.php");. Eks 4: // husk at siden skal hedde *.php til efternavn hvis man vil have PHP med. <html> <head> <title>search Thread</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> require ("udskriv_min_løn.php");?> </body> </html> PHP og HTML sammen Hvis men hellere vil skrive sin kode direkte på siden, så gør sådan her: Eks 5: <html> <head> <title>search Thread</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> PHP guide af Daniel Pedersen Side 10 af 12
<link rel="stylesheet" type="text/css" href="style.css"> </head> <body> echo Test tekst ; </body> </html> Eksempler med kode Her bliver vist nolge eksempler med kode til, som er til at kopiere og prøve af. Koden er lige til at copy-paste, og skulle fungere. PHP og HTML adskilt Eks. 6 viser hvordan man inkludere en *.php fil sin HTML. //Filnavn: UdskrivText.php echo "Udskrift fra 'UdskrivText.php'";?> //Filnavn: PHPogHTML.php <html> <head> <title>php og HTML adskilt</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> require ("UdskrivText.php");?> </body> </html> PHP og HTML sammen <html> <head> <title>php og HTML sammen</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> PHP guide af Daniel Pedersen Side 11 af 12
$var = 10; echo $var; $var = 20; echo $var;?> </body> </html> PHP som HTML <html> <head> <title>untitled Document</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> </head> <body> echo "<table border=1><tr>"; echo "<td>data 1</td>"; echo "<td>data 2</td>"; echo "</tr></table>";?> </body> </html> PHP guide af Daniel Pedersen Side 12 af 12