Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  44 2450
Hei. Jeg har laget en nettside, har brukt Dreamweaver MX og tildels Photoshop. Tidligere har jeg pleid å brukt iframe for å koble de forskjellige sidene sammen, men jeg har fått høre at det egentlig ikke er å anbefale, så, jeg lurer på hva slags alternativer jeg har? Helst ikke noe drit vanskelig. Jeg har laget noen sider, men for det meste i frontpage, og kan ikke noe særlig om php og css.

Kritikk på siden er også ønskelig, selvom jeg tror den blir greit slaktet her inne

Var ikke helt sikker på hvor jeg skulle plassere denne, men håper det ble riktig!
Hva mener du? Vil du linke knappene til undersidene?
Merk de og link til undersidene ganske enkelt. Husker ikke hvordan det gjøres WYSIWYG i Dreamweaver.
Inz
Trådstarter
15 0
Hæ? Ja, jeg skal linke knappene, sånn at kun det som er under de loades på nytt, slik at man slipper å loade banner, bakgrunn osv en gang til. Åssen gjør jeg det uten å bruke iframe?
Trigonoceps occipita
vidarlo's Avatar
Donor
Alle moderne nettlesere har caching, som gjer at å laste statiske bilder og slikt på nytt tar null tid, fordi dei blir lest fra RAM.
Inz
Trådstarter
15 0
Så jeg kan liksom bare gjøre om index'en og lagre den om til de forskjellige menyene, forså å linke til de?
du putter meny og banner-drit i en egen fil, kaller den f.eks static-shite.html og bruker så egnet språk for å inkludere denne siden i resten av dokumentene.

f.eks gjøres det omtrent slik i php: <?php include("static-shite.html"); ?>
lol sikkert meningen, men serriøst, det var den styggeste siden jeg NOEN gang har sett. men den var tøff som juling
Dette er et eksempel på en måte du kan gjøre dette på:

index.php

Kode

<a href="?side=forum">FORUM</a>
<hr>
<?php
include("include.php");
?>
include.php :

Kode

<?php
$side = $_GET['side'];

if(!empty($side) ){
include("inc/$side.php");
} else {
include("inc/nyheter.php"); // Om du vil ha nyheter som default på forsiden.
}

?>
Dette krever kun at du har en mappe som heter (i dette tilfellet) "inc".

Siden linken nå er ?side=forum er vi nødt til å lage en ny fil ved navn forum.php og plassere den i inc mappen.
Sist endret av boblesaft; 12. september 2007 kl. 07:27.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
@starter: jeg regner med du ikke har så innmari mye peil på php, derfor tar jeg meg den frihet å commente koden litt grundigere. Pass på at webhosten din støtter PHP.

Sitat av Cinamon
Dette er et eksempel på en måte du kan gjøre dette på:

index.php

Kode

<a href="?side=forum">FORUM</a> //Peker til samme side, men passer verdien "forum" til var. "side"
<hr>
<?php
include("include.php");   //Gir beskjed om å skrive inn alt som står i "include.php"
?>
include.php :

Kode

<?php
$side = $_GET['side'];  //Leser variabelen "side" som ble passet til siden

if(!empty($side) ){ //Hvis denne variabelen IKKE er tom;
include("inc/$side.php");  //les inn fra den fila som har samme navn som verdien i variabelen.
} else {  //Hvis den ER det;
include("inc/nyheter.php"); // Les inn fra nyheter.php istedet.
}

?>
Dette krever kun at du har en mappe som heter (i dette tilfellet) "inc".

Siden linken nå er ?side=forum er vi nødt til å lage en ny fil ved navn forum.php og plassere den i inc mappen.
Vis hele sitatet...
Så ble det forhåpentligvis noe klarere. Som sagt; webhosten din må støtte php for at dette skal funke.
Pass på at hvis du skal kommentere linken på index fila må du bruke <!-- komentar --> , fordi der er det ikke php.
derfor blir første linje på index fila slik:
<a href="?side=forum">FORUM</a> <!-- Peker til samme side, men passer verdien "forum" til var. "side" -->
Sist endret av boblesaft; 12. september 2007 kl. 07:40.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
My bad Cinamon
Blame the klokkeslett.
Og hvis du sender ?side=/etc/password%00 til Cinamons script vil det glad og fornøyd servere passordlista for hele systemet (forutsatt at det er en Linuxserver og at safe mode er av, noe det som regel er). Man bør ikke bruke get- eller post-input så ukritisk.

Derimot kan du ta en titt på denne: http://www.freakforum.nu/forum/showthread.php?t=86184
Inz
Trådstarter
15 0
Tusen takk, Cinamon & robhol! Jeg tror jeg kan få til dette, men jeg er ganske noob når det gjelder andre ting enn frontpage og html, så, jeg har kjørt meg litt fast. Dere kan sjekke ut siden, her nå. Jeg har fått til at hovedsiden inkluderes hovedside.php i inc-mappen, men hvordan får jeg index.jpg oppe ved banneret til å linke til dette etter at man feks har vært innom spillere.php (når denne kommer..), og hvorfor står det FORUM med en strek under midt på siden?
Eller bare lage siden med frames?
Limited edition
Moff's Avatar
Sitat av Restyle
Eller bare lage siden med frames?
Vis hele sitatet...
Hva er du, 12?

PHP er det eneste som er nogenlunde fornuftig å bruke her. Det er like greit å lære det med en gang, ettersom PHP kan brukes til omtrendt en milliard ulike ting.
Sitat av Moff
Hva er du, 12?
Vis hele sitatet...
Tvert imot. Siden han foreslår en teknikk som var populær for over 10 år siden regner jeg med han er av den eldre garde. 50 kanskje?
Inz
Trådstarter
15 0
Ikke ødelegg tråden "min" da, er så irriterende å se det har kommet svar også er det til null hjelp :P
Denne er kanskje litt mer "sikker", men bør vel egentlig ta noen sikkerhetstiltak til?

PS! Nå skriver du linkene dine slik:

Kode

<a href="?page=hovedside"><img src="buttons/index.jpg" style="border: 0px; height: 26px; width: 90px"></a>

Kode

<?php
// The default/main file (if file not exists, or $_GET['page'] is empty)
$mainFile = 'hovedside';

// The directory where your files to include i saved
$dir = 'inc';

// File extension
$fileExt = '.php';

// Checks if $_GET['page'] is empty or not
$page = !empty($_GET['page']) ? $_GET['page'] : $mainFile;

// make the full path to the file.
$fullDir = $dir.$page.$fileExt;

// Checks if file exists, and is readable
if (is_file($fullDir) && is_readable($fullDir)) {
	$include = $fullDir;
} else {
	// If not, we include the main file.
	$include = $mainFile;
}
include $include;
?>
Sist endret av nukleuz; 12. september 2007 kl. 20:55.
Limited edition
Moff's Avatar
Øh... Mulig jeg tar feil, men ville ikke dette her kutte vekk all den unødvenigde koden?

Kode

if ( is_file ( 'sider/' . $_GET['side'] . '.php' ) ) {
include 'sider/' . $_GET['side'] . '.php';
} else {
include 'sider/forside.php';
}
Linje 1 sjekker om det finnes en fil med samme navn som variabelen som heter 'side' i adresselinja (Eksempel: "www.side.no/?side=lol" -> variabelen 'side' er lik 'lol' i denne adressen). Den forutsetter at 'side' kun inneholder filnavnet, så sjekker den at filnavnet + ".php" ligger i mappen "sider/". Dette er bare for å slippe at det står "sider/filnavn.php" i adresselinja. Denne koden vil gjøre at det kun står "filnavn". Hvis den ikke finner en fil som passer så henter den frem filen "sider/forside.php". Dette hindrer at folk kan hente fram en hvilken som helst fil ved å kludre med adresselinja di.

Hvis du har en link på sida di som sier "<a href="?side=lol>LINK</a>" så vil scriptet lete etter en fil som heter "lol.php" i mappen "sider/".

PS: Skråstreken i mappenavnet er bare for å understreke at dette er en mappe, det er altså ikke en del av mappenavnet.
Sist endret av Moff; 12. september 2007 kl. 22:26.
Ingen av løsningene er noe særlig mer sikre, ettersom mitt eksempel med ?side=/etc/password%00 fortsatt vil kjøre. eller ?side=../../../Mail.mbx eller lignende....
Limited edition
Moff's Avatar
Sitat av fuzzy76
Ingen av løsningene er noe særlig mer sikre, ettersom mitt eksempel med ?side=/etc/password%00 fortsatt vil kjøre. eller ?side=../../../Mail.mbx eller lignende....
Vis hele sitatet...
You are sure of this?
Jeg velger å tro at mitt eksempel vil reagere sånn på den siste settningen din:
include 'sider/../../../Mail.mbx.php';
Altså nada.

Men jeg ser poenget. Alt som trengs er å legge inn en funksjon som stripper ../ fra "side".
Jeg glemte å legge til %00 på det siste eksempelet. En nullbyte terminerer strengen ved strcmp og lignende, så ".php" blir dermed ikke tatt med i betraktning når man forsøker å laste fila.
Sitat av Moff
Hva er du, 12?

PHP er det eneste som er nogenlunde fornuftig å bruke her. Det er like greit å lære det med en gang, ettersom PHP kan brukes til omtrendt en milliard ulike ting.
Vis hele sitatet...
Det kan det ja, men dog er frames lettere og lære seg, og om man ikke kan så mye om det er dette en alternativ måte, dersom han ikke får til PHP, bruker selv PHP men var egentlig bare ment som et forslag dersom han ikke har lært noe om PHP.

Anyways.
Inz
Trådstarter
15 0
Her kommer et svar basert på Cinamon, robhol og nukleuz sine innlegg. Jeg forklarer nøye hva jeg har gjort;

1 - Dette har jeg skrevet i index.php:
<?php
include("include.php");
?>
Vis hele sitatet...
2 - Dette har jeg skrevet i include.php:
<?php
$side = $_GET['side'];
if(!empty($side) ){
include("inc/$side.php");
} else {
include("inc/nyheter.php");
}
?>
Vis hele sitatet...
3 - Så har jeg opprettet mappe "inc" med side.php, nyheter.php og historie.php

4 - Så fjernet jeg jpg-filene som skulle fungere som linker å skrev inn dette:
<td height="27" valign="top" bgcolor="#000000"><a href="?page=hovedside"><img src="buttons/index.jpg" style="border: 0px; height: 26px; width: 90px"></a><a href="?page=historie"><img src="buttons/historie.jpg" style="border: 0px; height: 26px; width: 90px"></a></td>
Vis hele sitatet...
5 - Noe som gir dette resultatet Jeg tror ikke jeg er så langt unna "å få det til", så om noen kunne hjulpet meg med det lille som sikkert er feil, ville jeg blitt veldig glad. Legg spesielt merke til hvordan .jpg filene som skal fungere som linker oppfører seg når man trykker på de, (adressefeltet).
Sist endret av Inz; 13. september 2007 kl. 13:42.
Inz
Trådstarter
15 0
bump? hvis det er lovlig her?
Sist endret av Inz; 14. september 2007 kl. 23:17.
Trigonoceps occipita
vidarlo's Avatar
Donor
En plass bruker du $_GET['side'] og i linkane bruker du page.

Skift linkane til ?side=historie o.l. så skal det funke
Endre $_GET['side'] til $_GET['page']!

<a href="?page=hovedside">
Vis hele sitatet...
Vidarlo: Du var før meg, men med en annen løsning, som vil gi samme resultat
Sist endret av nukleuz; 14. september 2007 kl. 23:25.
Men har det ikke nettopp blitt sagt at dette er en usikker måte å gjøre det på?
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av nukleuz
Vidarlo: Du var før meg, men med en annen løsning, som vil gi samme resultat
Vis hele sitatet...
Samme løsning, bare på ulik plass
Lys side, kan hende det er øynene mine som er trette, men det var bokstavelig talt smertefullt å se på den.
Kan hende bakgrunnen (rundt hele greia) er med på å gjøre det.
Sist endret av TanteSpiker; 15. september 2007 kl. 00:50.
Inz
Trådstarter
15 0
Tusen takk!
Limited edition
Moff's Avatar
Sitat av Cinamon
Men har det ikke nettopp blitt sagt at dette er en usikker måte å gjøre det på?
Vis hele sitatet...
Som det har blitt sagt så kan du legge inn filtere som stripper farlig innhold fra adressen. Det er lett å ordne.

Restyle: Selv om frames er lettere så er det en teit måte å lære det på. Jeg vil si at det er bedre å lære seg skikkelige metoder med en gang.
*sukk* Ser at ingen hører på meg. Riktignok har hosten din gode nok sikkerhetsinnstillinger til at mine eksempler ikke fungerte. Kudos til dem for det, men DENNE linken var ganske morsom. Vil tippe den bringer servern så godt som i kne....

http://www.rosa-kickers.com/?side=../index

Se om du skjønner hva som skjer
Inz
Trådstarter
15 0
Oioi, hehe. Hva er det jeg skal gjøre/skrive for å motvirke dette, og hvor? Lag en litt ålreit 'guide', så jeg slipper å spør om og om igjen, så slipper du å svare om og om igjen
Det finnes mange måter å gjøre det på. Jeg ga deg en link lenger opp til mitt eget include-script. Der bruker jeg regexp for å forsikre meg om at sidenavnet KUN inneholder a-z, A-Z eller 0-9.

Et annet alternativ er å sjekke at sidenavnet er en av de tillatte, dvs "forum", "index" osv...
▼ ... over en uke senere ... ▼
Inz
Trådstarter
15 0
Jasså, skal se på det.

Men, åssen får jeg til at i den ruten jeg har skrevet include-scriptet, at det blir en rullegardin på siden hvis det jeg inkluderer tar mer plass en selve siden? Siden bare utvider seg, men jeg vil ha rullegardin!
Endre høyde og bredde til det du skal ha.

Kode

<div style="width: 100px; height: 100px; overflow: auto;">
    include nnnholdet her:)
</div>
Her har du et litt mer sikkert include greie...

Kode

<?php

$folder = 'inc/';

$pagez = ($page = substr (strtolower (preg_replace ('([^a-zA-Z])', '', $_GET['page'])), 0, 20)) ? $page : 'hovedside';
$page = $folder.$pagez . '.php';

if (is_file($page) && is_readable($page)) {
	include($page);
} else {
	header ("HTTP/1.0 404 Not Found");
	echo '<strong> ERROR: 404 </strong> <em>?page='.$pagez.'</em><br /> 
		Denne siden kan ikke vises. Grunner til dette kan være: <br />';
	echo '- Siden er flyttet <br /> - Siden eksisterer ikke.';
}
?>
Rullegardin? :P Det heter scrollbar
Sist endret av nukleuz; 26. september 2007 kl. 09:00.
Inz
Trådstarter
15 0
Sitat av nukleuz
Endre høyde og bredde til det du skal ha.

Kode

<div style="width: 100px; height: 100px; overflow: auto;">
    include nnnholdet her:)
</div>
Rullegardin? :P Det heter scrollbar
Vis hele sitatet...
Takk Meen, hvis du går inn på siden nå, og tar en titt på "historie", så ser du at det er et mellomrom mellom SCROLLBAREN ( ) og den andre ruta, det er jo utrolig stygt. Hvordan fjerner jeg det?
Hvorfor har du en body tag plutselig midt i koden??? <div style="width: 452px; height: 437px; overflow: auto;"> <body><- tag her??

Og på denne siden: http://www.rosa-kickers.com/?side=spillere har du plutselig en <HEAD> tag i stede fo body etter divisjon?

Men har du prøvd å sette width i <div> litt større?

Og hvorfor ikke gjøre slik:

Kode

<table style="margin-left: auto; margin-right: auto; background-color: #000000; width: 695px; height: 765px" cellpadding="2" cellspacing="2">
i stede for dette:

Kode

<div align="center">
  <table width="695" border="0" cellpadding="2" cellspacing="2" bgcolor="#000000" height="765">
For øvrig skal vel tabeller brukes tabulær data og ikke design
Ser også at du enda ikke har fikset med sikkerheten i include greia :P
Det er også mye bedre å samle alle css i et dokument, og bruke div og id. Mye enklere om du skal endre litt på designet i ettertid, pluss at det er mer oversiktlig
▼ ... over en uke senere ... ▼
Inz
Trådstarter
15 0
Takk for all hjelp folkens, jeg har ikke rukket å sett så mye på det enda, men det er bare et spørsmål om tid.

Angeånde det Cinamon og nukleuz nevner om tabeller og css, så veit jeg ærlig talt ikke hvordan man gjør det. Hvordan jeg skal lage en side som ser grei ut, uten å bruke tabeller, veit jeg ikke. Og dette med css vet jeg ikke hvordan jeg skal skrive, jeg ordner det på hver enkelt side i dreamweaver, noe som også funker greit, men klart jeg ser at et css dokument hadde vært det optimale!
Limited edition
Moff's Avatar
CSS er griselett å sette seg inn i. Det tok meg >1 time når jeg følte at jeg virkelig ville. Jeg fulgte denne tutorialen: Tizag.com

Etter at du har lest den der så er dette med <div> rimelig lettfattet. Det er dog en vanesak å finne ut hva som funker og hva som går på trynet. Det er kun to regler:

- Alt kan løses med divs på samme måte som alt kan løses med gaffateip.
- Hvis noe funker på første forsøk i Opera og Firefox så funker det ikke Internet Explorer.
Sist endret av Moff; 10. oktober 2007 kl. 06:51.
Angående siden som er linket til i første post: http://www.rosa-kickers.com/?side=referat = feilmelding om at filen ikke eksisterer. Hva med å bruke en switch med default side satt til home?