Avatar billede hoejgaard Juniormester
09. januar 2006 - 17:30 Der er 22 kommentarer og
1 løsning

baggrundsfarve ses ikke

Jeg har dette herfra webcafe.dk  "simpel gæstebog".....

Jeg har dette i  design-funktioner.php    :

<?php

#
# Et par simple funktioner der bygger lidt HTML.
#

function top($titel) {

    $html = "<html><head><title>$titel</title><link rel=\"stylesheet\" type=\"text/css\" href=\"gbog-ting/stil.css\"></head><body>
        <h2>$titel</h2>";

    return $html;

}

function bund() {

    $html = "</body></html>";

    return $html;

}





Og i gbog.php har jeg så dette her... :






<?php

#####################################################################
#                                                                  #
#  Dette er en simpel gæstebog, stillet til rådighed af webcafe.dk  #
#        Skidtet er klampret sammen af claus@webclaus.com          #
#                                                                  #
#  Gennemgang af kode samt installationsvejledning finder du på:    #
#                                                                  #
#      http://webcafe.dk/artikler/php/phpmysqlgaestebog/          #
#                                                                  #
#####################################################################
require("gbog-ting/design-funktioner.php");

require("./gbog-ting/mysql-funktioner.php");


require("./gbog-ting/indstillinger.php");

#
# Vi skal have fat i vores variabler, uanset hvilken version af PHP der bruges
#

if(is_array($HTTP_GET_VARS)) {
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $start_nr = $_GET['start_nr'];
}

#
# Når folk kigger på gBogen første gang har de ikke noget $start_nr, så vi giver dem et nul,
# så de starter med det nyeste indlæg.
# Hvis en skuummel gæst selv prøver at sætte $start_nr kan den ende med at blive under nul,
# når man bruger navigationen. Hvis den er under nul laver vi den også om til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input
#

if(!$start_nr || $start_nr < 0) {
  $start_nr = 0;
}

#
# Udskriver den første stump HTML
#
?><center><table><tr><td>
<? echo top(" G&aelig;stebog for Robinson06"); ?>
</td></tr></table></center>

<?

#
# Vi henter to ting ud af MySQL - først og fremmest alle de indlæg vi skal kigge på
# men også en hurtig optælling af, hvor mange indlæg der er ialt. Det sidste skal vi
# bruge når vi bygger "frem"- og "tilbage"-links.
#
# Der er ingen grund til at åbne databasen endnu - vi skal først lige have bygget
# de to forespørgsler.
#

$sql = "select id, navn, epost, date_format(tid, '%e/%c %Y, %H:%i') as tiden, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen";
$taeller_sql = "select count(*) as antal from gaestebog";

#
# Nu åbner vi databasen, hiver informationerne ud og lukker med det samme igen.
# Det er god skik at en forbindelse til database ikke er åben længere end højst nødvendigt.
#
# Abstraktionerne fra mysql-funktioner.php sørger for alt det grove arbejde og fejlhåndtering - dejligt.
#

aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
$optaelling = sql_spoerg_og_faa_svar($taeller_sql);
luk_forbindelse();

#
# Så går vi igang med at bygge navigationen
# Først bruger vi extract til at få $antal ud til behandling.
# Vi looper ikke igennem resultatet, da vi ved der kun er een række,
# så vi tilgår den direkte ved $optaelling[0].
#

extract($optaelling[0]);

#
# Skal der laves et links til flere indlæg?
#

if($antal > ($start_nr + $antal_ad_gangen)) {
   
    $naeste_start_nr = $start_nr + $antal_ad_gangen;
    $naeste_nav = "<a href=\"$PHP_SELF?start_nr=$naeste_start_nr\">N&aelig;ste</a>";

} else {

    $naeste_nav = "<span class=\"doedt-link\">N&aelig;ste</span>";

}

#
# Skal der laves link til forrige indlæg?
#

if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {

    $forrige_start_nr = $start_nr - $antal_ad_gangen;
    $forrige_nav = "<a href=\"$PHP_SELF?start_nr=$forrige_start_nr\">Forrige</a>";

} else {

    $forrige_nav = "<span class=\"doedt-link\">Forrige</span>";

}

#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#

$nav = "<center><table width=\"$tabel_bredde\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">
    <tr><td align=\"left\" width=\"33%\">$forrige_nav</td>
    <td align=\"center\" width=\"34%\"><a href=\"skriv.php\">Skriv</a></td>
    <td align=\"right\" align=\"33%\">$naeste_nav</td></tr>
    </table></center>";

#
# Og skriver tabellen ud med det samme:
#

echo "$nav <p />";

#
# Her begynder det egentlig interesante - vi looper os igennem de enkelte indlæg
# og skriver dem ud til skærmen.
#
# Hvis forespørgslen ikke har returneret nogle resultater, springer vi alt dette over.
#

if(count($resultat) < 1) {

  echo "Der er ingen indl&aelig;g i gBogen";

} else {

  for($i=0;$i<count($resultat);$i++) {

    #
    # Med extract får vi smidt værdierne i variabler
    #
   
    extract($resultat[$i]);

    #
    # Vi brugte addslashes() da vi lagde tingene i databasen så for at få det til
    # at se læseligt ud, fjerne vi dem igen med stripslashes()
    #

    $besked = stripslashes($besked);
    $navn = stripslashes($navn);
    $epost = stripslashes($epost);

    #
    # Hvis der ikke må bruges HTML fjerner vi lige alle tags med htmlentities()
    #

    if($html_p != "t") {
        $navn = htmlentities($navn);
        $epost = htmlentities($epost);
        $besked = htmlentities($besked);
    }

    #
    # For at vi får linjeskift i HTML også, bruger vi nl2br til at skifte alle \n
    # ud med <br>

    $besked = nl2br($besked);

    #
    # Vi laver et simpelt check: Hvis eposten indeholder et snabel-a, så laver
    # vi det til en mailto:
    #
    # Dette er dog ingen garanti for, at eposten er gyldig.
    #

    if(ereg("@", $epost)) {
        $navn = "<a href=\"mailto:$epost\">$navn</a>";
    }

    #
    # Så er alt klart til browseren og vi spytter en tabel ud med denne besked.
    # Hvis du vil ændre markant i udseendet af din gæstebog, så er det
    # i blokken herunder det foregår. Du skal bare beholde de givne navne i
    # <input>-tagsene.
    #
    # Vi hopper lige ud af PHP-mode lidt, så vi er fri for at escape alle gåseøjnene.
    #

?>

    <center><table width="<?php echo $tabel_bredde; ?>" cellpadding="1" cellspacing="0" border="0">
        <tr><td class="gbog-baggrund" width="100%" align="center">

            <table border="0" cellpadding="8" cellspacing="0" width="100%">
                <tr><td class="gbog-top" width="100%">Skrevet af: <strong><?php echo $navn; ?></strong>, <?php echo $tiden; ?></td></tr>
            </table>

        </td></tr><tr><td class="gbog-baggrund" align="center" width="100%">

            <table border="0" cellpadding="8" cellspacing="0" width="100%">
                <tr><td class="gbog-bund" width="100%">
                <?php echo $besked; ?>
                <!-- <p align="right"><a class="slet" href="<?php echo "slet.php?id=$id&start_nr=$start_nr"; ?>"></a></p></td></tr> -->
            </table>

        </td></tr>
    </table></center><p />

<?php

  #
  # Vi hopper tilbage i PHP-mode.
  #
  # Her slutter loopet og PHP springer tilbage og går hele turen igennem med den næste
  # besked. Når der ikke er flere indlæg i denne omgang går PHP videre.
  #

  }

  #
  # Endelig skriver vi frem- og tilbage-links på i bunden af siden også.
  #

  echo $nav;

  #
  # Her slutter if-else-konstruktionen der fanger, om der er nogle indlæg overhovedet.
  #

}

#
# Og spytter den sidste stump HTML ud.
#

echo bund();

?>



Og dette i stil.css :

body, td, h2{font-family:verdana, helvetica, arial, sans-serif}

body{background-color:#E47B00}

.gbog-baggrund{color:black;background-color:#000000}
.gbog-top{background-color:#FF0000}
.gbog-bund{background-color:#dddddd}

.doedt-link{color:#dddddd}

a.slet{color:#ff0000;font-size:9px}

A {
color: #000000;



}








Men når jeg kommer ind på gbog.php er baggrundsfarven hvid, og ikke orange som den er sat til i stil.css ???
Kun når jeg opdaterer siden bliver farven orange ???
Avatar billede hoejgaard Juniormester
09. januar 2006 - 17:49 #1
prøv at kigge her...og opdater siden... så skifter baggrundsfarven...
http://playmygame.dk/gbog/gbog/gbog.php
Avatar billede hoejgaard Juniormester
09. januar 2006 - 17:55 #2
hmmm når jeg linker fra www.playmygame.dk (se link under "sidste nyt")så er baggrundfarven hvid.....??
Men ved at klikke på ovenstående er farven orange ??????????
og det er samme link der benyttes....
Avatar billede kimg Nybegynder
09. januar 2006 - 18:00 #3
Det virker fint begge dele, det lyder som om det er din browser der måske "cacher" du kan gå op i funktioner-internetindstillinger-indstillinger.
Og indstille det.
Kim
Avatar billede rednex Nybegynder
09. januar 2006 - 18:00 #4
Jeg vil tro (uden at have checket) at det skyldes at du refererer til stylesheetet med en relativ url (gbog-ting/stil.css). Det betyder at hvis du har en side på http://www.playmygame.dk vil den kigge efter stylesheetet på http://www.playmygame.dk/gbog-ting/stil.css.

Ret referencen til stylesheetet til en absolut url, så skulle det gerne virke over hele sitet.

F.eks.:

<link rel="stylesheet" type="text/css" href="/gbog/gbog/gbog-ting/stil.css">
Avatar billede hoejgaard Juniormester
09. januar 2006 - 18:40 #5
kimg

hvor indstiller jeg det henne mere præcist ???
Avatar billede hoejgaard Juniormester
09. januar 2006 - 18:48 #6
rednex... det virker ikke med dit foreslag.. der er bare en tom side..
Avatar billede rednex Nybegynder
09. januar 2006 - 18:52 #7
Har du husket at escape " ?

function top($titel) {

    $html = "<html><head><title>$titel</title><link rel=\"stylesheet\" type=\"text/css\" href=\"/gbog/gbog/gbog-ting/stil.css\"></head><body>
        <h2>$titel</h2>";

    return $html;

}
Avatar billede hoejgaard Juniormester
09. januar 2006 - 18:56 #8
rednex
det giver samme resultat med den hvide baggrund.. hvordan ser det ud hos dig nu ??
Avatar billede rednex Nybegynder
09. januar 2006 - 19:03 #9
Det ser fint ud her. Baggrunden er orange. Prøv lige at trykke F5 mens du kigger på g-bogen, så burde den opdatere.
Avatar billede hoejgaard Juniormester
09. januar 2006 - 19:12 #10
rednex.. hvad så når du klikker på næste og forrige.. så bliver baggrunden hvid igen....
Avatar billede hoejgaard Juniormester
09. januar 2006 - 19:13 #11
den bliver orange når jeg opdaterer, men det er jo ikke meningen man skal hvergang...
Avatar billede rednex Nybegynder
09. januar 2006 - 19:17 #12
Nej, men det skal man heller ikke hvis browseren ikke har cachet en side med fejl. Ryd cachen i din IE, så burde problemet være løst. Fejlen er jo rettet nu, så det skulle ikke opstå igen.
Avatar billede hoejgaard Juniormester
09. januar 2006 - 19:20 #13
tænker du på slet midlertidige internetfiler ???

og hvad sker hos dig når du klikker på næste og forrige ???
Avatar billede rednex Nybegynder
09. januar 2006 - 19:32 #14
Det fungerer også fint med næste og forrige. Du skal slette de midlertidige internetfiler.

Problemet er at IE (hos dig) har gemt siden fra dengang der var fejl i. Når du så går ind på siden igen, henter den sin lokale kopi i stedet for at hente den rettede fil fra serveren. Derfor får du en hvid baggrund hver gang. Hvis du sletter de lokale kopier (midlertidige internetfiler), så er den tvunget til at hente den opdaterede version fra nettet.
Avatar billede hoejgaard Juniormester
09. januar 2006 - 19:45 #15
har slettet de midlertidige.. men ved næste og forrige bliver baggrunden stadig hvid......???????
Avatar billede rednex Nybegynder
09. januar 2006 - 19:55 #16
Hmm, det lyder skumelt. Har du prøvet at lukke alle browser vinduer og starte forfra?

Ellers kan du indsætte følgende meta tags i <head> sektionen:

<META HTTP-EQUIV="expires" CONTENT="Wed, 20 Feb 2000 08:30:00 GMT">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">

De skulle gerne prøve at overbevise browseren om at den ikke skal gemme siderne.
Avatar billede hoejgaard Juniormester
09. januar 2006 - 20:01 #17
okay vil prøve begge dele.. fordi hvis jeg sletter filerne så virker det indtil jeg klikker på næste eller forrige...
Avatar billede hoejgaard Juniormester
09. januar 2006 - 21:44 #18
hmmm.. har genstartet pc og alt muligt, men er nødt til at slette filer for hvergang jeg klikker på næste side, ellers bliver baggr. farven hvid....
Avatar billede rednex Nybegynder
09. januar 2006 - 22:00 #19
Hmm, nu har jeg lige prøvet i IE (jeg bruger FireFox normalt) og den gør sq det samme her... Scriptet fejler som sådan ikke noget, men jeg tror du skal øve dig lidt i HTML.

Jeg kørte din side igennem W3C's Validator service, og der er ikke så meget at sige til at browseren kløjes i det. Det er ikke engang tæt på at være valid HTML.

http://validator.w3.org/check?uri=http%3A%2F%2Fplaymygame.dk%2Fgbog%2Fgbog%2Fgbog.php%3Fstart_nr%3D5

Jeg synes du skal prøve at på fixet det først - så skal det nok fungere efter hensigten.
Avatar billede hoejgaard Juniormester
09. januar 2006 - 23:34 #20
okay det må jeg kigge på, men det sjove ar at jeg har kopieret det fra webcafe.dk og jeg troede deres scipts var rimeligt iorden...
Avatar billede rednex Nybegynder
09. januar 2006 - 23:41 #21
Hvis deres scripts er postet af brugerne uden videre kontrol (ligesom artiklerne her på exp), så kan kvaliteten jo variere voldsomt alt efter forfatterens evner.
Avatar billede hoejgaard Juniormester
10. januar 2006 - 01:41 #22
oksy det var noget html kode der konfliktede....
læg et svar rednex som tak for din hjælp ;-)
Avatar billede rednex Nybegynder
10. januar 2006 - 01:47 #23
Det var så lidt :o)

Det var da godt at det lykkedes til sidst, selvom det tog noget tid :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester