Síða 1 af 1

Linkar í php

Sent: Fim 10. Mar 2011 18:57
af minuZ
Sælir

Getur eitthver aðstoðað mig við að búa til linka á síðu sem ég er með. Semsagt ef ég er með 2 ramma og linkarnir eru allir í öðrum og svo þegar ég ýti á eitthvern af linkunm þá opnast síðan í hinum rammanum. Ég vill gera þetta með php, ég gerði þetta í denn með asp en finn ekki út úr því hvernig ég á gera þetta í php.

kv. Hrannar

Re: Linkar í php

Sent: Fim 10. Mar 2011 19:52
af Haxdal
Gerðu öllum greiða og ekki nota frames.

Þessi grein tekur þetta ágætlega saman af hverju það á að halda sig frá frames.
http://apptools.com/rants/framesevil.php

annars ef þú ert staðfastur á að nota frames, þá er þetta ekkert flóknara en að nota print("") eða echo "" til að æla út html kóðanum fyrir rammana, linkana og það allt.

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:10
af hagur
Sæll,

Þetta er client side virkni þannig að forritunarmálið skiptir engu máli. Alltaf gert alveg eins.

Þú setur target="" attribute á linkinn og lætur það vísa á rammann sem þú vilt að linkurinn opnist í.


Brot úr frameset kóðanum, ramminn hefur nafn:

Kóði: Velja allt

<frame src="bla.html" name="rammi1" />


Svo linkurinn, target attribute vísar í nafnið á rammanum:

Kóði: Velja allt

<a href="http://www.mbl.is" target="rammi1">Þessi linkur opnast í rammanum rammi1</a>

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:16
af minuZ
Þetta er ekki beint frames sem mig langar að nota á pínu erfitt með að útskýra þetta því að ég veit ekki hvað þetta heitir eða er kallað
Allvega þegar er ýtt á link þá breytist bara include breytan. Sem sagt þá breytist "sida.php" í "nysida.php"

<?php include ("sida.php");?>

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:23
af Frantic

Kóði: Velja allt

<?php
switch($_GET['page']) {
    case 'forsida':
        include('forsida.php');
    break
    case 'onnursida':
        include('onnursida.php');
    break;
}
?>

<a href="?page=forsida">Forsida</a>
<a href="?page=onnursida">Önnur Síða</a>

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:29
af minuZ
snilld get ég ekki örugglega notað þetta við að búa til fullt af undir síðum eða er það gert á eitthvern annan hátt?

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:30
af Frantic
Jú þú setur þetta í body-ið: (S.s. þar sem þú vilt að undirsíðurnar birtast)

Kóði: Velja allt

<?php
switch($_GET['page']) {
    case 'forsida':
        include('forsida.php');
    break
    case 'onnursida':
        include('onnursida.php');
    break;
}
?>

Og svo seturu þetta bara hvar sem þú vilt:

Kóði: Velja allt

<a href="?page=forsida">Forsida</a>
<a href="?page=onnursida">Önnur Síða</a>


EDIT: Mæli með að þú kíkir á þetta: http://is.php.net/manual/en/control-str ... switch.php
Þarna sérðu hvernig Default er notað. Ef þú myndir setja það inní switch þá myndi forsíðan fara undir default eins og svona:

Kóði: Velja allt

<?php
switch($_GET['page']) {
    case 'forsida':
        include('forsida.php');
    break
    case 'onnursida':
        include('onnursida.php');
    break;
    default:
        include('forsida.php');
}
?>

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:44
af minuZ
takk kærlega þetta virkar allt flott nema fyrst þegar ég fer inn á síðuna áður en hún fær endinguna "?page=forsida" en villan hverfur um leið og ég ýti á eitthvern link og endingin kemur í address barinn. Villan sem hún kemur með er "Notice: Undefined index: page in C:\wamp\www\minuz\index.php on line 4" og lína 4 er "switch($_GET['page']) {"

Re: Linkar í php

Sent: Fim 10. Mar 2011 20:49
af Frantic
Gerist þetta líka þó svo þú notir default dæmið eins og var að bæta við í fyrra innleggið mitt?


Edit Aftur: Nýja PHP versionið vill að maður skilgreini allar breytur þannig ef að breytan $_GET['page'] er ekki til þá gefur það manni notice.
Það á að lagast held ég ef maður notar default í switch.
Annars geturu líka gert

Kóði: Velja allt

if(isset($_GET['page'])) {
    switch($_GET['page'])... o.s.fr.
}

Re: Linkar í php

Sent: Fim 10. Mar 2011 21:01
af minuZ
ég fæ þetta upp.
Mynd

Re: Linkar í php

Sent: Fim 10. Mar 2011 21:02
af Frantic
Gerðu þetta:

Kóði: Velja allt

if(isset($_GET['page'])) {
    switch($_GET['page'])... o.s.fr.
}

Re: Linkar í php

Sent: Fim 10. Mar 2011 21:07
af minuZ
Það virkaði flott en þá er eins og default breytan virki ekki það kemur ekkert upp í byrjuna bara blank.

Re: Linkar í php

Sent: Fim 10. Mar 2011 21:12
af Frantic
Prófaðu þá eitt skítamix hehe

Kóði: Velja allt

if(!isset($_GET['page'])) {
    $_GET['page'] = 'forsida';
}

switch($_GET['page']) ....


S.s. ef að það er ekki sett neitt í $_GET['page'] þá seturu bara inní það forsida og þegar switch spyr hvað gildið er þá ertu búinn að covera ef það er null :)

Þetta er náttúrulega skítamix. Það hlýtur að vera betri lausn á þessu eins og að slökkva á þessu notice-i. Því í raun er þetta hálf tilgangslaust notice.

Re: Linkar í php

Sent: Fim 10. Mar 2011 21:17
af minuZ
Þetta virkaði allvega svona. Takk kærlega fyrir hjálpina.

Re: Linkar í php

Sent: Fim 10. Mar 2011 21:20
af Frantic
Ekkert mál.
Ég tékkaði aðeins á veraldarvefnum og sá flotta lausn neðst í þessum þræði.
Annars ef þú ert laus við þetta notice þá er mission complete...

Re: Linkar í php

Sent: Fös 11. Mar 2011 00:00
af dezeGno

Kóði: Velja allt

!empty($_GET['page']) ? $_GET['page'] : 'forsida';

Re: Linkar í php

Sent: Fös 11. Mar 2011 01:53
af intenz
dezeGno skrifaði:

Kóði: Velja allt

!empty($_GET['page']) ? $_GET['page'] : 'forsida';

$_GET['page'] = isset( $_GET['page'] ) ? $_GET['page'] : 'forsida';

Annars mæli ég með því að þú kynnir þér MVC, annað hvort fyrir PHP ( t.d. http://kohanaframework.org ) eða ASP.NET