CoaX- Skrevet 24. september 2010 Del Skrevet 24. september 2010 (endret) Holder på med et nettsted hvor jeg bruker en del php programmering. Tingen er at jeg ikke er så veldig erfaren med php, men har fått en del hjelp fra nettet og venner rundt omkring. Tingen er at jeg har en side hvor jeg bruker: En divtag #container hvor jeg henter inn ulike php filer med tekst i, slik som dette: <?php if($p == 8){ include("kampanje.php"); } ?> Da hentes det inn en boks på høyre side som inneholder annonser etc. Dette fungerer helt fint. Problemet oppstår når jeg vil at php skriptet skal hente inn to bokser samtidig (meny på venstre side og en faktaboks på høyreside): <?php if($m == 1){ include("produkter.php") ; } ?> <?php if($m == 2){ include("inspirasjon.php"); } ?> <div id="contentContainer"> <?php $p = $_GET['p']; if($p == "index"){$p = "";} if($_GET['p']){ include($p .".php"); } else { include("home.php");} ?> </div> <?php if($p == 8){ include("kampanje.php"); } ?> Dette har fungert helt fint, slik at når en bruker gikk inn på siden hjemmeside.no/index.php?p=1&m=1 så viste både faktaboksen og menyen samtidig. Men den siste uken virker ikke dette, har dere noen tips? Endret 24. september 2010 av CoaX- Lenke til kommentar
OIS Skrevet 28. september 2010 Del Skrevet 28. september 2010 Kor får du $p fra? Midt inni koden settes $p til $_GET['p'] som da er en tekststreng og ikke et tall. Når du bruker $p senere for å sammenligne med 8 for å inkludere kampanje så vil den ikke virke. <?php $p = $_GET['p']; if($p == "index"){$p = "";} if($_GET['p']){ include($p .".php"); } else { include("home.php");} ?> Her prøver du å inkludere .php hvis $_GET['p'] er 'index'. Du bør lage en "hvitliste" over filer som kan inkluderes. $files = array( 'home', 'fil2', 'fil3', ); if (!in_array($p, $files, true)) { $p = $files[0]; } include($p . '.php'); Lenke til kommentar
CoaX- Skrevet 29. september 2010 Forfatter Del Skrevet 29. september 2010 (endret) hei, og tusen takk for svar! :-) meningen med denne strengen: <?php $p = $_GET['p']; if($p == "index"){$p = "";} if($_GET['p']){ include($p .".php"); } else { include("home.php");} ?> var å få home.php til å vise når index.php-siden ble lastet. Tingen er at alle sidene blir lastet inn i denne containeren i index.php. Kampanje fungerer og alle andre sidene fungerer, de blir alle lastet inn i index.php, men ikke den menyen jeg vil ha inn på venstresiden (<?php if($m == 1){ include("produkter.php") ; } ?>) Fikk ordnet feilen! Byttet ut: <?php if($m == 1){ include("produkter.php") ; } ?> <?php if($m == 2){ include("inspirasjon.php"); } ?> med <?php if($_GET['m'] == "1"){ include "produkter.php"; } else if ($_GET['m'] == "2"){ include "inspirasjon.php"; } else ?> så nå kom menyen frem og alt :-) Endret 29. september 2010 av CoaX- 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å