Pagina herladen

Status
Niet open voor verdere reacties.

Clank

Gebruiker
Lid geworden
24 nov 2007
Berichten
130
Hoe moet je met een php functie eens in de zoveel tijd een pagina herladen?

EDIT: en dan ook meteen naar beneden laten scrollen
 
Laatst bewerkt:
aanschouw
PHP:
header(refresh: 5 url="#plaats");
de 5 staat voor de aantal seconden
en dan tot waar je hem wil laten scrollen
PHP:
echo "<a name=\"plaats\">"

De 2 namen plaats moeten natuurlijk hetzelfde zijn
 
Laatst bewerkt:
srry ik kom dr echt niet uit.... alles is nu af, hij moet alleen nog naar beneden refreshen iedere keer, heeft iemand anders ff een voorbeeld? want er moet ook session start enzo bij...

maar alvast bedankt:thumb:
 
Beste Clank,

De oplossing van Knetter is een werkende oplossing, alleen is de syntax niet helemaal netjes/compleet.

Allereerst stelt hij een header() in. Headers zijn gegevens die worden verstuurd vóór de inhoud van de pagina. Het bevat gegevens zoals het type bestand (html, pdf enz), datum waarop het document gemaakt is enz. enz. De browser weet hierdoor hoe hij om moet gaan met het document. Headers moeten vóór de inhoud van de pagina worden verstuurd, dus voor de eerste echo.

De code, die dus zo ver mogelijk bovenaan in je PHP bestand moeten komen:
PHP:
header('refresh: 5 url="hetbestand.php");

hetbestand.php moet vanzelfsprekend worden vervangen door het bestand dat herladen moet worden.

Om ervoor te zorgen dat de pagina wordt geopend met de onderkant van de pagina zichtbaar, kun je een anchor gebruiken. Zoals Knetter liet zien, kun je dit doen met <a name="anchornaam"></a>. Wanneer je nu #anchornaam achter de URL typt, opent hij de pagina ter hoogte van de <a name="anchorname"></a>. Maak je dus van de PHP het volgende:
PHP:
header('refresh: 5 url="hetbestand.php");

Succes

Wout
 
okay bedankt:thumb: nou ga k ff kijken of k ook de pagina kan laten herladen, dat doet ie namelijk niet
:(
 
yep tis officieel niet gelukt om te laten refreshen, kan iemand ff helpen?
 
Je zou ook header("Refresh: 5"); kunnen proberen. Let er wel op dat er vóór deze header géén html code (of andere output) mag staan.
 
nee, lukt ook niet, misschien komt het doordat je dan 2 headers hebt?
 
Hey Clank,

Kun je even (een deel) van je code plaatsen. En je PHP versie (in een document phpinfo(); schrijven en je krijgt een pagina met alle informatie waar het versie nummer tussen staat).

Wout
 
http://www.gamereviews.bc-inf.nl/phpinfo.php

tadaaaa! hier de phpinfo

en hier dan de code (alleen het bovenste gedeelte):
Code:
<?php
header("Refresh: 5"); 
header('refresh: 0 url="chatbox.php#beneden"');  
?>
<html>
<head>
<title>Chatbox</title>
<?php
$nickname = $_POST["nickname"];
$kleur = $_POST["kleur"];
$message = $_POST["message"];
$handle = fopen("saved.txt", "a+");
...
...
 
Hoi Clank,

Je hebt in de geplaatste code een dubbele header staan, dat zou kunnen verklaren waarom het niet werkt :-).

PHP:
<?php
header("Refresh: 5"); 
header('refresh: 0 url="chatbox.php#beneden"');  
?>

Vervangen door
PHP:
<?php
header('refresh: 5 url="chatbox.php#beneden"');  
?>

Wout
 
nope, werkt niet:( maar hij moet ook beginnen met meteen naar beneden.
 
Beste Clank,

Probeer deze code is in een los document te uploaden. Ik heb het getest, en het zou moeten werken :-).

PHP:
<?php
	header('refresh: 5 url="test.php#bottom"');
	for($i=0;$i<=50;++$i){
		echo $i;
		echo '<br />';
	}
	echo '<a name="bottom">De onderkant</a>';
?>

Als het werkt dan kun je de codes in je definitieve document plakken :-).

Wout
 
krijg k weer hetzelfde. hij refresht dan wel maar dat doet ie maar 1 keer... ik wil dat hij iedere seconde 1 x refreshed.
 
Ik heb het scriptje even uitgevoerd en wanneer ik de "#bottom" van de url afhaal doet ie het wel.

Een andere oplossing is misschien het refreshen naar dezelfde pagina (dus zonder #bottom) en dan een javascriptje de pagina door laten scrollen naar #bottom.
 
das idd geen slecht idee
gwn proberen

maar waar haal k dat javascript vandaan? k ben daar neit zo goed mee
 
dat javascript heb ik maar kun je ook een header en een cookie tegelijk gebruiken?

want hij geeft een erro...:(

edit, het is dit stukje

if(isset($_POST['nickname']))
{
$nickname = $_POST['nickname'];
setcookie("nickname", $_POST["nickname"], time()+3600);
}
else
{
$nickname = $_COOKIE['nickname'];
}
 
Laatst bewerkt:
Ik zou deze code gebruiken (net zelf geschreven, werkt in FF en IE7):
PHP:
<script type = "text/javascript">
function anchorScroll(anchorName) {
	location.hash = anchorName;
}
</script>

Zet deze code bínnen je head-tags van je pagina.

Dit wordt dan je nieuwe body-tag:
PHP:
<body onload = "javascript: anchorScroll('beneden');">
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan