Hulp met pagina script

Status
Niet open voor verdere reacties.

afcamaurice

Gebruiker
Lid geworden
21 jun 2007
Berichten
36
Ik heb nu al verschillende soorten scripts geprobeerd, en ben al zeker uur bezig geweest om van alles te veranderen en aan te passen om te kijken of het op een andere manier wel lukte. Maar het lukt me niet. Ik probeer het allemaal te leren en in feite begrijp ik wel wat er staat en wat ik moet aangeven. Omdat ik het goed wil begrijpen hoop ik dat iemand mij duidelijk uit zou kunnen leggen wat hier fout is gegaan, of dat er iets ontbreekt. Ik zou je echt dankbaar zijn.

Dit is de code die ik heb gebruikt.

Code:
<?
switch($action) { 

case "contact": include("paginas/contact.php"); break; 
case "foto": include("paginas/foto.php"); break; 
case "stand": include("paginas/stand.php"); break; 

default; include("paginas/home.php"); 

} 
?>

de cases heb ik als links verwerkt op deze manier:
index.php?p=contact

De paginas die geinclude worden heb ik in het mapje 'paginas' geplaatst en daarom include ik paginas/contact.php

Mijn website heb ik gemaakt met een menu van 4 tabellen aan de linkerkant (tablewidth=20%) en 4 tabellen aan de rechterkant (20%) en daarnaast heb ik aan de bovenkant een marqueefunctie voor de laatste nieuwtjes. De paginas moeten geinclude worden in het middenstuk (60%) dus heb ik de bovenstaande code op die plek geplaatst.

Ik hoop dat ik zo voldoende informatie heb achtergelaten en dat iemand mij zou kunnen helpen met wat er mis is gegaan.
 
Wat staat er in de variabele $action?

Het antwoord dat ik verwacht moet zijn $_GET['p'].
Is dat het niet dan ligt daar je probleem :D
 
Dat klopt dat is mijn fout geweest, omdat ik dat later bij een andere site vond heb ik dat veranderd. Maar in beide gevallen bleef de pagina hetzelfde.

Hierbij de 'goede' code:

Code:
<?
switch($_GET["p"]) { 

case "contact": // 

include("paginas/contact.php");

break; 

case "foto": 

include("paginas/foto.php"); 

break; 

case "stand": 

include("paginas/stand.php");

break; 

default; 

include("paginas/home.php");

} 
?>

Hopelijk zie je nog een andere manier van wat hier fout is gegaan. Dank je wel
 
Probeer dit eens:
PHP:
<?
switch($_GET['p'])
{ 
  case "contact":
    include("paginas/contact.php");
  break; 
  case "foto": 
    include("paginas/foto.php"); 
  break; 
  case "stand": 
    include("paginas/stand.php");
  break; 
  default:
    include("paginas/home.php");
} 
?>
Ik heb de quotes gewijzigd van $_GET; $_GET is een array met een waarde op punt 'p' en bij array gebruik je meestal enkele quotes.

Daarnaast had je bij default een ; staan in plaats van een :
 
Oke, dat laatste is denk ik een dom foutje van me geweest waar ik overheen heb gekeken. Dat eerste van die array wist ik niet helemaal en daardoor heb ik in ieder geval wat nieuws geleerd :)

Alleen het lost het probleem nog niet op. Me pagina blijft hetzelfde en waar ik de includefunctie heb gebruikt blijft de pagina 'leeg' op de achtergrondkleur na dus. Ik heb nu de bovenstaande code van jou overgenomen, waar in ieder geval de 'domme' foutjes uit zijn.

Ik zal hierbij ook even aangeven wat voor link ik heb gebruikt misschien dat daar toch een fout in zit:
- <a href="index.php?p=foto">Foto's</a><br>
 
Laatst bewerkt:
Met de notatie is niets mis, tenminste ik neem aan dat je deze switch in index.php hebt staan...

Daarnaast is het even de vraag wat je in de ge-include bestanden hebt staan... Plaats bijvoorbeeld eens een stuk van home.php
 
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<td><div align="center"><strong><font color="yellow">
Home</font></strong></div></td>
<table width="100%" style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black;">
<tr>
<td>
<table width="100%"><tr>
<td width="100%" height="59" valign="top">
  <p><strong><font size"1" color="#00FF00">Welkom op de website bla di bla.<br>
  Dit is ff een test enz  <br>
Hoe ziet het er uit :) </font></strong></p>
</td>
</tr></table>
</td></tr>
</table>
</body>
</html>

Dit is mijn hele home.php file.

De tekst verander ik natuurlijk, maar dat doe ik pas op het moment dat mijn site keurig in orde is. Ik hoop dat het helpt aan de verbetering :) Dank je wel voor je tijd in ieder geval:thumb:
 
Wanneer jij in index.php de layout bepaald, dus dit gedeelte:
Mijn website heb ik gemaakt met een menu van 4 tabellen aan de linkerkant (tablewidth=20%) en 4 tabellen aan de rechterkant (20%) en daarnaast heb ik aan de bovenkant een marqueefunctie voor de laatste nieuwtjes. De paginas moeten geinclude worden in het middenstuk (60%) dus heb ik de bovenstaande code op die plek geplaatst.
Dan stel je alleen in de de layout van de pagina vast. Voor alle andere pagina's maak je alleen de inhoud van het gedeelte dat in het vak moet komen.

Daar zet je dus de layout van de gehele pagina niet in.
 
Nee, dat klopt, want anders kan je net zo goed geen include gebruiken als je de lay-out elke keer laat terug proberen te komen.

Maar in de inhoud wil ik voor de meeste pagina's 1 tabel maken waarin de pagina beschrijving staat en daaronder de tekst (wat ik dus in de body heb gemaakt). Alleen aan jouw reactie te zien kan je geen tabel includen?
 
Een tabel kun je wel includen.

Wat ik met mijn laatste zin bedoel gaat over de "algemene" layout.

Zet in home.php dit eens dan:
PHP:
<table width="100%" style="border-bottom:1px solid black; border-left:1px solid black; border-right:1px solid black;"> 
<tr> 
<td> 
<table width="100%"><tr> 
<td width="100%" height="59" valign="top"> 
  <p><strong><font size"1" color="#00FF00">Welkom op de website bla di bla.<br> 
  Dit is ff een test enz  <br> 
Hoe ziet het er uit :) </font></strong></p> 
</td> 
</tr></table>
 
Ik heb het geprobeerd, maar moet ik daarbij me head tags en dergelijke wel weg halen of moeten die wel blijven staan?

Toevoeging: Ik heb het geprobeerd door alles weg te halen behalve de 'tabellen' die ik in het midden wilde behouden en door alles te laten en de tabel goed uit te schrijven. Bij jouw code mis ik de 'tabel' waarin ik heb staan waar de pagina overgaat (in dit geval komt er Home boven het bericht te staan). Daarom heb ik de code iets aangepast en dan op deze manier:

PHP:
<table width="100%" style="border:1px solid black;"><tr><td>

<div align="center"><strong><font color="yellow">Home</font></strong></div>

</td></tr></table>  

<table width="100%" style="border:1px solid black;"><tr><td width="100%" valign="top" height="59">

<strong><font size"1" color="#00FF00">Welkom op de website bla di bla.<br>  
  Dit is ff een test enz  <br>  
Hoe ziet het er uit :) </font></strong>

</td></tr></table>
 
Laatst bewerkt:
Er moet niets staan wat anders buiten de <body> tags staat. Alles wat je tussen de <head> tags zet, zet je in index.php.

Overigens heb je nu best een omslachtige tabellenstructuur, maak dit er eens van en zeg dan of het resultaat anders is.
PHP:
<table width="100%" style="border:1px solid black;">
 <tr>
  <td>
   <div align="center"><strong><font color="yellow">Home</font></strong></div>
  </td>
 </tr>
 <tr>
  <td width="100%" valign="top" height="59">
   <strong>
    <font size"1" color="#00FF00">
     Welkom op de website bla di bla. <br />  
     Dit is ff een test enz  <br />  
     Hoe ziet het er uit :)
    </font>
   </strong>
  </td>
 </tr>
</table>

Ik heb even de switch ergens gecontroleerd en zag dat ook aan het eind van de default een break moet, dus wijzig je default even in dit:
PHP:
default: 
  include("paginas/home.php");
break;
 
De switch heb ik bijgewerkt en de tabel ook, het enigste wat daaraan veranderd is, is dat de border die 'Home' van 'tekst' scheidt mist.

Voor de rest is dit inderdaad minder omslachtig, maar dat komt waarschijnlijk omdat ik er niet zo lang mee bezig ben en dat ik sinds een half jaar weer eens ben gaan beginnen om een website te maken. Toen heb ik nooit echt verder in verdiept en dat wil ik nu wel. Dit zijn dus ook handige 'schoonheden' waarmee je script en je html makkelijker te bekijken zijn.

Maar om weer terug te komen op de werkelijke vraag. Helaas heeft het veranderen van de switch er nog niet voor kunnen zorgen dat mijn pagina nu wel laadt:(
 
Zou je de pagina's willen zippen (Dus in een .zip bestand) en hier uploaden.

Lukt dat niet mail hem mij dan even door even een mailtje via het forum te sturen.
Dan kijk ik er hier even naar en dan zal ik hem hier uploaden.
 
Zie bijlage, volgens mij is dit het juiste resultaat toch? :(
 

Bijlagen

  • resultaat.jpg
    resultaat.jpg
    78,2 KB · Weergaven: 28
Ja en bij jou doet ie het? wat heb ik fout gedaan :o

De tabel met dat balkje eromheen waar normaal Home staat dat staat beter als wat ik eerst bedoelde:)

Maar hoe heb je dat gedaan:o
 
Niets:confused:

Even in de map van mijn webserver geplaatst en naar de pagina gesurft... Wellicht ligt het aan je webserver.

Welke instellingen het moet zijn zou ik niet weten.
 
haha, gewoon zo erg...

ach ja het is een 'simpele' server van Chello dus had eigenlijk niks anders moeten verwachten. Maar ben bezig met een Host nu dus dan doet ie het waarschijnlijk wel. Mijn vraag is dus in principe nu wel beantwoord :)

Dank je wel voor de moeite en de tijd Tha Devil :thumb:
 
Heb je geen PHP ondersteuning dan :shocked:

Dan is het logisch dat het niet werkte...:rolleyes:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan