Refresh iedere 5 seconde
Ik ben bezig met het maken van een systeem.
Nu loop ik tegen een probleem aan en dat is het volgende.
Ik heb een pagina gemaakt genaamd: logs.php. Deze include ik op mijn index.php zodra pagina=logs.
Nu wil ik dat deze pagina iedere 5 seconde herlaad zonder dat heel de pagina refreshd. Dit wil ik ook alleen als pagina=logs.
Hier onder de code die in logs.php staat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$LogId = mysql_query("SELECT * FROM tbl_log ORDER BY datum DESC");
echo "
<h1>Logs</h1><br />
";
while($LogInfo = mysql_fetch_assoc($LogId)){
echo "- <i>".$LogInfo['datum']." ".$LogInfo['gebruiker']."</i> ".$LogInfo['handeling']."<br />";
}
?>
$LogId = mysql_query("SELECT * FROM tbl_log ORDER BY datum DESC");
echo "
<h1>Logs</h1><br />
";
while($LogInfo = mysql_fetch_assoc($LogId)){
echo "- <i>".$LogInfo['datum']." ".$LogInfo['gebruiker']."</i> ".$LogInfo['handeling']."<br />";
}
?>
Wie o wie kan mij verder helpen?
Met vriendelijke groet,
Dimitri Geers
Toevoeging op 05/06/2014 15:14:00:
Hier trouwens de code waarmee ik de logs.php ophaal op mijn index pagina.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
if(isset($_GET['pagina'])) {
switch($_GET['pagina']) {
case "uitloggen":
include('pagina/uitloggen.php');
break;
case "gebruiker":
include('pagina/gebruiker-overzicht.php');
break;
case "nieuws":
include('pagina/nieuws-overzicht.php');
break;
case "pagina":
include('pagina/pagina-overzicht.php');
break;
case "menu":
include('pagina/menu-overzicht.php');
break;
case "rangen":
include('pagina/rangen-overzicht.php');
break;
case "logs":
include('pagina/logs.php');
break;
case "gebruiker-wachtwoord":
if(isset($_GET['nid'])) {
include('pagina/gebruiker-wachtwoord.php');
}else{
include('pagina/gebruiker.php');
}
break;
}
}else{
include('pagina/home.php');
}
?>
if(isset($_GET['pagina'])) {
switch($_GET['pagina']) {
case "uitloggen":
include('pagina/uitloggen.php');
break;
case "gebruiker":
include('pagina/gebruiker-overzicht.php');
break;
case "nieuws":
include('pagina/nieuws-overzicht.php');
break;
case "pagina":
include('pagina/pagina-overzicht.php');
break;
case "menu":
include('pagina/menu-overzicht.php');
break;
case "rangen":
include('pagina/rangen-overzicht.php');
break;
case "logs":
include('pagina/logs.php');
break;
case "gebruiker-wachtwoord":
if(isset($_GET['nid'])) {
include('pagina/gebruiker-wachtwoord.php');
}else{
include('pagina/gebruiker.php');
}
break;
}
}else{
include('pagina/home.php');
}
?>
Kijk eens naar ajax.
Ken je daar toevallig een tutorial van?
Toevoeging op 05/06/2014 15:41:13:
Ik kan dit niet echt vinden op die website.
JavaScript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$(document).ready(function(){
loadData();
function loadData() {
$.ajax({
url: "script.php",
cache: false,
success: function(html){
$(".result").empty().html(html);
setTimeout(function () {
loadData();
}, 5000);
},
error:function (xhr, ajaxOptions, thrownError){
$(".result").empty().html('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
}
});
loadData();
function loadData() {
$.ajax({
url: "script.php",
cache: false,
success: function(html){
$(".result").empty().html(html);
setTimeout(function () {
loadData();
}, 5000);
},
error:function (xhr, ajaxOptions, thrownError){
$(".result").empty().html('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
}
});
HTML:
Gewijzigd op 05/06/2014 16:51:55 door - Ariën -
En wat moet daar tussen staan?
Alvast bedankt!
Gewijzigd op 05/06/2014 16:10:17 door - Ariën -
Waar moet deze komen dan? In de script.php of op de pagina waar ook de ajax code staat?
Door middel van de JavaScript-code wordt deze elke 5 seconden opgehaald en ververst.
De HTML-code voor de 'result' komt op de plek waar jij alles inhoud wenst te tonen.
Ik hoop dat het duidelijk is zo?
Gewijzigd op 05/06/2014 16:17:14 door - Ariën -
logs.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<script>
$(document).ready(function(){
function loadData() {
$.ajax({
url: "log.php,
cache: false,
success: function(html){
$(".result").empty().html(html);
setTimeout(function () {
loadData();
}, 5000);
},
error:function (xhr, ajaxOptions, thrownError){
$(".result").empty().html('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
}
loadData();
});
</script>
<div class="result"> </div>
$(document).ready(function(){
function loadData() {
$.ajax({
url: "log.php,
cache: false,
success: function(html){
$(".result").empty().html(html);
setTimeout(function () {
loadData();
}, 5000);
},
error:function (xhr, ajaxOptions, thrownError){
$(".result").empty().html('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
}
loadData();
});
</script>
<div class="result"> </div>
log.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$LogId = mysql_query("SELECT * FROM tbl_log ORDER BY datum DESC");
echo "
<h1>Logs</h1><br />
";
while($LogInfo = mysql_fetch_assoc($LogId)){
echo "- <i>".$LogInfo['datum']." ".$LogInfo['gebruiker']."</i> ".$LogInfo['handeling']."<br />";
}
?>
$LogId = mysql_query("SELECT * FROM tbl_log ORDER BY datum DESC");
echo "
<h1>Logs</h1><br />
";
while($LogInfo = mysql_fetch_assoc($LogId)){
echo "- <i>".$LogInfo['datum']." ".$LogInfo['gebruiker']."</i> ".$LogInfo['handeling']."<br />";
}
?>
Die hele JavaScript-code zou ik in een los .js-bestand zetten voor het gemak. Dan houd je JavaScript en HTML gescheiden van elkaar. Een stuk overzichtelijker.
Gewijzigd op 05/06/2014 16:24:24 door - Ariën -
Hij laat de inhoud van log.php niet zien.
- Bestaat die pagina wel?
- jQuery library toegevoegd?
- Fouten in je JS-console? (Ctrl+Shift+J)
En werkt log.php verder wel goed, ondanks er foutafhandeling mist.
Zet loadData(); anders eens bovenaan, zoals ik nu in mijn code nu heb staan?
Gewijzigd op 05/06/2014 16:27:54 door - Ariën -
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
Toevoeging op 05/06/2014 16:27:41:
Uncaught SyntaxError: Unexpected token ILLEGAL
die fout krijg ik
En waar refereert die foutmelding naar?
dat staat er achter.
Gewijzigd op 05/06/2014 16:35:22 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<div id="content">
<script>
$(document).ready(function(){
function loadData() {
$.ajax({
url: "log.php,
cache: false,
success: function(html){
$(".result").empty().html(html);
setTimeout(function () {
loadData();
}, 5000);
},
error:function (xhr, ajaxOptions, thrownError){
$(".result").empty().html('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
}
loadData();
});
</script>
<div class="result"> </div>
</div>
<script>
$(document).ready(function(){
function loadData() {
$.ajax({
url: "log.php,
cache: false,
success: function(html){
$(".result").empty().html(html);
setTimeout(function () {
loadData();
}, 5000);
},
error:function (xhr, ajaxOptions, thrownError){
$(".result").empty().html('Er is een fout opgetreden:'+ xhr.status + ' '+ thrownError);
}
});
}
loadData();
});
</script>
<div class="result"> </div>
</div>
Verhuis loadData(); eens naar boven na je jQuery-ready-function.
Heb je geen voorbeeld die we in kunnen zien?
www.ldekrakertransport.nl/dimitri-geers-cms/
gebruikersnaam: test
wachtwoord: test
vervolgens in het menu op logs klikken.
gebruikersnaam: test
wachtwoord: test
vervolgens in het menu op logs klikken.