Gå til innhold

PHP spørsmål (vet ikke hva det heter)


Anbefalte innlegg

Hei!

 

Dette er sikkert ett dumt spørsmål og alt sånn, men spør fordi jeg ikke klarer det. Jeg driver å lager en nettside som skal være for en bondegård. Den er laget på den måten at jeg har en <div> som inneholder "innholdet" på hver side. Og dette vil være MySQL informasjon.

 

Hvis noen skjønte det? Kan forklare med bilder!

 

255567.jpeg

Der den svarte firekanten er, vil innholdet være, som blir lastet fra en MySQL database.

 

Jeg har laget en header.php, en footer.php og en navigasjon.php (nav.php) og inkludert disse sidene med hjelp av

<?php
require("FILEN"); 
?>

 

Men det jeg lurte på er:

 

Hvordan kan jeg lage ett system som fungerer ved at det eneste man laster, når man trykker på en link er innholdet?

Da tenker jeg på at nettadressen blir noe sånn som www.nettadresse/index.php?side=forside

 

Og hvis man trykker på nyheter så kommer det www.nettadresse/index.php?side=nyheter

 

Og disse skal da åpne seg i den rammen som er i bildet over. Slenger også med kildekoden til index.php filen min, om det blir lettere og se sammenhengen da etc?

 

<?php
require("header.php");
require("nav.php"); 
?>

 <div id="innhold">
<?php
	$result = mysql_query("SELECT * FROM start WHERE id='1'");		
	$row = mysql_fetch_array($result) or die(mysql_error());

	echo '<h2>'. $row['overskrift'] .'</h2>';
	echo '<br>'. $row['tekst'] .'</font>';
	echo '<h5><br><br>Sist endret: '. date('d.m.Y', $row['dato']) .'</font>';
?>
 </div>


<?php
require("footer.php"); 
?>

 

 

Håper noen kan hjelpe meg! Tusen takk!

Lenke til kommentar
Videoannonse
Annonse

Det du leter etter går ofte under navnet include-script. (Google it)

 

Merk bruken av escaping. (Google sanitize input mens du er i gang)

 

<?php
require("header.php");
require("nav.php"); 
?>

 <div id="innhold">
<?php
	$result = mysql_query("SELECT * FROM start WHERE id='" . mysql_real_escape_string ( $_GET['side'] ) . "'");		
	$row = mysql_fetch_array($result) or die(mysql_error());

	echo '<h2>'. $row['overskrift'] .'</h2>';
	echo '<br>'. $row['tekst'] .'</font>';
	echo '<h5><br><br>Sist endret: '. date('d.m.Y', $row['dato']) .'</font>';
?>
 </div>


<?php
require("footer.php"); 
?>

Endret av Jonas
Lenke til kommentar

Takk! Det hjalp masse!

 

Men nå når jeg går inn i siden www.domene/index.php så blir det feltet der den svarte firekanten er hvitt. Det kommer ikke frem noe tekst før jeg skriver inn:

 

www.domene/index.php?side=Forside

 

Hva kan jeg gjøre så www.domene/index.php?side=Forside, er det som vises når man går på www.domene/index.php ?

 

Slenger med koden jeg brukte nå for å få det til å fungere:

<?php
require("header.php");
require("nav.php"); 
?>

<?php
	if ( $_GET['side'] == "Nyheter" ) { 
		include("nyheter.php");
	} 
	elseif ( $_GET['side'] == "Forside" ) { 
		include "forside.php"; 
	} 	
?>

<?php
require("footer.php"); 
?>

 

Takker for hjelp!

Lenke til kommentar

isset() er hva du leter etter. Ta også en titt på switch-statements, muligens noe lettere å bruke enn en hel haug med if-setninger.

 

<?php
require("header.php");
require("nav.php"); 
?>

<?php
	if ( !isset ( $_GET['side'] )  ) { 
		include("Forside.php");
	} 
	elseif ( $_GET['side'] == "Nyheter" ) { 
		include("nyheter.php");
	} 
	elseif ( $_GET['side'] == "Forside" ) { 
		include "forside.php"; 
	}	 
?>

<?php
require("footer.php"); 
?>

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...