Gå til innhold

php FAQ diskusjon


Anbefalte innlegg

Er det på tide med en php FAQ her? Synes jeg har sett veldig mange veldig like og også veldig grunnleggende spørsmål her i det siste.

 

På linux forumet var det massevis av spørsmål som kom på nytt og på nytt så dette ble satt sammen til en FAQ er det ikke nå på tide å få i gang det her og?

Lenke til kommentar
Videoannonse
Annonse
Er det på tide med en php FAQ her? Synes jeg har sett veldig mange veldig like og også veldig grunnleggende spørsmål her i det siste.

 

På linux forumet var det massevis av spørsmål som kom på nytt og på nytt så dette ble satt sammen til en FAQ er det ikke nå på tide å få i gang det her og?

 

jeg er igrunn veldig enig med deg .. det er sant nokk ...

men de nye folkene som kommer og spør spørsmål

vet jo ikke om d spørsmåle er spurt fra før ...

Lenke til kommentar

for ikke lenge siden skrev jeg en artikkel til www.htmlhjelp.no (før de tok ned siden), det var en innføring i php. Jeg poster den her jeg, se opp for skrivefeil og skyt meg om dere ikke liker den.

 

 

Innledning

 

Hva er PHP?

PHP er en Hypertext Preprocessor, et program som som preprosseserer hyperteksten. Hypertekst vet du hva er. Det er jo HTML. (HyperText Markup Language). Når vi sier preprossesere mener vi å lage noe på forhånd. PHP lager HTML sidene før de vises i nettleseren. Dette gir oss muligheten til å lage sider med dynamsik innhold.

 

Hva kan du gjøre med PHP?

PHP er et kraftig verktøy, du kan bruke det til veldig mye. Siden PHP har støtte for et utall antall databaser (mySQL, pgSQL, oracle, msSQL ++) er PHP er meget godt verktøy til utvikkling av internett basserte aplikasjoner. Med PHP kan du f.eks lage: gjestbok, dagbok, treffteller, forum, webshop og webmailsystmer som hotmail. Men mye av dette er ganske innviklet. Vi vil gjerne holde det enkelt i starten.

 

Hva kan du ikke gjøre med PHP?

Selv PHP har sine begrensninger. PHP er megt bra til noen ting, men til andre ting er det ubrukelig. Det er en ting man må vite, det er at PHP aldri kan "ta over for" HTML, fordi PHP fakstisk lager HTML så slutter man ikke å skrive HTML når man "går over til" PHP. Dette kan ikke PHP gjøre:

 

- Lage animasjons effekter

- Kjøre ting i realtime, fordi PHP bare kjøres en gang på hver side (når den blir lastet)

- Lage spill som CS og Starcraft

 

Denne listen er kanskje ikke fullstendig, men jeg kommer ikke på noe mer i farten. Men hvis du vil lage noe med animasjon, eller realtime er Flash en fin ting.

 

Språket

 

Strukturen i PHP ligner veldig på mange andre programeringsspråk. De fleste funksjonene vil man forstå hvis en har grunnleggende engelsk kunnskaper, men ikke alle. Det sies at PHP er et lett språk å lære, dette er fordi det har en struktur som en vil forstå ganske lett. Men det er en stor forskjell på å forstå PHP og å være i stand til å skrive det.

 

basic regler

- PHP skrives mellom <?php og ?> i et dokument med .php fil endelse

(.phtml, .php4, .php3 fleier også å virke, men .php er vanligst)

- Nesten alle program linjer i PHP avsluttes med et ; (semicolon)

- PHP script kjøres kun på servere med innstallert PHP

 

Funksjoner

PHP er bygget opp av "funksjoner", noen funksjoner tar "paramatere". Ved å kjøre funksjoner gir du PHP en oppgave den skal gjøre. Du kjører funksjoner slik:

 


funksjon(parameter)

 

Noen funksjoner tar flere paramatere, akkurat som i HTML der f.eks. bildet taggen <img> tar kilde, høyde, bredde, alternativ tekst +++. slike funksjoner kjøres slik.

 


funksjon(parameter1, parameter2)

 

Variabler

PHP lagrer data i variabler, disse variablene kan du hente ut på ulike måter. PHP han få variabler fra skjemaer (forms) som du poster til php-script, fra databaser, fra tekstfiler som du leser inn eller variabler som du har skrevet verdien inn i i scriptet ditt. Variabler har verdier, for å gi en variabel verdi bruker du = (likhetstegn), altså:

 


variabel = verdi

 

De vanligste variablene er tekststrenger (string) og tall (int). Alle variabler i PHP har et dollar tegn forran seg dette dollar tegnet er etterfulgt av navnet på variablen.

 

Hva er det som avgjør om en variabel blir tekst streng eller tall? Jo det er hvordan du bestemmer variablen.

 


$variabel = 1;

 

dette vil gi variabelen $variabel en verdi av 1 og variabel typen vil være tall. Hadde vi skrevet:

 


$variabel = "1";

 

ville variabel typen vært tekststreng

 

Altså forskjellen mellom tall og tekststreng definisjonen er at tekst strenger har "" (hermetegn) rund seg.

 

Kontrollstruktur

PHPs kontrollstruktur består av funskjonene: if, else, elseif, while, do..while, for, foreach, break, continue, switch, declare, return, require(),

include(), require_once() og include_once()

 

Jeg skal forklare noen va disse senere i dette "kapittelet"

 

Logiske operatører

 

PHP bruker mange logiske opperatører, du trenger ikke kunne alle, men noen trenger du. Disse brukes til å utføre tester o.l. Vi skal se nermere på hvordan de brukes senere. Her en en liste over noen av opperatørene:

 

a == b -- a er lik b

a != b -- a er ikke lik b

a < b -- a er mindre enn b

a > b -- a er større enn b

a <= b -- a er større eller lik b

a >= b -- a er mindre eller lik b

 

vi kan skrive slik


$variabel = ("a" == "b");

 

Vi vet at bokstaven a ikke er lik bokstaven b, når dette utsagnet er feil vil php sette verdien av $variabel til false (usann). Hadde vi skrevet


$variabel = ("a" != "b");

 

Ville $variabel fått verdien true (sann)

 

Logisk test

PHP kan utføre tester på diverse utsagn. Til dette bruker vi funskjonen funksjonen if (hvis) if tar et parameter og det er et logisk utsagn. men etter if(parameter) skal det være en krøll parantes, denne symboliserer starten av den koden som skal utføres om utsagnet er sannt (true).

etter den koden som skal kjøres finner vi en lukke-krøllparantes, strukturen for if er slik:

 


if(utsagn) {

kode som utføres når utsagnet er sannt (true)

}

 

legg merke til at det ikke er noe semicolon etter krøllparantesene.

 

PHP har også funksjonene elseif og else. De kan forklares slik:


if(ting er sånn) {

kode som utføres hvis ting er sånn

}

elseif(nei de er slik) {

kode som utføres hvis ting ikke er sånn men slik 

}

else {

hvis ting ikke er sånn eller slik i det heletatt

}

 

Looper

PHP kan loope kode dette betyr arbeidsbesparelse, tenk deg at du skal skrive alle tallene fra 0 til 99 da gidder du selvfølgelig ikke å skrive de ned. istede skriver du et lite PHP script som gjør det:

 


$i = 0;

while($i < 100) {



skriv ut $i

la $i vokse med 1

}

 

while vil tar et parameter, og den looper koden som står inne i seg så lenge parameteret er sannt (true) dette er en av loopene til PHP. En andnen loop er for-loopen, den ser kanskje litt verre ut, men jeg skal forsøke å forklare

 


for(kode som kjøres en gang ved starten av loopen [b];[/b] utsagn som skal stemme for at det skal loopes[b];[/b] kode som 

utføres etter hver loop) {

kode som utføres i hver loop

}

 

hvis vi skulle skrive koden til det forige eksemplet med for loop ville det bli slik

 


for($i = 0; $i < 100; $i++) {

skriv ut $i

}

 

$i++ vil øke verdien av $i med en

 

Vanlige funksjoner

 

Man trenger ikke lære seg alle funksjonene i PHP, langt ifra. En kan greie seg men et ganske lite knippe funksjoner. Det viktigste er at en kan gjøre nytte av de funksjonene en kan.

 

echo

Skriver tekst ut på siden, denne teksten settes inn i HTMLn der echo står f.eks.

 


<table>

  <tr>

     <td><h1>hei</h1></td>

  </tr>

  <tr>

     <td><?php echo($name); ?></td>

  </tr>

</table>

 

Hvis vi hadde satt variablen $name til tekststrengen "Per" ville HTMLn vise dette:

 


<table>

  <tr>

     <td><h1>hei</h1></td>

  </tr>

  <tr>

     <td>Per</td>

  </tr>

</table>

 

echo tar bare et parameter og det er det som skal skrives ut. echo kan skrive ut både tekst og tall, men husk å ikke skriv echo("$lala"); hvis $lala er en variabel med formatet tall, er det tekst går det greit, men det er ikke nødvendig med hermetegn rundt variabler inne i echo sine parametere, hvis du skriver teksten inn i echo slik echo("lalalalalala"); må du ha hermetegn hvis det er tekst streng du vil skrive ut. Hvis du skal skrive ut en tekststreng som innholder hermetegn må du lage en (skråstrek

fra venstre top høyre bunn) forran hermetegnet (slik "). Du vil får parse error hvis du ikke gjør det.

 

funksjonen print ligner veldig på echo bare at den returnerer en verdi til scriptet den står i, den returnerer true/false ettersom den får gjennomført jobben sin eller ikke

 

empty

Kontrolerer om en variabel er tom. Dette er fint hvis du har et skjema som poster til et php script, da kan su skrive slik:

 


<?php

if(empty($paakrevdFelt)) {

echo("fyll alle feltene");

}

else {

echo("du fyllte ut det påkrevde feltet");

}

?>

 

empty tar et parameter dette parameteret er et variabelnavn, hvis denen variablen er tom vil empty returnere true, hvis du vil ha true når variablen ikke er tom skriver du !empty() ! betyr ikke.

 

arrays

Arrays er vel strengt tatt ikke en funksjon men heller en variabeltype. Men det er mange funksjoner som tillhører arrays. Arrays er et veldig kraftig redskap om du en bruker de riktig.

 

Er en linje av variabler, som er lagret inne i en annen variabel. Når du lager et array går du fram slik:

 


<?php

$array = array(1,2,3,4);

?>

 

eller slik:

 


<?php

$array = array();

$array[] = 1;

$array[] = 2;

$array[] = 3;

$array[] = 4;

?>

 

eller slik:

 


<?php

$array = array();

$array[0] = 1;

$array[1] = 2;

$array[2] = 3;

$array[3] = 4;

?>

 

alle disse metodene gir samme resultat, når du setter en tom hakeparantes bak en array-variabel betyr det at du setter inn et nytt element i arrayet. Setter du et tall inn i arrayet blir det tallet nøkkelen du må bruke for å få tak i verdien.

 

Når vi henter ut verdier fra arrayet kan vi gjøre slik:

 


<?php

$array[0] // er her 1

$array[1] // er her 2

$array[2] // er her 3

$array[3] // er her 4

?>

 

koden til elementene i arrayet starter fra 0.

 

av funksjoner som er tilkynttet arrays er sizeof(array), sizeof returnerer hvor mange elemeter det er i arrayet. En vanlig annvendelse av sizeof

og arrays kan være slik:

 


<?php

$arr = array('a','b','c','d','e');

for($i = 0; $i < sizeof($arr); $i++) {

echo($arr[$i]);

echo("<br>");

}

?>

 

dette vil liste opp elementene i arrayet.

 

Hvordan bruke PHP

 

Jeg har nå forklart hva PHP er, hva du kan bruke det til, hva du ikke kan bruke det til, litt om kontrollstrukturen og noen enkle funksjoner. Men hvordan skal vi bruke alt dette?

 

Det som er fint med PHP er at du skriver PHP inn i HTMLn og ikke HTML inn i PHPn.Hva er så fint med dette? Det gjør at du kan forenkle PHPn ganske mye. Hvis du skal lage en webside og du sier at du vil bruke PHP og lage siden "dynamisk". Da trenger du ikke skrive ut siden slik:

 


<?php

echo("<html>");

echo("<head>");

echo("<title>webside</title>");

echo("</head>");

echo("<body>");

echo("<a href="$lenke">hovedsiden</a>");

echo("</body>");

echo("</html>");

?>

 

Dette blir mye echo, du kan selvfølgelig skrive ut alt i en linje, echo("<html><head><title>webside</title>..."); men hverfall jeg liker å ha koden min ryddig. det som er så fint med PHP, som sagt ovenfor er at du kan gå ut og inn av PHP modus. Dette gjør at vi kan skrive koden slik:

 


<html>

<head>

<title>webside</title>

</head>

<body>

<a href="<?php echo($lenke); ?>">hovedsiden</a>

</body>

</html>

 

Her skriver vi først vanlig HTML men så inne i lenken trykker vi inn en <? og en ?>, dette forteller serveren vår at her må du utføre noen PHP funksjoner. Det å gå inn og ut av PHP modus er en viktig siden du sparer deg en del koding.

 

Det er viktig å vite at en kan plassere sjekker og looper inne i hverandre:

 


<?php

if($a > 0) {

if($a > 10) {

 echo("A er større enn ti");

}

else {

 for($i = 0; $i < $a; $i++) {

  echo($i);

  echo("<br>");

 }

 echo("Er tallene opp til A");

}

}

else {

echo("A er mindre enn 0");

}

?>

 

tester først om variablen $a er større enn 0 hvis så tester den om $a er større enn ti hvis så, skriver den ut at "A er større enn ti", hvis ikke skriver den ut alle tallene opp til $a. Hvis $a ikke er positiv vil vi få se "A er mindre enn 0".

 

-------------------------------------------------------------------------

 

det ble vell en del skrivefeil, men det må dere takle[/b]

Lenke til kommentar
men innlegget til chiclins bør kanskje legges i en egen tråd med "sticky", som så kalles "Den store PHP FAQ" eller.no også kan vi bruke denne som (som allerede har masse innlegg) til å diskutere hvordan FAQ'en skal være, så man slipper alt prat i FAQ'en.

 

God ide.

 

Kunne kanskje vært en idé med et eget tilbakemeldings-forum spesifikt for sourcecode.no.

Lenke til kommentar
  • 1 måned senere...
  • 1 måned senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...