Thomas. Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 (endret) Hei Driver å lager en tutorials side. Men har litt problemer med url'en nå. Dette er får jeg til å lage: http://localhost/tutorials/ Men hvodan kan jeg få til en mappe til ? Slik: http://localhost/tutorials/php/ Dette er koden i htaccess jeg bruker til nå: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^([^/.]+)/?$ /index.php?side=$1 </IfModule> * Include scriptet mitt: <?php /* I N N S T I L L I N G A R */ /* Lim inn på toppen av dokumentet * Forandre variablane etter dine ønsker */ $handlername = 'side'; // her blir linkane ?side=xxx. Forandre til det du bruker $defaultSide = 'index.php'; // den fila som blir inkludert dersom inga side er etterspurt i URL-en $includePath = 'sider/'; // stien til mappa sidene som skal inkluderast ligg i $errorPage = 'error/error404.php'; // fila som blir inkludert dersom ei side som ikkje ligg i mappa blir etterspurt $filendelse = '.php'; // filendelsen på filane som skal inkluderast /* S C R I P T S T A R T */ /* Første delen henter variabelen i url-en og alle filnavn i mappa du skal inkludere frå */ /* Treng ikkje endrast */ $URLside = &$_GET[$handlername]; // lagar ein enklare variabel for variabelen sendt gjennom url-en $rep = opendir($includePath); // åpnar mappa som er satt i $includePath while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !='' && !is_dir($file)) // unngår mapper { $filer[]=$file; // legg alle filane i mappa inn i $filer-arrayet } } closedir($rep); // lukker mappa if (!isset ($URLside)) // viss det ikkje blir sendt ein variabel gjennom url-en for å bestemma kva side som skal inkluderast { $side = $includePath . $defaultSide; // blir filen satt i $defaultSide inkludert } else { $side = $URLside . $filendelse; // legg til filendelsen satt i $filendelse for å if (in_array ($side, $filer)) { // sjekker om den etterspurte sida er i arrayet $side = $includePath . $side; // inkluder sida } else { // ellers $side = $includePath . $errorPage; // inkluder filmeldinga, satt i $errorPage } } /* I N K L U D E R I N G S D E L */ /* Lim inn der innhaldet skal inkluderast */ include_once $side; // inkluderer sida som er bestemt gjennom diverse testar ?> * - Si hva som må endres i htaccess - Og i includescriptet Endret 1. mai 2008 av php_user Lenke til kommentar
Danny92 Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 Legger du vel til en &side2=$2? Lenke til kommentar
Eivind218 Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^([^/.]+)/?$ /index.php?side=$1&cat=$2 </IfModule> noe alà det, Men jeg vet at det skal være noe alà denne ; ^([^/.]+)/?$ ( Vi sammarbeider om siden til info.! ) Lenke til kommentar
Thomas. Skrevet 1. mai 2008 Forfatter Del Skrevet 1. mai 2008 (endret) borte.. Endret 1. mai 2008 av php_user Lenke til kommentar
Eivind218 Skrevet 1. mai 2008 Del Skrevet 1. mai 2008 Altså; Hvordan får vi denne til å bli riktig: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^([^/.]+)/?$ /index.php?side=$1&cat=$2 </IfModule> hvordan får vi kodet inn en kategori her? <?php /* I N N S T I L L I N G A R */ /* Lim inn på toppen av dokumentet * Forandre variablane etter dine ønsker */ $handlername = 'side'; // her blir linkane ?side=xxx. Forandre til det du bruker $defaultSide = 'index.php'; // den fila som blir inkludert dersom inga side er etterspurt i URL-en $includePath = 'sider/'; // stie n til mappa sidene som skal inkluderast ligg i $errorPage = 'error/error404.php'; // fila som blir inkludert dersom ei side som ikkje ligg i mappa blir etterspurt $filendelse = '.php'; // filendelsen på filane som skal inkluderast /* S C R I P T S T A R T */ /* Første delen henter variabelen i url-en og alle filnavn i mappa du skal inkludere frå */ /* Treng ikkje endrast */ $URLside = &$_GET[$handlername]; // lagar ein enklare variabel for variabelen sendt gjennom url-en $rep = opendir($includePath); // åpnar mappa som er satt i $includePath while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !='' && !is_dir($file)) // unngår mapper { $filer[]=$file; // legg alle filane i mappa inn i $filer-arrayet } } closedir($rep); // lukker mappa if (!isset ($URLside)) // viss det ikkje blir sendt ein variabel gjennom url-en for å bestemma kva side som skal inkluderast { $side = $includePath . $defaultSide; // blir filen satt i $defaultSide inkludert } else { $side = $URLside . $filendelse; // legg til filendelsen satt i $filendelse for å if (in_array ($side, $filer)) { // sjekker om den etterspurte sida er i arrayet $side = $includePath . $side; // inkluder sida } else { // ellers $side = $includePath . $errorPage; // inkluder filmeldinga, satt i $errorPage } } /* I N K L U D E R I N G S D E L */ /* Lim inn der innhaldet skal inkluderast */ include_once $side; // inkluderer sida som er bestemt gjennom diverse testar ?> Takk! ;D Lenke til kommentar
Thomas. Skrevet 1. mai 2008 Forfatter Del Skrevet 1. mai 2008 Ingen som har peiling ? Lenke til kommentar
Thomas. Skrevet 2. mai 2008 Forfatter Del Skrevet 2. mai 2008 Vil det bli noe slikt: ? RewriteRule ^tutorials/([0-9][0-9])$ /tutorials/?side=$1 Lenke til kommentar
Lokaltog Skrevet 2. mai 2008 Del Skrevet 2. mai 2008 (endret) RewriteRule ^([^./\`\'\ ]+)/([^./\`\'\ ]+)/?$ index.php?side=$1&side2=$2 Edit: Jeg ville også byttet ut includescriptet hvis jeg var deg. Det så både usikkert og upraktisk ut. Endret 2. mai 2008 av Lokaltog Lenke til kommentar
Thomas. Skrevet 2. mai 2008 Forfatter Del Skrevet 2. mai 2008 (endret) Jeg fikset alt selv Kode: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^([^/.]+)/?$ /index.php?side=$1 RewriteRule ^tutorial/([^/\.]+)/?$ ?side=$1 [L] </IfModule> Endret 2. mai 2008 av php_user Lenke til kommentar
Thomas. Skrevet 2. mai 2008 Forfatter Del Skrevet 2. mai 2008 Nytt problem: Hvordan får jeg: http://localhost/tutorial/php/ID HER/ Hvordan får jeg til det ? Kan man bruke php i htacces ? Lenke til kommentar
Lokaltog Skrevet 2. mai 2008 Del Skrevet 2. mai 2008 Hvis du leser litt om mod_rewrite (http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html) og litt grunnleggende PHP, så tror jeg du klarer det fint selv. Du kommer ingen vei om alle andre skal gjøre jobben for deg. Lenke til kommentar
Lokaltog Skrevet 2. mai 2008 Del Skrevet 2. mai 2008 (endret) For å hjelpe deg litt på vei: .htaccess: RewriteRule ^([^./\`\'\ ]+)/([^./\`\'\ ]+)/([0-9]+)/?$ index.php?page=$1&action=$2&id=$3 index.php: print_r($_GET); Gå inn på http://localhost/page/action/123/ og jobb deg derfra. Endret 2. mai 2008 av Lokaltog Lenke til kommentar
Thomas. Skrevet 2. mai 2008 Forfatter Del Skrevet 2. mai 2008 For å hjelpe deg litt på vei: .htaccess: RewriteRule ^([^./\`\'\ ]+)/([^./\`\'\ ]+)/([0-9]+)/?$ index.php?page=$1&action=$2&id=$3 index.php: print_r($_GET); Gå inn på http://localhost/page/action/123/ og jobb deg derfra. htaccess: RewriteRule ^([^./\`\'\ ]+)/([^./\`\'\ ]+)/([0-9]+)/?$ ?side=php&id=$1 php.php: <?php $a = "SELECT * FROM tuts WHERE kategori = 'PHP' ORDER BY dato DESC" or die ("Kunne ikke hente ut data!"); $aR = mysql_query($a); while($row = mysql_fetch_array($aR)) { $id = $row[id]; ?> <?php if($_GET[id] = $row[id]) { print_r($_GET); } else { ?> <a href="<?php echo $id; ?>/"><?php echo $row[tittel]; ?></a><br> <?php echo $row[LTekst]; ?><br> <br> <?php echo $row[dato]; ?><br> <br> <?php } }// Slutt while ?> - Det skal vel fungere ? - Hvorfor fungerer det ikke ? Lenke til kommentar
Lokaltog Skrevet 2. mai 2008 Del Skrevet 2. mai 2008 Som sagt: Les litt PHP og gjerne litt mod_rewrite, så skjønner du tegninga. Det er vanskelig å hjelpe deg når du bare gir oss et crappy includescript og ikke følger anvisningene vi gir deg. Lenke til kommentar
Jonas Skrevet 2. mai 2008 Del Skrevet 2. mai 2008 (endret) Å herre .. Du må da først debugge, lokalisere og kanskje til og med isolere feilen, før du spør oss om en løsning til problemet. Jeg har ikke tall på hvor mange ganger jeg har spurt om dette, men nøyaktig hva er det som ikke fungerer? Endret 2. mai 2008 av Jonas Lenke til kommentar
Thomas. Skrevet 3. mai 2008 Forfatter Del Skrevet 3. mai 2008 Å herre .. Du må da først debugge, lokalisere og kanskje til og med isolere feilen, før du spør oss om en løsning til problemet. Jeg har ikke tall på hvor mange ganger jeg har spurt om dette, men nøyaktig hva er det som ikke fungerer? Nytt problem: Hvordan får jeg: http://localhost/tutorial/php/ID HER/ Hvordan får jeg til det ? Kan man bruke php i htacces ? Det, er problemet. Hvordan henter jeg ut id ? Henter jeg den ut med htacces eller php ? Og hvordan gjør jeg det ? Som sagt: Les litt PHP og gjerne litt mod_rewrite, så skjønner du tegninga. Det er vanskelig å hjelpe deg når du bare gir oss et crappy includescript og ikke følger anvisningene vi gir deg. Crappy includescript ? ;o - Jo jeg følger det dere sier. Men hva betyr $1 og $2 osv.. i htaccess ? Lenke til kommentar
Jonas Skrevet 3. mai 2008 Del Skrevet 3. mai 2008 Det, er problemet. Hvordan henter jeg ut id ? Henter jeg den ut med htacces eller php ? Og hvordan gjør jeg det ? Feil, dette er utangspunktet for tråden. Jeg refererte til ditt siste innlegg, hvor du spør hvorfor noe ikke fungerer. Lenke til kommentar
Thomas. Skrevet 3. mai 2008 Forfatter Del Skrevet 3. mai 2008 (endret) Det, er problemet. Hvordan henter jeg ut id ? Henter jeg den ut med htacces eller php ? Og hvordan gjør jeg det ? Feil, dette er utangspunktet for tråden. Jeg refererte til ditt siste innlegg, hvor du spør hvorfor noe ikke fungerer. Vel.. Dette fungerer: http://localhost/tutorial/php/8/ (8 = id på tutorial) Men ikke slik det skal. Jeg kommer til index siden. med dette i htaces: RewriteRule ^([^./\`\'\ ]+)/([^./\`\'\ ]+)/([0-9]+)/?$ ?side=$1&id=$2 men det jeg egentlig skal, er å åpne id'en å hente ut infoen om tutorialen på siden. Så hva må jeg skrive i htaccess, og hvordan skal jeg gjøre det i php ? Endret 3. mai 2008 av php_user Lenke til kommentar
Thomas. Skrevet 3. mai 2008 Forfatter Del Skrevet 3. mai 2008 Nå, Jonas. Tenkt å svare snart ? 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å