Avatar billede ej147 Nybegynder
24. september 2014 - 14:26 Der er 22 kommentarer og
1 løsning

Besynderlig opførsel af HTML/PHP i Chrome

Min hjemmeside opfører sig en anelse besynderlig, når den vises i Google Chrome+Explorer - men perfekt i Firefox.
Sagen er som følger:
Når jeg klikker på punktet "Info" eller vælger "Gedcom indhold" under Slægtsforskning, så hopper skærmbilledet en tak nedad øverst i skærmen i Chrome og Explorer, men bliver stående fast i Firefox. Og det er kun ved de 2 punkter, at det sker - ingen andre.
Er der nogen af jer, der har en ide til hvad det kan skyldes?
Måske noget kode???
Begge de 2 nævnte steder har jeg en overskrift med <h4> og jeg har prøvet at skifte den ud med <p> men lige meget hjælper det.
Noget besynderligt at det kun er ved de 2 punktet at det sker????
Avatar billede repox Seniormester
24. september 2014 - 14:50 #1
For andre interesserede: http://www.zerious.dk/

Du har en klump text der echoes ud lige efter body tagget på siden.
Avatar billede ej147 Nybegynder
24. september 2014 - 15:03 #2
Jeg er ikke med på hvad du mener???
Kan du evt. ikke skære det ud i pap og evt. hvordan jeg løser det?
Avatar billede ej147 Nybegynder
24. september 2014 - 15:04 #3
Nåh ja, jeg glemte at skrive min hjemmeside, men det gjorde du - tak for det :-)
Avatar billede repox Seniormester
24. september 2014 - 15:12 #4
Jeg kan ikke fortælle dig hvordan du skal løse det uden at se den aktuelle kode. Men siden med det ekstra luft er bygget op på en anden måde, så vidt jeg kan se via kildekoden.
Avatar billede ej147 Nybegynder
24. september 2014 - 15:23 #5
Koden til "Info" er her:

        <div id="info">
        <form>
        <h4>Tællerfunktionen er indsat den 23 januar 2014.</h4>
<?php
echo '<table id="tabletaeller">';
echo("<tr><td>Idag har der hidtil været&nbsp;:.$daghit besøgende på siden</tr></td>");
echo("<tr><td>Og for hele månedet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:.$maanedhit</td></tr>");
echo("<tr><td>Det bliver på årsbasis til&nbsp;:.$aarhit ialt</td></tr>");
echo("<tr><td>Og siden tællerstart ialt&nbsp;&nbsp;:.$ny_count besøgende</tr></td>");
echo '<table>';
?>
        <h4>Tak for besøget!</h4>

        <div id="tid">
<?php
$m_navn = array(1 => 'januar','februar','marts','april','maj','juni','juli','august','september','oktober','november','december');
$d_navn = array('søndag','mandag','tirsdag','onsdag','torsdag','fredag','lørdag');

$d = date('d');
$n = date('n');
$w = date('w');
$y = date('Y');

echo "Senest opdateret - $d_navn[$w] d. $d $m_navn[$n] $y ". date("");
?>
        </div>
        <p>Såfrem du finder fejl i min slægtsforskning - og det kan jo ske - eller har forslag
        til forbedringer af denne hjemmeside - også det kan sagtens tænkes - ja!, så er du mere end velkommen til
        at gøre mig opmærksom på det. På forhånd - tak for hjælpen.</p>
        </form>
        </div>
</div>
</body>


Og koden til "Statistik" er her:
        <div id="stati">
        <form>
        <h4>Min slægtsforskning består i øjeblikket af:</h4>
        <div  id="container">
        <div  id="td_1"><img src="../images/leftside.jpg" /></div>
        <div id="td_2">
<?php
while($row=mysql_fetch_array($data))
{
$ukendt = $row['total'] - $row['male'] - $row['female'];
echo "<tr><td>" . $row['total'] . " personer</td></tr><br>";
echo "<tr><td>------------------------------------------</tr></td><br>";
echo "<tr><td>Af dem er der " . $row['male'] . " mænd</tr></td><br>";
echo "<tr><td>og " . $row['female'] . " kvinder</tr></td><br>";
echo "<tr><td>desuden $ukendt børn af ukendt køn</tr></td><br>";
echo "<tr><td>------------------------------------------</tr></td><br>";
echo "<tr><td>Det bliver til " . $row['families'] . " familier ialt.</tr></td><br>";
}
mysqli_close($con);
?>
        </div>
        <div  id="td_3"><img src="../images/rightside.jpg" /></div>
          </div>
        <p>Når først hjemmesiden er gjort helt brugbar,<br>vil dette punkts indhold blive mere fyldestgørende,<br>
        men lige nu må du væbne dig med tålmodighed.</p>
          </form>
        </div>
</div>
</body>
</html>

Der er faktisk bygget ret ens op, men jeg kan ikke se nogen fejl???
Avatar billede ej147 Nybegynder
24. september 2014 - 15:24 #6
Håber du har en ide til løsning af problemet :-)
Avatar billede repox Seniormester
24. september 2014 - 15:43 #7
Nå, jeg fandt issuet et andet sted:

<meta name="Description" content="Slægtsforskning om Weyhe, Gruber, Schwartz, Stilling, Rademacher, Lumbye, Andersen, Jensen />

Der mangler en " til at afslutte content attributten. Prøv at rette det til.
Avatar billede ej147 Nybegynder
24. september 2014 - 15:57 #8
Men på det punkt er alle sider ens?????
jeg prøver lige at rette dem alle og se om fejlen er der - vender tilbage.
Avatar billede ej147 Nybegynder
24. september 2014 - 16:02 #9
Har lige chekket i Chrome - det ændrer intet???
Avatar billede ej147 Nybegynder
24. september 2014 - 16:45 #10
Kan det have noget med PHP at gøre, siden de 2 nævnte sider er de eneste, hvor jeg bruger PHP?
Avatar billede showsource Seniormester
24. september 2014 - 19:14 #11
Lav en "layout.php" hvor du har alle ting defineret som du bruger på hver side.
Og brug php på dem alle sider og include "layout.php" i starten.


http://www.zerious.dk/slaegt/slaegt.html har du en include af db.php i din kode.

Med andre ord:
Det er nemt at få rodet sig ud i noget "snavs" når man laver flere sider, som egentlig er ens i opbygning, men er lavet på hver deres fil
Avatar billede ej147 Nybegynder
24. september 2014 - 19:28 #12
Hmm..., jeg kan godt forestille mig, at du har ret i det her.
Bliver index.html så til "layout.php" - og dernæst includeret på de andre sider, der kun indeholder alt andet?
Avatar billede ej147 Nybegynder
24. september 2014 - 19:31 #13
Jeg ved ikke om jeg fik sagt det her korrekt, men....
Mener du at index.html (eller index.php)kun skal indeholde forside og alle de andre sider skal have en include til forsiden?
Avatar billede ej147 Nybegynder
24. september 2014 - 19:35 #14
Og kan jeg have flere include på en side f.eks:
include db.php og include layout.php?
Avatar billede showsource Seniormester
24. september 2014 - 19:43 #15
ex. på "layout.php" ( utestet)
<?php

function startbody($title="Forside") {

echo"<html><head><title>".$title."</title>\r\n";
echo"<link href=\"/styles/index.css\" rel=\"stylesheet\" type=\"text/css\" media=\"screen\" />\r\n";
echo"<body>\r\n";
echo"<div id=\"wrapper\">\r\n";

}



function endbody() {

echo"</div>\r\n";
echo"</body></html>";

}

?>


På alle dine php sider bruger du så include("layout.php") for at kunne bruge div. funktioner.


<?php
include("layout.php");

startbody("Min kontaktside");

endbody();

?>

<?php
include("layout.php");

startbody("Billeder fra i sommers");

endbody();

?>


Læg iøvrigt mærke til at jeg bruger / til at definere stien hvorfra stylesheet skal hentes.
/ betyder "roden" af dit webdomæne.
Nyttigt hvis du bruger dirs på dit domain, og skal henvise til en fil.
Avatar billede showsource Seniormester
24. september 2014 - 19:47 #16
Du kan include "hvad du vil", men hold styr på dine outputs !!!!!

Altså en simpel connect til db laver jo kun output hvis den fejler og php er sat op til at vise fejl.
Et mellemrum før startende php-tag er også et output elvom det ikke kan ses !
Avatar billede showsource Seniormester
24. september 2014 - 19:51 #17
En lidt anden måde at kode på men med samme resultat:

function startbody($title='Forside') {

echo'<html><head><title>'.$title.'</title>
<link href="/styles/index.css" rel="stylesheet" type="text/css" media="screen" />
<body>

<div id="wrapper">';

}



function endbody() {

echo'</div>
</body></html>';

}

?>

Smag og behag anyway.
Avatar billede showsource Seniormester
24. september 2014 - 19:58 #18
Bruger iøvrigt IE8 som testbrowser.
Din forside er vidt forskellig for Firefox og IE8
Mens kontaktsiden er helt ens.

Udover at der intet baggrundsbillede er på nogen side med IE8 (noget med dit stylesheet formodentlig)
Avatar billede ej147 Nybegynder
24. september 2014 - 20:10 #19
Må man bande i det her forum :-)
Undrer mig over det du skriver med manglende baggrundsbillede i IE8??? men lad det ligge.
Jeg prøvede faktisk at lave min side enkel fra starten, da jeg tænkte, at det ville være det nemmeste i den her læreproces, men men men...
Men jeg kan godt se at det faktisk kan gøres nemmere - altså forfra.
Tak for hjælpen - smid venligst et svar.
Avatar billede showsource Seniormester
24. september 2014 - 21:18 #20
Øhh, ok

Prøv evt. denne:

modified.php:
<?php
echo date("d-m-Y H:i:s", filemtime(__FILE__));
?>

__FILE__ er den fil som det står i !!!

Der er forskel på om det er en fil som includes eller er den som viser på siden.

index.php
<?php
include("modified.php");
?>
vil vise hvornår modified.php er blevet ændret.

Hvis du gerne vil ha' danske navne med på dage/måneder, kan du bruge setlocale() først, eller indeksere dit array med navne. ( min foretrukne)

1->Mandag, 2->Tirsdag o.s.v.

Tjek manualen for date()
Avatar billede showsource Seniormester
24. september 2014 - 21:23 #21
Avatar billede ej147 Nybegynder
24. september 2014 - 21:25 #22
Ok, jeg prøver mig frem med de eksempler du har givet her, så må jeg se hvad slut resultatet bliver.
Tusind tak for hjælpen :-)
Avatar billede ej147 Nybegynder
24. september 2014 - 21:32 #23
Tak for dine links - de er også brugbare. Og nu har jeg en klar ide om hvad jeg skal gøre.
Så fik jeg sat svar med mig selv, hvilket selvfølgelig var åbenlyst forkert, aner ikke hvorfor det skete, men det burde være i orden nu.
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