OscarWoHA Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 (endret) Hei. Jeg har så vidt begynt med php (og er fortsatt i nybegynnerstadiet), men er usikker på en del ting. F.eks. på Neowin.net. Trykker man på en nyhet får man denne adressen: http://www.neowin.net/comments.php?id=20571&category=main AbsentVoid.com http://www.absentvoid.com/index.php?section=about Hva er det godt for? Hvordan fikser man det? Endret 27. mai 2004 av CobraM Lenke til kommentar
thotta Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 (endret) dette er parametere som sendes inn til siden (som php scriptet kan benytte) Dette er egentlig basic html, hvor man sender parametere ved å "hekte dem på" selve url'en man går til. ? idikerer at her kommer parametere. og disse er organisert slik "variabelnavn=verdi" og flere parametere kan adskilles med & (og-tegn). slik at man kan gå til siden "http://www.url.com?variabel1=navn&variabel2=adresse så kan mottaker siden gjøre det den vil med disse parameterene, f.eks sette dem inn i en database over registrerte medlemmer. Endret 26. mai 2004 av thotta Lenke til kommentar
Smidt Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 prøve å forklare på en litt mer populær måte.. det som skjer er at index.php ikke inneholder noe informasjon eller tekst. selve hovedfeltet hvor innholdet kommer opp er tomt.. ?section=linker indikerer at den filen som inkluderes i tekstfeltet heter linker.php og inneholder det du har skrevet om linker.. det som er hele cluet med dette er at du trenger bare lage en side med selve designet av siden.. når innholdet skal forandres forandrer du bare på hvilken side som inkluderes.. håper jeg gjorde meg forsått Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 Ja, takk. Så jeg skal lage en side med navnet index.php. Fra denne skal jeg hente tekst fra index.txt. Hvis jeg skal ha en side som heter jaok.php henter jeg bare design fra index.php, men tekst fra jaok.txt? Lenke til kommentar
ZoRaC Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 (endret) <?php /*Start HTML-design her if ($_GET['side']=="jaok") include 'jaok.txt'; else include '404.txt'; /*Avslutt HTML-design her ?> Mange bruker en funksjon som heter "case", men denne gjør samme nytte tror jeg... Edit: Dette er index.php. Du trenger egentlig ikke en egen jaok.php. Kan være greit å bruke .htm fil i stedet for .txt, slik at du kan bruke HTML-tagger i den.... Endret 27. mai 2004 av ZoRaC Lenke til kommentar
Smidt Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 Ja, takk. Så jeg skal lage en side med navnet index.php. Fra denne skal jeg hente tekst fra index.txt. Hvis jeg skal ha en side som heter jaok.php henter jeg bare design fra index.php, men tekst fra jaok.txt? nå er det viktig å ikke forvirre med å dra inn en rekke andre elementer... fra index.php kan du hente tekst fra index.txt personlig bruker jeg .php som filending på dette og, synes det er lettere å ha det samme over alt.. <? if (isset($_GET['side'])) { $side = "sider/".$_GET['side'].".php"; if (is_file($side)) { @include($side); } else { @include('sider/forside.php'); // Siden som hentes om filen ikke finnes. } } else { @include('sider/forside.php'); // Siden som hentes om ingen side er spesifisert } ?> koden over henter tekst fra den filen du vil og inkluderer den i index.php det som er viktig er at du legger koden der du vil at teksten skal komme opp.. filene må også ligge i en mappe som heter "sider" dette er best av sikkerhetsmessige årsaker.. så kan du laste opp index.php med koden over lagt inn og f.eks. filen "om.php" om du skriver inn følgende i adresselinjen "www.minside.com/min_side/index.php?side=om" vil du få opp index.php med om.php inkludert Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 Ok. Har holdt på litt og lasta ned en "guide" fra RaWeb. Får det allikevel ikke til. Har index.php og inc-filene ligger i mappen /inc_filer/ index.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Jungelen.net</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php $MenuPath = "./inc_filer/meny.inc"; include("$/inc_filer/test.inc"); $IncludeDir = "./inc_filer"; $DefaultPath = "./inc_filer/hoved.inc"; $FileExtension = ".inc"; if (isset($side)) { $side = stripslashes(strip_tags($side)); $Forbidden1 = ereg("\.\./", $side); $Forbidden2 = ereg("/", $side); $IncludePath = $IncludeDir . "/" . $side . $FileExtension; if ($Forbidden1 OR $Forbidden2) { echo "<h1>Advarsel</h1>\n"; echo "<p>Forespørsler på tvers av definerte \n"; echo "områder er ikke tillatt.</p>\n"; } else { if (@fopen("$IncludePath", "r")) { include ("$IncludePath"); } elseif (!(@fopen("$IncludePath", "r"))) { echo "<h1>Server Error 404</h1>\n"; echo "<p>Finner ikke den forespurte siden.</p>\n"; } } } else { include("$DefaultPath"); } ?> </body> </html> Så går vi over til mappen /inc_filer/: Her ligger det tre .inc-filer. Nemlig test.inc , hoved.inc og meny.inc Når jeg åpner hjemmesiden får jeg denne meldingen: Warning: main($/inc_filer/test.inc) [function.main]: failed to create stream: No such file or directory in /hsphere/local/home/jungelen/jungelen.net/index.php on line 11 Warning: main() [function.main]: Failed opening '$/inc_filer/test.inc' for inclusion (include_path='.:/usr/local/lib/php') in /hsphere/local/home/jungelen/jungelen.net/index.php on line 11 hoved Som dere ser helt neserst står det hoved. Det er teksten som ligger i /inc_filer/hoved.inc Lenke til kommentar
Smidt Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 kan jeg spørre hvorfor du bruker filendingen .inc? har du prøvd scriptet jeg la inn ^^ Lenke til kommentar
Torbjørn Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 ulurt å bruke inc da det blottlegger koden for verden. Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 Hvorfor jeg bruker inc vet jeg ikke. Jeg har ikke testet scriptet ditt, Smidt. Tester det hvis jeg ikke fikser det her. Så gjennom koden jeg nettopp pasta. Den var litt gal for å si det mildt: Oppdatering: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Jungelen.net</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <!--meny--> <?php $MenuPath = "./inc_filer/meny.inc"; include("$inc_filer"); ?> <!--/meny--> <!--innhold--> <?php $IncludeDir = "./inc_filer"; $DefaultPath = "./inc_filer/hoved.inc"; $FileExtension = ".inc"; if (isset($side)) { $side = stripslashes(strip_tags($side)); $Forbidden1 = ereg("\.\./", $side); $Forbidden2 = ereg("/", $side); $IncludePath = $IncludeDir . "/" . $side . $FileExtension; if ($Forbidden1 OR $Forbidden2) { echo "<h1>Advarsel</h1>\n"; echo "<p>Forespørsler på tvers av definerte \n"; echo "områder er ikke tillatt.</p>\n"; } else { if (@fopen("$IncludePath", "r")) { include ("$IncludePath"); } elseif (!(@fopen("$IncludePath", "r"))) { echo "<h1>Server Error 404</h1>\n"; echo "<p>Finner ikke den forespurte siden.</p>\n"; } } } else { include("$DefaultPath"); } ?> <!--/innhold--> </body> </html> Lenke til kommentar
Torbjørn Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 (endret) Hvorfor jeg bruker inc vet jeg ikke. Jeg har ikke testet scriptet ditt, Smidt. Tester det hvis jeg ikke fikser det her. Så gjennom koden jeg nettopp pasta. Den var litt gal for å si det mildt: vel det bør du finne ut av, for inntil videre er all din phpkode tilgjengelig f.eks her: http://www.jungelen.net/inc_filer/meny.inc her vil kildekoden ligge, eventuelle passord du måtte ha i koden vil være åpne for hvermansen. Endret 27. mai 2004 av Torbjørn Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 vel det bør du finne ut av, for inntil videre er all din phpkode tilgjengelig f.eks her:http://www.jungelen.net/inc_filer/meny.inc her vil kildekoden ligge, eventuelle passord du måtte ha i koden vil være åpne for hvermansen. Ja, det har jeg forstått. Skal selvsagt endre path til inc-filene når jeg får dette scriptet til å fungere. Lenke til kommentar
Torbjørn Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 endre filendelsene til .php og la dem ligge istedet Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 (endret) Jeg tester scriptet ditt, Smidt. Det virket i grunn mer oversiktlig. EDIT: Tusen takk Smidt. Det virket. Utrolig nok. Som Rema 1000 sier: Det enkle er ofte det beste. Hadde du bodd i nærheten hadde jeg spandert en kald brus på deg Men hvordan skal jeg sette opp linker fra en meny? Endret 27. mai 2004 av CobraM Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 La merke til at hvem som helst kan gå inn i http://www.jungelen.net/sider/ Noen som vet hvordan man forhindrer folk fra å komme inn dit? Lenke til kommentar
hm87 Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 Gjør noe med .htaccess Husker ikke hva.. Lenke til kommentar
LoS Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 (endret) legg ut en index.htm fil som det står ingen tilgang i elns? skulle ønske jeg la ut scriptet til smidt, jeg bor i nærheten og en kald brus er ikke nei takk edit: du kan også putte dette i toppen på alle sidene som ligger i mappa if (!eregi("index.php", $_SERVER['PHP_SELF'])) { die ("Ingen tilgang"); } hvis du bruker index.php? og ikke f.eks hovedside.php? Endret 27. mai 2004 av LoS Lenke til kommentar
Smidt Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 Jeg tester scriptet ditt, Smidt. Det virket i grunn mer oversiktlig. EDIT: Tusen takk Smidt. Det virket. Utrolig nok. Som Rema 1000 sier: Det enkle er ofte det beste. Hadde du bodd i nærheten hadde jeg spandert en kald brus på deg Men hvordan skal jeg sette opp linker fra en meny? ser ut som om du fikk til å sette opp linker i em meny, hvis ikke er det bare å spørre. det har ikke noe å si at fremede har tilgang til mappen med sidene i.. grunnen til at vi legger sidene i en egen mappe er at da er det vanskeligere for hackere å kjøre eksterne script. er egentlig ikke så veldig viktig om du bare skal ha en liten personlig hjemmeside.. hadde forresten et lite eksempel på lur du kan jo ta en titt kanskje det hjelper deg. http://predicted.net/php/include_test/ Lenke til kommentar
OscarWoHA Skrevet 27. mai 2004 Forfatter Del Skrevet 27. mai 2004 Jeg forklarte meg sikkert litt dårlig, for det jeg mente var: Jeg skulle hatt en egen php-fil hvor jeg henter linkene til menyen fra. Så derfor lurte jeg på hvordan man fikser det? Jeg er ganske dårlig til å forklare, men jeg håper du skjønner. Lenke til kommentar
LoS Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 (endret) aha, vel, jeg liker å bruke functions til slikt Lag en fil som heter, ja til eksempel "functions.php" inni den kan du skrive: function meny(){ echo '<a href="#>link>link></a><a href="#>link>link></a><a href="#>link>link></a><a href="#>link>link></a>'; } deretter, kan du legge til include("functions.php"); i index.php fila. Deretter skrive: meny(); på det stedet du ønsker å ha menyen din i filene dine edit: syns det ble litt rotete forklart, men du får prøve deg frem litt, så skjønner du Endret 27. mai 2004 av LoS Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå