Göm menyn

Var skriver jag mitt PHP program?

När du nu ska börja skriv dina första PHP program är det viktigt att komma ihåg att en webbläsare bara kan förstå HTML. De PHP program du skriver kommer alltså skriva ut HTML-kod som skickas till webbläsaren. PHP är gjort för att användas tillsammans med HTML och det går därför att blanda XHTML och PHP på en webbsida. Möjligheten att blanda PHP gör att du kommer slippa skriva ett PHP program som gör all XHTML-kod.

En webbsida som innehåller PHP-kod måste ha filändelsen .php istället för .htm eller .html

En sida i PHP innehålla samma delar som en XHTMLsida

<!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=utf-8"/>    
 <title>My document</title>
 </head>

 <body>
  <p>
    <a href="http://validator.w3.org/check?uri=referer">
      <img src="http://www.w3.org/Icons/valid-xhtml10" height="31" width="88" 
         alt="Valid XHTML 1.0 Transitional" />
    </a>
  </p>
 </body>

 </html>

För att markera vad som är ett PHP-program så ska programmet omslutas av <?php och ?>

Varje rad du skriver måste också avslutas med ;

I exemplet nedan så används funktionen echo att skriva ut texten Hello World. ECHO används för att skriva ut text och HTML kod till webbläsaren.

<!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=utf-8"/>    
 <title>My document</title>
 </head>

 <body>
 <p>
<? echo "Hello world"; ?>
</p>
  <p>
    <a href="http://validator.w3.org/check?uri=referer">
      <img src="http://www.w3.org/Icons/valid-xhtml10" height="31" width="88" 
         alt="Valid XHTML 1.0 Transitional" />
    </a>
  </p>
 </body>

 </html>

Uppgift 1

Spara ner koden ovan till en fil som heter exempel1.php så har du ditt första PHPprogram. öppna sidan i en webbläsare så kommer du se en webbsida med texten Hello World på.

Du kan utöka ditt exempel med att lägga till HTML-märken i echo funktionen. Vill du skriva ut något i fetstil så ändrar du i programmet till följande kod. För att få en ny rad i HTML krävs att du infogar ett <BR>, det måste du nu skriva ut med hjälp av PHP.

<body>
<?php
echo 'Hello World';
echo '<BR>';
echo 'Who might you be?';
?>
</body>

Uppgift 2

Ändra texten i exempel1.php till ovanståend och spara filen. Öppna sidan i en webbläsare och se att du nu har två rader.

Du skulle även kunna skriva allt på en rad men det skulle göra koden svårare att läsa.
echo 'Hello World<BR><B> Detta skrivs i fet stil</B>';

Information om besökarna

Det du gjort hittills skulle varit enklare utan PHP. Men det finns mycket mer som man kan göra i PHP. Du kan t ex få reda på uppgifter om besökarens webbläsare. Uppgifterna lagras i en vektor (array) $_SERVER. Du kommer åt de olika elementen i vektorn genom att ange deras namn inom [].
För att få reda på vilken webbläsare en besökare har använder du elementet HTTP_USER_AGENT

echo $_SERVER['HTTP_USER_AGENT'];

Du kan även se besökarens IP-adress genom att lägga till

echo $_SERVER[' REMOTE_ADDR '];

Du kan läsa mer om de tillgängliga elementen på http://se.php.net/manual/en/reserved.variables.php#reserved.variables.server

Uppgift 3

Lägg till så du ser vad besökaren har för webbläsare och från vilken IP-adress sidan efterfrågas. Lägg till raderna ovan i ditt PHP-program och prova.

Datum

Du kan enkelt skriva ut dagens datum genom att lägga till följande rad i ditt PHP-program

echo date("l dS of F Y h:i:s A");

Du kan läsa mer om hur du kan formatera datumet på http://www.php.net/manual/en/function.date.php

Uppgift 4

Utöka så att ditt program i exemple1.php skriver ut datum och klockslag på lämpligt format.

När allt fungerar när du tittar på sidan kan du gå vidare till att börja arbeta med ditt PHP-program som ska ta om hand resultatet från ditt formulär.

Tipsformuläret

Innan ni börjar med att skriva PHP-programmet som tar emot tipsen måste ni se till att era formulär skickar uppgifterna till rätt ställe. öppna formuläret du gjort för att lämna tips. Objekten i formuläret som fält, knappar osv måste vara omslutna av FORM-märket. I startmärket ska ni nu ange vart formuläret ska skicka uppgifterna.

ändra FORM märket så det ser ut som nedan.

<form method="post" action="tips.php">

Detta innebär att uppgifterna i formuläret kommer skickas till tips.php då ni trycker på Sändknappen. Filen tips.php ska ligga i samma katalog som ert formulär.

Gå också igenom formuläret och se till att namnen på objekten, NAME attributet, för fält, listor och övriga objekt stämmer med vad som ska skrivas i fälten. Det är namnattributen som används i PHP för att få fram uppgifterna från formuläret.

Spara sedan ditt formulär.

Ta emot tips

Öppna ett nytt dokument som du sparar som tips.php i samma katalog som ditt formulär.

Börja med att skriva i den grundläggande XHTML-koden som alltid behövs enligt ovan.

För att testa att kopplingen mellan formuläret och webbsidan fungerar ska vi börja med att bara skriva ut uppgifterna från formuläret på sidan tips.php Uppgifterna från formuläret finns i vektorn (arrayen) $_POST Och för att komma åt elementen används det namn som objektet hade i formuläret. T ex Textfältet med namnet rubrik i formuläret finns lagrat i elementet $_POST['rubrik']

Skriv ut alla fält från formuläret på webbsidan med hjälp av echo

echo $_POST['rubrik']. '<br>';
echo $_POST['nästa fält I formuläret']. '<br>';

Prova tips.php

Uppgift 5

Spara sidan tips.php. öppna sedan ert formulär. Fyll i uppgifterna och sänd in formuläret. Sidan tips.php ska då öppnas och ni ska se de uppgifter som ni fyllde i formuläret. Funkar detta så kan ni gå vidare till nästa steg att skicka uppgifterna med e-post till en mottagare.

E-post

Det finns en beskrivning av e-postfunktionen på http://www.php.net/manual/en/function.mail.php

I mailfunktionen börjar du med att ange din e-postadress, adressen dit brevet ska skickas, brevets rubrik och innehåll.

mail('e-postadressen', 'My Subject', 'brevets text');

Lägg till ovanstående rad (med din e-postadress) i tips.php och spara.

öppna formuläret i webbläsaren och fyll i uppgifterna och skicka in. öppna din mail och se om brevet kommit fram.

Uppgift 6

Fungerar det att skicka ett tomt e-brev ska du där brevets text ska stå fylla på med elementen från vektorn $_POST.

För att "sätta ihop" två element används en punkt. Vill du lägga till text så ska den stå inom '  '. Vill du göra en ny rad används '\n' t ex

'Rubik' . $_POST[rubrik] . '\n' . 'Text' . $_POST[text] . '\n' osv.

Uppgift 7

När du fått allt att fungera så att när någon fyller i formuläret det skickas ett bra formaterat e-brev till dig ändrar du innehållet på tips.php så att istället för att lista innehållet från formuläret visar ett medelande som tackar för tipset.

Spara till fil

För att webbservern ska kunna skriva till en fil i din katalog måste du först skapa filen och sedan göra den skrivbar för alla.

VIKTIGT tänk vad det innebär att ha en fil som är skrivbar för alla i din katalog

Du ger alla fullständiga rättigheter till en fil genom att skriva

chmod 777 sidans namn

när du står i katalogen eller kan du använda menyn i det grafiska gränssnittet.

På sidan http://se.php.net/manual/en/function.fwrite.php finn ett exempel på hur man kan skriva till en fil.

Uppgift 8

Kopiera koden till tips.php och ändra så den skriver uppgifterna från ditt formulär till en fil på webbservern.

För att se vad som skrivs till filen så får du öppna den i en texteditor.

Uppgift 9 (extrauppgift)

Skapa en php sida som läser in den fil som ni sparar uppgifterna från formuläret ifrån och visar den som en webbsida genom att använd include.

Du kan läsa mer på http://se2.php.net/manual/en/function.include.php

 


Sidansvarig: Eva L. Ragnemalm
Senast uppdaterad: 2011-11-15