PHP

Dokumentation

Hemsida : http://www.php.net/
Manual  : http://www.php.net/manual/sv
Svensk  : http://www.phpportalen.net/
"Skolor": http://www.phpportalen.net/school.php
Böcker  : PHP 5-programmering(ISBN:9163608006)
          PHP 5 och MySql handboken(ISBN: 9163608014)

Glöm inte söka för "bästa pris" ex.v. på http://www.bokpris.com/

Dessa två böcker finns också som "e-bok" på biblioteket, sök på php
Lidingö Stadsbibliotek

"Tjatgubbe"..README och INSTALL.. ;-)

Beroenden

* Basic Unix skills (being able to operate "make" and a C compiler)
     * An ANSI C compiler
     * flex: Version 2.5.4
     * bison: Version 1.28 (preferred), 1.35, or 1.75
     * A web server
     * Any module specific components (such as gd, pdf libs, etc.)

Jag har alla gcc, samt autoconf,libtools,flex,bison,apache2.0.53 och resten
som en "full installation" av Slackware ger. Kolla utskriften efter att
du kört "configure-kommandot" och se om du tror det är något du behöver.
Du kan bygga om Php hur många gånger du vill, läs bara INSTALL
 
If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.


Installation

Glöm inte att bli "root" och ställa dig i katalogen /usr/local/php-5.0.3.
Jag tar även med "sqlite" om jag "nångång" vill titta på det..

# ./configure --with-apxs2=/www/bin/apxs --with-mysql=/usr/local/mysql --with-sqlite

# make

# make install

Installing PHP SAPI module:       apache2handler
/www/build/instdso.sh SH_LIBTOOL='/www/build/libtool' libphp5.la /www/modules
/www/build/libtool --mode=install cp libphp5.la /www/modules/
cp .libs/libphp5.so /www/modules/libphp5.so
cp .libs/libphp5.lai /www/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /usr/local/php-5.0.3/libs'
chmod 755 /www/modules/libphp5.so
[activating module `php5' in /www/conf/httpd.conf]
Installing PHP CLI binary:        /usr/local/bin/
Installing PHP CLI man page:      /usr/local/man/man1/
Installing PEAR environment:      /usr/local/lib/php/
[PEAR] Archive_Tar    - installed: 1.1
[PEAR] Console_Getopt - installed: 1.2
[PEAR] PEAR           - installed: 1.3.3
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
[PEAR] XML_RPC        - installed: 1.1.0
Installing build environment:     /usr/local/lib/php/build/
Installing header files:          /usr/local/include/php/
Installing helper programs:       /usr/local/bin/
  program: phpize
  program: php-config
  program: phpextdist


# libtool --finish /usr/local/php-5.0.3/libs

PATH="$PATH:/sbin" ldconfig -n /usr/local/php-5.0.3/libs
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/php-5.0.3/libs

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'--06:09:11--  
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------


Kopiera inställnings-filen..

# cp php.ini-dist /usr/local/lib/php.ini

..och kolla/lägg till..
LoadModule php5_module        modules/libphp5.so

AddType application/x-httpd-php .php

DirectoryIndex index.html index.html.var index.php
..i /www/conf/httpd.conf, exempelfilen finns här.
httpd.conf

Nu gör vi en "testfil", jag måste visa den innanför "kommentartecken" 
/*och */ annars "körs" den, "högerklicka" --> "This Frame" --> "Wiev Page Source",
ta alltså bort dom när du gör filen..
/**/
..spara som test.php och lägg den i /www/htdocs/test.php,
starta sedan apache..

# cd /www/bin
# ./apachectl start

..starta din webläsare och skriv http://localhost/test.php....

bild
Bingo!!


Exempel

Nu ska vi använda tabellerna vi gjort i mysql, för att med PHP skapa en "frågesida". Jag har skapat en "test"-katalog i min "Document Root", förvalt är /www/htdocs, där jag sparar mina "test.php".
Jag har gjort två exempelfiler adresser3.php och adresser4.php, dom du kan ladda ner med din ftp-klient wget

hakan@haze:~$ wget www.slackware.se/hakans_slackware/doc/adresser3.php

--06:08:28--  http://www.slackware.se/hakans_slackware/doc/adresser3.php
           => `adresser3.php'
Resolving www.slackware.se... 62.13.47.194
Connecting to www.slackware.se[62.13.47.194]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

    [ <=>                                           ] 699           --.--K/s

06:08:28 (6.67 MB/s) - `adresser3.php' saved [699]

Och sedan samma med adresser3a.php och adresser4.php

Eller "klicka"..

adresser3 adresser3a adresser4

(Ev. sedan "högerklicka" --> "This Frame" --> "Wiev Page Source")..kopiera, klistra in och döp dom till adresser3.php, adresser3a.php och adresser4.php

Angående filerna, titta högst upp på DTD'n, hur jag måste "echo" när jag använder xhtml. Koden är "lånad" lite "här och där", vilket, vad jag har förstått är helt tillåtet att man gör.


Först provar vi adresser3.php..
bild
..Nilsson och tryck på adress..


bild
..som du ser, när man har många kolumner får man en rullist i nederkanten.


Nytt, om du vill ha en snyggare sammanställning så fick jag hjälp av grabbarna på http://bbs.linux.se/  Webbutveckling. för att åstadkomma adresser3a. Här kan du söka på Förnamn och Efternamn, bara Förnamn eller bara Efternamn.
bild
..Nilsson och tryck på adress..


bild
..snyggt, eller hur! :-)


Då tar vi adresser4..
bild
..redan tagit "Nilsson", då provar vi ID-nummer 2..


bild
..hur jag sedan gör för att ha kvar föregående resultat, och lägga till
"telefon" under...har jag ingen aning om.. :-)


Sist men förmodligen viktigast, hjälpen!!.
Två utomordentliga forum.
http://bbs.linux.se/  Webbutveckling.

http://www.phpportalen.net/index.php  Forum

Valid XHTML 1.0!