frame doet het niet

Status
Niet open voor verdere reacties.

mcfreak

Gebruiker
Lid geworden
21 feb 2012
Berichten
508
ik probeer een frame te maken voor mijn site maar dat werkt niet
zo moet het eruit zien(ongeveer):

____________________
l l l
l___l_________________l
l___l________________ l
l l l
l l l
l l l
l l l
l l l
l l l
l___l_________________l

ik snap alles,kan alles toevoegen maar de lijnen willen niet op hun plaats...
kan iemand me een scriptje geven ofzoiet?(website waar ik het goed kan leren ook goed)
helemaal rechts hoort ook nog een lijn naar beneden,maar dat wil hij er niet opzetten...
 
Laatst bewerkt:
Je an dat d.m.v. divs doen. Als je op google zoekt, moet je vast wel wast nuttigs kunnen vinden.

Ik weet niet of het toegestaan is, maar stuur me anders een pm bericht met je e-mail, dan kan ik je gemakkelijk helpen als je wilt :)

Groetjes Milenko
 
Hoi mcfreak,
Ik begrijp dat dit de bedoeling is:
Code:
 ____________________
|   |                |
|___|________________|
|___|________________|
|   |                |
|   |                |
|   |                |
|   |                |
|   |                |
|   |                |
|___|________________|

Dat zou ongeveer zo kunnen:
HTML:
<body>
   <div class="left top">...linksboven...</div>
   <div class="right top">...rechtsboven...</div>
   <div class="left middle">...linksmidden...</div>
   <div class="right middle">...rechtsmidden...</div>
   <div class="left bottom">...linksonder...</div>
   <div class="right bottom">...rechtsonder...</div>
</body>

Met als css iets als:
Code:
body { width: 990px; margin: 0 auto }
div { border: solid black }
.left { float: left; width: 200px; border-width: 1px 1px 0 1px }
.right {float: left: width: 780px; border-width: 1px 1px 0 0 }
.top { height: 200px }
.middle { height: 100px }
.bottom {height: 600px; border-bottom-width: 1px }

Dan zouden alle lijntjes geraakt moeten zijn, als ik het goed heb.
Maar:
  • Dit gaat alleen goed als de vakjes de opgegeven vaste hoogtes hebben (en links steeds even hoog is als rechts).
  • Als de vakjes flexibel moeten zijn, moeten er andere maatregelen getroffen worden.
  • Het hangt er nogal van af, wat de bedoeling voor de vulling van de vakken is; ook bv. qua achtergrond.

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
hoe moet ik er nu een andere pagina in toevoegen?
 
Laatst bewerkt:
Ah, moeten die 9 vakken frames of <iframe>'s worden?
Zo ja, waarom/ waartoe?
 
2 dingen:
1 wat is een iframe? (sorry,dit is helemaal nieuw voor me)
2 naar andere paginas,geen links,dat weet ik ook wel... Maar dat de pagina er echt instaat
 
Hoi mcfreak,
  • Een <frame> is een doorkijkvenster op een <frameset>-pagina. Dat is een speciale html-pagina (meestal de index.html) waarin één of meer van die frames zitten. Elk doorkijkvenstertje gaat naar een aparte html-pagina.
  • Een <iframe> is ook een doorkijkvenstertje, maar dan op een gewone html-pagina. En ook in het kijkvenster van het <iframe> wordt een aparte html-pagina getoond.
  • De i van <iframe> betekent "inline frame": een inwendig frame binnen een pagina.

Nu brengen <frame>'s en <iframe>'s een aantal ernstige beperkingen met zich mee. Vaak kan een webpagina veel beter anders georganiseerd worden. Vandaar dat ik me afvroeg waarom je die frames wilt gebruiken, en wat er in moet komen te staan.

Bv.: in een doorsnee webpagina staat linksboven meestal het logo, en daarnaast een "header" (doorgaans een mooie afbeelding met de naam van de site).
Wil je de eerste twee vakken voor zoiets gebruiken?
En wat moet er in de overige vier komen?

Met vriendelijke groet,
CSShunter
 
voor de bovenste 2 wil ik inderdaad de naam en het logo gebruiken
voor die andere 4:
linksboven: niets eigenlijk maan dan sluit het aan.
rechtsboven: links naar andere pagina's
linksonder: links naar subpagina's
rechtsonder: de paginainhoud.

die "inpagina"pagina's zijn bedoelt voor dat ik maar een ding hoef te veranderen als ik iets wil veranderen ipv de halve site...
 
Laatst bewerkt:
Yes! Ik had al zo'n blauw vermoeden. :d


  • Je kan een <frameset> opbouw maken. Dat heeft als nadeel dat het een 1-pagina website wordt: een andere pagina dan de startpagina is er niet, maar wordt getoond door een pagina-wissel in een frame. In de adresbalk blijft de startpagina staan, een eenvoudige verwijzing naar een andere pagina (bv. in een mailtje: "Zie de pagina www.mijnsitenaam.nl/contact.htm") is onmogelijk. Via een zoekmachine binnengekomen bezoekers komen op een "binnenpagina" uit, en missen zodoende het logo, menu enz. (of je zou er speciaal javascript in moeten zetten). De onderdelen in de frames moeten allemaal echte html-pagina's zijn, met elk een <head>, een <body>-sectie, enz. - Verder kan een inhoud-pagina lang of kort zijn, maar dat weet de <frameset>-pagina niet van te voren. Dan komt er ofwel teveel ruimte, ofwel een te kleine ruimte met een extra scrollbar. Tenzij je daarvoor ook weer javascript gaat gebruiken.
  • Je kan losse pagina's maken, waarin de herhalende onderdelen er via een serie <iframe>'s in zitten. Dat neemt een aantal van de <frameset>-bezwaren weg, maar je blijft o.a. wel steeds de overbodige <head>'s enz. van alle ingebouwde iframe-pagina's houden: extra code, extra downloadtijd, extra co2.
  • Frames, in welke vorm ook, zijn dus sterk af te raden! Zie verder: "Alles over frames: waarom worden frames afgeraden?" op Webrichtlijnen.nl.

Maar-maar-maar?

Maar ... het kan ook anders, zonder dat je op elke pagina dingen moet gaan zitten herhalen. :)
Het toverwoord is: "php-include".
Met een simpel code-regeltje verwijs je naar een code-fragment. Dat is een uitgeknipt stukje html, dat er op elke pagina in moet komen. De server plakt dit er dan automatisch op elke pagina in. Klaar!
Iets veranderen op alle pagina's (bv.een nieuw menu-item)? Even het menu-fragment bijwerken, en het staat meteen op alle pagina's!
De enige voorwaarde is dat je provider het gebruik van php ondersteunt, maar dat is bij vrijwel alle hosting-pakketten het geval.

php-include-en-styles.png

Hoe doe je dit? Bijvoorbeeld:

De kop apart
Je maakt eerst een pagina helemaal als complete pagina. Ga naar de broncode en selecteer de hele <div> van de header:
HTML:
<div id="header">
    <img id="logo" src="..." width="..." height="..." alt="">
    <h1>Mijn Super-de-Luxe-PHP-Site</h1>
    <div id="topmenu">
        <ul>
            <li><a href="...">Home</a></li>
            <li><a href="...">Uitvindingen</a></li>
            <li><a href="...">Webwerk</a></li>
            <li><a href="...">Vakanties</a></li>
        </ul>
    </div>
</div>
Kopieer deze code, en plak deze als "kaal codefragment" in een nieuwe pagina (dus zonder <head>, <body> enz.). Sla deze pagina op als kop.htm in de map includes.
Knip de hele <div id="header"> nu uit de pagina, en zet daarvoor in de plaats het regeltje:
PHP:
<?php include("includes/kop.htm"); ?>
Op de andere pagina's doe je hetzelfde, en met andere gelijkblijvende onderdelen kan je ook hetzelfde doen.
De oorspronkelijke pagina's (waar de include-verwijzingen in staan) geef je de uitgang .php ipv .htm.
That's all! :)

Met vriendelijke groet,
CSShunter
__________
PS: ik heb ergens een hele tutorial voor het opzetten van een php-site (het bovenstaande is daar een stukje uit), maar die site is momenteel %#s4GRMFF%@*%#* :evil: gehackt, dus ik kan niet doorlinken. De provider doet z'n best de zaak te cleanen...

Edit:
Hij staat nu hier: bliksekaters.nl/phpsite/tutorial.htm
 
Laatst bewerkt:
Ik ga er naar kijken,maar nu moet ik wel php leren....toch?
Maar ik heb al gelezen dat je daar meer mee kan dan html,als dat echt zo is vind ik dat niet zo heel erg
 
Het php-proefwerk

nu moet ik wel php leren....toch?
Nee hoor, als het alleen gaat om het insluiten van pagina-onderdelen die hetzelfde moeten blijven, is dat leren beperkt tot 3 dingen:


  1. het kunnen knippen en plakken van een broncode-fragment in een los bestandje, en dat kunnen uploaden
  2. het kunnen invoegen op de pagina van het regeltje
    <?php include("mapjeWaar FragmentenInZitten/fragment-1.htm"); ?>
  3. het kunnen onthouden dat bij het opslaan de pagina .php moet worden ipv .htm

:)
En hier is meteen het proefwerk over je php-kennis:

De include
Maak in Kladblok een bestandje met als enige inhoud:
Code:
<p><em>En dit is mijn ingevoegd fragment!<br />
Als u dit leest heb ik een voldoende.</em> :-)</p>
Opslaan met de naam: mijnfragment.htm

De pagina
Maak in Kladblok een bestandje met als inhoud:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Proefwerk</title>
</head>
<body>

	<h1>Proefwerk</h1>

	<p>Hallo Wereld!</p>

	<p>Dit is mijn eerste pagina met een php-include!</p>

	<?php include("mijnfragment.htm"); ?>

	<p>Bedankt voor het lezen!</p>

</body>
</html>
Opslaan met de naam: proefwerk.php

En dan
  • Beide bestanden uploaden naar dezelfde map.
  • In je browser naar proefwerk.php surfen

De proefwerk-vragen
  1. Wat zie je in je browser?
  2. Wat zie je in de broncode van de pagina in je browser?

Met vriendelijke groet,
CSShunter
_____________
PS: Lokaal op je computer thuis werkt het niet: alleen op de server van je provider staat de php-machinerie die het invoegen in orde maakt. Op je pc thuis zit dat niet (behalve als je daar een php-server op hebt geïnstalleerd).
 
als ik dat php bestand wil openen geeft hij de code maar geen pagina,dat heb ik met alle php pagina's die ik maak....
kop.html doet het gewoon.....
vanmiddag zie ik een paar mensen die het me kunnen vertellen
 
Hé, het zou gewoon keihard moeten werken.
Heb je de bestanden wel geüpload naar een server op internet?
Zie m'n PS van de vorige post!

En wat komt er bij jou uit de proefwerk-test? (linkje?)
 
moet het op internet geupload zijn voor je het kan zien?
ben nog bezig met een server bouwen en kan het dus nog niet uploaden
met html kan ik het altijd gewoon zien,heeft het iets te maken php server side is en html niet?
 
moet het op internet geüpload zijn voor je het kan zien?
Zeker weten! :d (of in een lokale bv. WAMP-server).

=====
... kan het dus nog niet uploaden
Met FileZilla Client of een ander FTP-programma kan je direct uploaden (zie hier). Is in 3 tellen gedownload en geïnstalleerd. :)
Of maak je een eigen server ipv een provider in te schakelen? (Dan moet je kast wel 24/7 aan staan om bezoekers te ontvangen; en krijg je zelf alle veiligheidsperikelen voor je kiezen; voor ca. € 25 per jaar (€ 2 per maand) heb je een provider die altijd i/d lucht is en alle veiligheid voor z'n rekening neemt.)

=====
heeft het iets te maken php server side is en html niet?
Ja klopt: php is server-side en werkt dus niet lokaal in je browser (in tegenstelling tot javascript: dat is client-side en werkt lokaal in je browser, want dat zit in browsers ingebouwd).
 
Laatst bewerkt:
het is me gelukt met usbwebserver,
bedankt csshunter voor de hulp :D
en ook Milenko maar ik heb m perongeluk overgeslagen :o
het is een site voor een gameserver maar ik zet een link naar de site als hij online is ;)
 
Laatst bewerkt:
Of maak je een eigen server ipv een provider in te schakelen? (Dan moet je kast wel 24/7 aan staan om bezoekers te ontvangen; en krijg je zelf alle veiligheidsperikelen voor je kiezen; voor ca. € 25 per jaar (€ 2 per maand) heb je een provider die altijd i/d lucht is en alle veiligheid voor z'n rekening neemt.)

gewoon om het te laten weten,ik gebruik mijn eigen server
 
Ik ben toch php beter gaan leren, daar het ik geen spijt van.
Daarvoor wil ik je graag bedanken.:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan