Avatar billede BTEngineer Novice
22. november 2009 - 21:39 Der er 34 kommentarer og
2 løsninger

PHP eller?

Hej.

Jeg er ved at blive godt og grundig sur over at jeg ikke kan finde nogen artikler/guides til hvordan man laver noget andet end iframes. Jeg vil meget gerne lave noget URL rewrite, og har også fået det til at virke. MEN, hvordan laver jeg sådan, at når man klikker på et link på index, så åbner den i content? Skal der bruges php? eller?

Håber i forstår spørgsmålet nogenlunde.
Avatar billede repox Seniormester
22. november 2009 - 21:46 #1
Jeg forstår ikke hvad du mener? URL rewrite og iframes? index og content?

Et URL rewrite tillader dig eksempelvis at skrive URL adresser ala
http://example.org/opskrift/pandekager
som så f.eks. sender "opskrift/pandekager" som en get variabel til en php side af dit valg.

En iframe er et element i dit HTML.

Og hvad du lige mener med din index og content kommentar, er mig helt uforståeligt.
Avatar billede acore Ekspert
22. november 2009 - 21:57 #2
Ret linien

$query = mysql_query("SELECT tekst FROM sider WHERE id = 1 ")or die(mysql_error());

til

$query = mysql_query("SELECT mail FROM sider WHERE id = 1 ")or die(mysql_error());

Pt henter du slet ikke feltet mail.
Avatar billede acore Ekspert
22. november 2009 - 21:58 #3
Ups - forkert tråd - undskyld
Avatar billede BTEngineer Novice
22. november 2009 - 22:03 #4
Okay.

http://example.org/opskrift/pandekager
Det er præcis sådan jeg vil have mine links til at se ud.

Lad os sige at jeg har en side med 5 menu links:
Forside - Nyheder - Om mig - Gæstebog - Kontakt

Forsiden har linket: eksempel.dk/forside

Når man trykker på dette link, åbner den forside.php.
Det jeg vil have den til, er at åbne i min:
<div id="content">Åben forside.php her</div>

Der må være en eller anden form for PHP-kode der skal indkluderer forside.php, men hvordan?
Avatar billede repox Seniormester
22. november 2009 - 22:07 #5
Det er fordi du har en alt for simplificeret tilgangsvinkel til PHP.

Prøv at google på php mvc framework
Der findes nogle opskrifter på det du efterlyser. Det er jo ret omfattende at lave noget der virker på den måde som du gerne vil have det.
Avatar billede BTEngineer Novice
22. november 2009 - 22:32 #6
Hmm. kan du muligvis komme med et eksempel?
Avatar billede repox Seniormester
22. november 2009 - 22:35 #7
Et eksempel på hvad?
Avatar billede BTEngineer Novice
22. november 2009 - 22:40 #8
Et eksempel på hvordan PHP koden til index'en kunne være?
Når man vil bruge URL rewriting
Avatar billede keysersoze Ekspert
23. november 2009 - 07:42 #9
hvis jeg forstår det korrekt - du kan ikke både skifte URL og kun udskifte en mindre del af din side, det er enten eller. Skal URLen skiftes skal hele siden reloades eller også kn du arbejde med (i)frames eller alternativ AJAX for at udskifte enkelte dele af din side.
Avatar billede BTEngineer Novice
23. november 2009 - 10:02 #10
Selvfølgelig :-)

Altså formålet med at jeg vil have min URL's omskrevet, er jo selvfølgelig at det gør SEO meget bedre.

Mit spørgsmål er jo kort og godt bare: Hvordan skal jeg lave min index.php?
Avatar billede keysersoze Ekspert
23. november 2009 - 11:21 #11
jeg ville lave en fysisk fil pr side i stedet for at pakke det hele ind i én - dette kan gøres med fx http://www.eksperten.dk/guide/1161 (hvor eksemplet dog er ASP) eller includes til genbrugelige dele af siden.
Avatar billede BTEngineer Novice
23. november 2009 - 14:10 #12
Well, det har jeg aldrig eksperimenteret med før.

Har desværre ingen forståelse for asp, kun php/mysql..
Er der muligvis et php eksempel, i stedet?
Avatar billede repox Seniormester
23. november 2009 - 15:26 #13
Hvor stort er dit forståelses niveau for PHP? Altså, hvad kan man forvente af dig? Evt. på en skala fra et til ti...
Avatar billede BTEngineer Novice
23. november 2009 - 15:53 #14
Jeg har arbejdet med det i årevis (4-5 år) on/off..
Hovedsageligt har det været arbejde med forbindelse til mysql, med SELECT, UPDATE osv. Og en del brugersystemer..
Avatar billede repox Seniormester
23. november 2009 - 17:04 #15
4-5 år?
Så burde dette ikke være noget problem for dig at forstå:
http://www.phpro.org/tutorials/Model-View-Controller-MVC.html

Med det som du kommer igennem kan du opnå det du efterspørger.
Avatar billede keysersoze Ekspert
23. november 2009 - 19:25 #16
MVC er en god ting - men jeg har svært ved at se hvordan det kan løse den problematik der efterspørges?

Den eneste forskel på eksemplet i ASP i forhold til PHP er hvordan du laver funktioner og funktionskald - resten er ren HTML. Jeg kan ikke PHP og kan derfor ikke oversætte det.
Avatar billede BTEngineer Novice
23. november 2009 - 19:47 #17
Der findes ikke en udgave som er lidt mere overskuelig?
Jeg synes godt nok der er meget at arbejde med der.

Har ikke brugt class i PHP, hvilket de gør der.
Avatar billede BTEngineer Novice
23. november 2009 - 19:51 #18
Altså har fået det MVC halløj til at virke, men har absolut ingen idé om hvordan jeg skal designe sitet nu.
Avatar billede repox Seniormester
23. november 2009 - 20:13 #19
#16
For mig har spørgsmålet her to aspekter. Den ene er at få 'pretty urls'; den anden er at få en skalerbar løsning til at tackle løsningen på det første aspekt. Jeg siger ikke at eksemplet du har lavet i din guide ikke er brugbart - det er bare en for simpel løsning til mig. Til OP kan det sagtens være en løsning som er så skalerbar og fleksibel som denne har behov for.

Sådan som jeg læser dit eksempel, så er det i PHP verdenen, det der svarer til:

master.php:


<?php

  function html_header()
  {
    echo "html før indhold (menu og skidt)";
  }

  function html_footer()
  {
    echo "html efter indhold";
  }

?>



index.php:


<?php

  include("master.php");
  html_header();
?>

index sidens indhold

<?php
  html_footer();
?>



og så så samme devise for øvrige sider som index.php
Og som sagt, det er ikke nogen kritik af løsningen, men den er bare ikke ideel for de behov jeg har.

#17
I forhold til den erfaring du har, må jeg sige at det bliver svært at komme med et løsningsforslag du kan forstå, implementere og bruge sammen med url rewrites.
Avatar billede BTEngineer Novice
23. november 2009 - 20:19 #20
Det kan ikke passe at det skal være så kompliceret.

Tag et kig på følgende:
http://www.phpartikler.dk/artikler/htaccess.php

Den nedereste PHP-kode ser forholdvis simpel ud, kan man ud fra det, ikke loade de forskellige filer?

Eksempelvis: eksempel.dk/nyheder/123
Avatar billede keysersoze Ekspert
23. november 2009 - 20:21 #21
Som sagt er jeg ikke uenig med dig i at MVC kan være en fremragende løsning - jeg syntes bare at du over for spørger manglede at fortælle hvilket problemstilling MVC kunne løse da det som udgangspunkt (og lidt firkantet set) hverken løser pæn url eller delvis opdatering. Men jeg er tilfreds nu ;)
Avatar billede repox Seniormester
23. november 2009 - 20:29 #22
#20
Selvfølgelig kan man det - her ville det være oplagt at benytte den metode som keysersoze beskriver i sit eksempel.

Du skal blot bestemme dig for din fil-struktur inden du begynder at tilpasse scriptet. Når du har gjort det, kan du komme med dine idéer og så er det muligt at hjælpe dig med at tilpasse det du har fundet på phpartikler.dk...


#21
Jeg vil godt give dig ret i at jeg måske sprang lidt for let henover det - og du fik mig jo til at uddybe det, så OP også fik en forklaring på hvad jeg ville frem til. :)
Avatar billede BTEngineer Novice
23. november 2009 - 20:41 #23
Super, det er jo egentlig bare det jeg vil have til at fungerer :-)

Jeg vil gerne benytte den alternative metode han viser på phpartikler. Jeg må dog indrømme at jeg får lidt kold, eftersom han skriver: ud fra det kan du så lave nogle if-sætninger, der bestemmer hvad der skal ske.
Avatar billede repox Seniormester
23. november 2009 - 20:54 #24
Det er jo så derfor jeg gerne vil vide hvordan din filstruktur skal være. Hvad med dit indhold; skal det være dynamisk?
Avatar billede BTEngineer Novice
23. november 2009 - 21:46 #25
En struktur ala. http://gratissnoller.dk eksempelvis.
Avatar billede repox Seniormester
23. november 2009 - 22:14 #26
Det har ikke noget med din filstruktur at gøre - hvordan præsenterer du dit nuværende indhold?
Avatar billede BTEngineer Novice
24. november 2009 - 07:19 #27
Undskyld, men jeg er ikke med på hvad du vil have mig til.
Avatar billede repox Seniormester
24. november 2009 - 08:59 #28
Jeg bliver nød til at melde mig ud af tråden; simple begreber som er essentielle og basale for de fleste udviklere (særligt en som har været på et sprog i fire-fem år) er dig slet ikke bekendt.

Jeg vil anbefale dig at revurdere din 'erfaring' og eventuelt starte med nogle tutorials og artikler der dækker basale behov; præcis som på phpartikler.dk - bare så du får styr på begreberne og kan identificere med de ting som nævnes og forklares i andre tekster.
Avatar billede BTEngineer Novice
24. november 2009 - 09:22 #29
Du forstår tydeligvis ikke mit spørgsmål.
Det eneste jeg egentlig skal have hjælp til, er at have opbygget min index, på en måde så jeg kan loade indholdet i min div content, som jeg har nævnt før.

Det mvc halløj du foreslog, er langt over det jeg har behov for.
Avatar billede repox Seniormester
24. november 2009 - 09:31 #30
Nej; det er ikke det du har behov for - set ud fra dit oprindelige spørgsmål.

Det du gerne vil er at få en mod_rewrite til at give dig 'pretty urls' fordi du tror det har noget at sige med hensyn til SEO.
Og ud fra den løsning, vil du gerne 'loade indhold i din div content'. Er det ikke korrekt?
Avatar billede BTEngineer Novice
24. november 2009 - 13:13 #31
Jo, det er fuldstændig korrekt :-)
Derfor vil jeg gerne have et tip til hvordan jeg videre skal udbygge scriptet fra:

$str = preg_replace("'/'", "", $_SERVER['REQUEST_URI'], 1);
$dele = explode("/", $str);

$dele[0]; //Indeholder: blah
$dele[1]; //Indeholder: test
$dele[2]; //Indeholder: 123
$dele[3]; //Indeholder: foo

Hvor jeg har de enkelte dele, der er blevet skrevet i adresselinjen.
Avatar billede repox Seniormester
24. november 2009 - 13:42 #32
Så har jeg også forstået dit spørgsmål korrekt.

Nu må du forstå mig korrekt; at lave sådan noget er ikke bare lige til. Uanset om du skal implementere det i noget eksisterende eller bygge det op fra bunden. At vise indhold er sådan set det mindste problem. At vise det indhold du gerne vil vise, er straks et helt andet og større problem.

Mit site er bygget op med 'pretty urls'.
Jeg har stier som:
http://example.org/
http://example.org/articles
http://example.org/articles/read/hvad_er_oop


For at udspecificere problematikken, skal du først fortælle din index.php hvad der skal ske når /articles rammes. Derefter skal index.php have at hvad der skal ske når du rammer /articles/read og sidst skal index.php vide hvad der skal når du rammer /articles/read/hvad_er_oop

Og det er så nu du skal fortælle mig, hvad det er du forventer der skal ske eller vises (evt. givet ud fra et eget eksempel på stier end mine ovenfor). Dit eksempel i #4 skaber faktisk to situationer.

Lad os tage den i omvendt rækkefølge:
eksempel.dk/forside skal vise forside.php
Ikke noget problem, taget udgangspunkt i eksemplet fra phpartikler.dk:


<?php
// I eksemplet forudsætter vi at adresselinjen er:
// domain.dk/blah/test/123/foo/

    $str = preg_replace("'/'", "", $_SERVER['REQUEST_URI'], 1);
    $dele = explode("/", $str);

    $fil = $dele[0].".php";
    if(file_exists($fil))
        include($fil);
?>



Ret simpelt - dog uden noget fallback, men det er ikke relevant lige nu.

Så kommer du med et eksempel mere:
http://example.org/opskrift/pandekager

Taget udgangspunkt i det oprindelige, så vil der ske det at lige nu, vil din index.php forsøge at inkludere opskrift.php og ordet 'pandekager' går tabt, for vi bruger det ikke til noget.
Så er det nok nu du sidder og tænker at man jo så bare må bruge det? Ja, det må vi da - men hvad skal vi så bruge 'opskrift' til? Eller skal de to spille sammen - og i det tilfælde - hvordan?

Så selvom phpartikler.dk får det til at se simpelt ud, så mangler der faktisk en masse information om hvordan man kan bruge det de viser et eksempel på. Og du kan garanteret ikke fortælle mig hvordan du forestiller dig at http://example.org/opskrift/pandekager skal reagere på din hjemmeside.

Så i virkeligheden - kogt godt ned - så er det du skal vide selv er hvordan de 'enkelte dele' (som du selv beskriver dem) skal anvendes, så du kan forklare os, hvordan du gerne vil have dem til at reagere - medmindre det passer dig fint med at du kun kan have en 'enkelt del' og inkludere derfra.
Avatar billede keysersoze Ekspert
29. december 2009 - 11:41 #33
lukketid?
Avatar billede BTEngineer Novice
29. december 2009 - 12:09 #34
Tjaa..

Smid et svar begge to, så splitter vi lige pointene.
Avatar billede repox Seniormester
29. december 2009 - 13:18 #35
Der kom et svar fra mig her
Avatar billede BTEngineer Novice
14. februar 2010 - 15:01 #36
Splitter pointene nu :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester