WEBMASTERDAG 11VT09
2
AGENDA
9.00 – 10.15
Webbserver
Webserverprogrampaket
Lite om XAMPP
Introduktion till PHP
10.15  10.30
Paus
10.30–12.00
PHP-Formulär
12.00 – 13.00
Lunch
13.00 – 14.15
Introduktion till Databaser
MySQL databasar
phpMyAdmin
Applikationsutveckling medMySQL och PHP
14.15 – 14.30
Paus
14.30 – 16.00
Vidareutveckling av projektarbete
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
3
WEBBSERVER
En webbserver har som uppgift att tillhandahållawebbsidor eller andra filer som distribuerasvanligtvis via Internet
Kommunikationen sker med hjälp av enwebbläsare (klient).
Användaren väljer webbsidor och webbläsarenbeställer webbsidorna från webbservern och visardem på användarens datorskärm.
De vanligaste webbserverprogrammen är:
Apache HTTP Server.
Microsoft Internet Information Server
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
4
WEBBSERVERPROGRAMPAKET
Webbserverprogrampaket är ett paket avprogram som inkluderar de mestvanligaste programvara som krävs för attköra databas- och serverbaseradewebbsidor. T.ex. Apache, MySQL, PHPoch phpMyAdmin.
Exempel på webbserverprogrampaket är:
MAMP (www.mamp.info)
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
5
LADDA NER OCH INSTALLERA XAMPP
Klicka på XAMPP
XAMPP finns för mångaolika operativsystem.Välj”XAMPP for Windows”
Ladda ner XAMPP
Installera!
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
6
XAMPP KONTROLLPANEL
StartaApache
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
7
TESTKÖRA GENOM ATT SURFA TILLHTTP://LOCALHOST/
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
8
INTRODUKTION TILL PHP
PHP är ett programmeringsspråk.
PHP är ett skriptspråk för webbservrar.
PHP-dokument bearbetas av en webbserver.
PHP-Kod interpreterad till HTML avwebbservern och skickas vidare till webbläsaren.
För att kunna öppna PHP-dokument behöver dupublicera dessa till en webbserver med PHP-stöd.
PHP-dokument har filändelsen .php
Läs mer på
8
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
9
Skapa en plats ochsätt upp en lokal Testserver
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
10
Min första PHP sidaSpara som hej_ditt_namn.php
<?php
echo "Hej Mahmud! ";
?>
Förhandsgranska i webbläsaren och visa källkoden!
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
11
PHP Variabler
En variabel är en platshållare för ett värde somkan ändras under programmets gång.
<?php
$namn = "Mahmud Al Hakim";
   echo $namn;
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
12
PHP Strängar
En sträng är en grupp av tecken.
I PHP markeras en sträng av att den inneslutsav enkla eller dubbla citationstecken.
Man lägger ihop strängar med hjälp avconcatenationsoperatorn som representeras avtecknet "." (punkt).
<?php
$namn = "Mahmud Al Hakim";
   echo "Hej  ".$namn;
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
13
Hämta data via $_REQUEST
<?php
$namn = $_REQUEST['namn'];
echo "Hej ". $namn;
?>
Variabelnamn och data kan skrivas direkt i URLenex. hej.php?namn=Mahmud
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
14
Skicka variabler via ett formulär
<body>
<form id="myform" name="myform" method="post"action="hej.php">
 Vad heter du <input id="namn" name="namn" type="text"   />
 <input type="submit" name="Submit" value="Skicka" />
</form>
</body>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
15
PHP Funktioner
En funktion är ett antal instruktioner somutför en sak t.ex. skriva ut dagens datumeller skicka e-post.
Exempel: Funktionen date()
<?php
 // Skriv ut dagen datum
echo date('Y-m-d');
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
16
Funktionen mail()
Funktionen mail() skickar ett e-post
Funktionen behöver ett antal s.k. parametrar:
1.Mottagarens e-postadress
2.Ämnesrubrik
3.Meddelandetext
4.Headers t.ex. From
<?php
mail("mahmud@hakimdata.se","Hej","Ett meddelande","From: info@hakimdata.se");
echo "Meddelandet har skickats";
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
17
Skicka ett e-postformulär via PHPfilen form.php
<body>
<form id="myform" name="myform" method="post" action="mail.php">
  <p>Namn<br />
  <input name="namn" type="text" id="namn" size="50" maxlength="50" /></p>
  <p>E-post<br />
  <input name="epost" type="text" id="epost" size="50" maxlength="50" /></p>
  <p>Meddelande<br />
  <textarea name="meddelande" cols="50" rows="5"id="meddelande"></textarea></p>
  <p><input type="submit" name="Submit" value="Skicka" /></p>
</form>
</body>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
18
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
OBS!
Funktionsmakro
En annan PHP-fil somkommer att ta emotdata och skickavidare som e-post!
19
Skicka ett e-postformulär via PHPfilen mail.php
<?php
// Hämta data från formuläret och spara i olika variabler
$namn = $_REQUEST['namn'];
$epost = $_REQUEST['epost'];
$meddelande = $_REQUEST['meddelande'];
// Några parametrar
$till = "mahmud@hakimdata.se";
$rubrik = "Förfrågan från $namn";
$headers = "From: $epost";
mail($till, $rubrik, $meddelande, $headers);
echo "Meddelandet har skickats";
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
20
DATABASER
En databas är en samling information som organiserats såatt ett dataprogram snabbt kan hitta önskade data.
En databas är ett elektroniskt kortregister.
Traditionella databaser organiseras i fält, poster och filer.Ett fält är en enskild datamängd, en post är en uppsättningsammanhörande fält och en fil är en samling poster.
En enkel telefonkatalog kan jämföras med en fil. Deninnehåller en lista med poster som var och en innehåller trefält: namn, adress och telefonnummer.
För att hantera informationen i en databas används ettdatabashanteringssystem (Database Management System,DBMS). Detta är en samling program för att lägga in,organisera och hämta ut data i en databas.
Uttrycket databas används numera oftast för att betecknaett helt databashanteringssystem.                                                          Källa: Paginas IT-ordbok
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
21
EXEMPEL  DATABASHANTERINGSSYSTEM
MS SQL Serverwww.microsoft.com/sql
IBM DB2www.ibm.com/db2
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
22
VARFÖR MYSQL?
Prestanda: MySQL är snabb
Pris: Fritt att använda till många ändamål
Stabilitet: Alla versioner måste klara ”MySQLtest suite”!
Lätt att använda
Läs mer: MySQL HandbokenISBN:  91-636-0830-8
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
23
TIPS: ARBETA MED MYSQL LOKALT
StartaMySQL
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
24
ETT PRAKTISKT EXEMPEL
Skapa en databasbaserad telefonkatalog genom attanvända HTML, PHP och MySQL.
Steg 1: Skapa en MySQL databas.Lokalt via phpMyAdmin eller på webbservern medhjälp av cPanel
Steg 2: Skapa en tabell i denna databas.Enklast genom att använda phpMyAdmin.
Steg 3: Skapa ett användargränssnitt (GUI).Enklast med några enkla HTML-formulär.
Steg 4: Kommunicera med databasen via PHPTips: Här finns ett lösningsförslag http://www.hakimdata.se/telefon/
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
25
STEG 1SKAPA EN MYSQL DATABAS LOKALT
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
26
STEG 1: SKAPA EN MYSQL DATABAS WEBBSERVERN
Logga in på din cPanel
Välj ” MySQL Databas guide”
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
27
STEG 2: SKAPA EN TABELL
Starta phpMyAdmin
Välj databasen ”telefonkatalog”
Skapa en tabell genom att angetabellens namn och antal fält.Klicka på Kör.
Ange titel för de olika fälten samt längd(antal tecken). Klicka på Spara.
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
28
STEG 3: SKAPA ETTANVÄNDARGRÄNSSNITT (GUI).
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
29
SQL
SQL står för ”Structured Query Language”
SQL är ett standardiserat språk för att hämtaoch modifiera data i en databas.
Exempel 1: Följande SQL-sats hämtar all datafrån tabellen ”telefonbok”. SELECT * FROM telefonbok
Exempel 2: Följande SQL-sats infogar en post itabellen ”telefonbok”.INSERT INTO telefonbok VALUES('Mahmud', '0707556405')
Tips: Läs mer här
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
30
STEG 4: KOMMUNICERA MED DATABASEN
MySQLTelefonkatalog
select.php
Läs fråndatabasen
insert.php
Skriv tilldatabasen
action="select.php"
action="insert.php"
Connect.php
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
31
CONNECT.PHP
<?php
 
$dbHost = "localhost" ;
$dbUser = "hakimdat_telefon" ;
$dbPwd  =  ”XXXXXXX" ;
$dbName = "hakimdat_telefonkatalog" ;
$dbconn = mysql_connect($dbHost, $dbUser, $dbPwd) ;
mysql_select_db($dbName) or die(mysql_error()) ;
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
32
INSERT.PHP
<?php
require ("connect.php");
$namn = $_REQUEST['namn'];
$telefon = $_REQUEST['telefon'];
$sql="INSERT  INTO telefonbok VALUES ('$namn', '$telefon')";
$commit=mysql_query($sql) or die(mysql_error());
echo "$namn har nu lagts till telefonkalalogen!";
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
33
SELECT.PHP
<?php
require ("connect.php");
$query = "SELECT * FROM telefonbok ";
$result = mysql_query($query) or die(mysql_error());
echo "<h2>Min telefonkatalog</h2>";
echo "<table>";
echo "<th>Namn</td>";
echo "<th>Telefon</td>";
echo "</tr>";
while($row = mysql_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['namn'] . "</td>";
echo "<td>" . $row['telefon'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
34
MER OM PHPMYADMIN OCH SQL
Starta phpMyAdmin och välj databasentelefonkatalog. Klicka därefter på ”Visa”
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
35
PHPMYADMIN VISAR SQL-FRÅGA OCH KANSKAPA PHP-KOD!
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
36
MED HJÄLP AV PHPMYADMIN KAN DUVISAÄNDRARADERASKRIVA UT OCHEXPORTERA DATA.
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008
37
DU KAN SKRIVA OCH TESTA DINA SQL-SATSER DIREKT FRÅN PHPMYADMIN
Copyright, www.hakimdata.se, Mahmud Al Hakim, mahmud@hakimdata.se, 2008