PHP / Javascript logging
Mijn kennis van Javascript / Jquery is momenteel helaas te beperkt.
Wat ik zoek is een logging oplossing welke wordt aangeroepen middels een mouseover.
De loggingfunctie is in PHP geschreven, en bestaat uit 5 variabelen:
logging(var1,var2,var3,var4,var5).
Echter zodra ik deze logging in de mouseover aanroep, loopt hij alle getoonde records in de log.
Wat ik nodig heb is een Javascript oplossing waarbij bij een mouseover, de 5 variabelen naar een MySQL database worden geschreven.
Heeft iemand een voorbeeld / idee hoe ik dit kan maken?
Wat ik zoek is een logging oplossing welke wordt aangeroepen middels een mouseover.
De loggingfunctie is in PHP geschreven, en bestaat uit 5 variabelen:
logging(var1,var2,var3,var4,var5).
Echter zodra ik deze logging in de mouseover aanroep, loopt hij alle getoonde records in de log.
Wat ik nodig heb is een Javascript oplossing waarbij bij een mouseover, de 5 variabelen naar een MySQL database worden geschreven.
Heeft iemand een voorbeeld / idee hoe ik dit kan maken?
Dat roept om AJAX. Dus, je koppelt 'mouseover'-event aan een functie die asynchroon een url aanroept. Dat zal dus niet rechtstreeks de logging(var1,etc.) functie zijn, maar een url. Naast de url kun je GET of POST waarden meegeven.
Ok, dat verklaard dat het niet werkt.
Ken je toevallig een tutorial waar ik iets meer een idee krijg hoe ik dat kan maken?
AJAX / Javascript / Jquery is not my cup of thea :(
Ken je toevallig een tutorial waar ik iets meer een idee krijg hoe ik dat kan maken?
AJAX / Javascript / Jquery is not my cup of thea :(
Met name de jQuery AJAX documentatie is uitgebreid en (naar mijn nederige mening) zeer toegankelijk.
Alles is makkelijk als je weet hoe het werkt..
Toevoeging op 23/01/2018 21:13:24:
Hoe kan ik na deze mouseover loggegevens gaan loggen waaronder de $userid ?
Toevoeging op 23/01/2018 21:13:24:
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
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#div0").mouseover(function(){
$.ajax({ ?? });
});
});
</script>
</head>
<body>
<div id="div0">Hier de mouseover $userid </div>
</body>
</html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#div0").mouseover(function(){
$.ajax({ ?? });
});
});
</script>
</head>
<body>
<div id="div0">Hier de mouseover $userid </div>
</body>
</html>
Hoe kan ik na deze mouseover loggegevens gaan loggen waaronder de $userid ?
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 23/01/2018 22:01:32 door - Ariën -
De userid is neem ik aan bekend op de server, dus niet meezenden met AJAX.
$userid en $imagenumber had ik graag in de log gehad.
Hoe bouw ik de rest op ? (hetgeen tussen de ?? staat) ?
Hoe bouw ik de rest op ? (hetgeen tussen de ?? staat) ?
Een voorbeeldje:
Zie ook: http://api.jquery.com/jquery.ajax/ (onderaan)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$.ajax({
method: "POST",
url: "script.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
method: "POST",
url: "script.php",
data: { name: "John", location: "Boston" }
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
Zie ook: http://api.jquery.com/jquery.ajax/ (onderaan)
Deleted.
Gewijzigd op 23/01/2018 22:00:51 door Nick Vledder
Of je GET of POST moet gebruiken, ligt aan je script die je opvraagt.
Voor AJAX geef ik vaak de voorkeur aan GET als het minimaal aantal waarden zijn. Als het een heel formulier is, kies ik voor POST.
Verder kan je in het .done event bepalen wat er moet gebeuren als de AJAX-request gelukt is. In dit voorbeeld is het een alert die er wordt getoond. Maar je kan ook andere jQuery-bewerkingen uitvoeren, door HTML-elementen aan te passen.
Voor AJAX geef ik vaak de voorkeur aan GET als het minimaal aantal waarden zijn. Als het een heel formulier is, kies ik voor POST.
Verder kan je in het .done event bepalen wat er moet gebeuren als de AJAX-request gelukt is. In dit voorbeeld is het een alert die er wordt getoond. Maar je kan ook andere jQuery-bewerkingen uitvoeren, door HTML-elementen aan te passen.
Gewijzigd op 23/01/2018 21:51:17 door - Ariën -
Tot zover is het helder..
data: { name: "John", location: "Boston" }
Hoe krijg ik voor John en Boston een variabele meesturen?
Zoals:
data: { name: $uid, imgid: $imgid }
data: { name: "John", location: "Boston" }
Hoe krijg ik voor John en Boston een variabele meesturen?
Zoals:
data: { name: $uid, imgid: $imgid }
Geen $ gebruiken, en defineren met een var.
Zie ook: https://www.w3schools.com/js/js_variables.asp
Code (php)
1
2
3
4
5
2
3
4
5
var uid = 42;
var imgid = 2;
// En verderop in je $.ajax() functie:
data: { name: uid, imgid: imgid }
var imgid = 2;
// En verderop in je $.ajax() functie:
data: { name: uid, imgid: imgid }
Zie ook: https://www.w3schools.com/js/js_variables.asp
Gewijzigd op 23/01/2018 21:57:12 door - Ariën -
EDIT Ariën postte gelijktijdig, maakt deze post overbodig...
Nog even en het werkt ;)
De bedoeling is dat het script de gegevens van de mouseover doet loggen.
In dit geval is het de url (of id) van de foto, alsook de userid.
Hoe kan ik deze meesturen tijdens deze mouseover?
Anders gezegd.. de 42 en de 2 moeten dynamisch worden meegegeven aan script.php
De bedoeling is dat het script de gegevens van de mouseover doet loggen.
In dit geval is het de url (of id) van de foto, alsook de userid.
Hoe kan ik deze meesturen tijdens deze mouseover?
Anders gezegd.. de 42 en de 2 moeten dynamisch worden meegegeven aan script.php
Gewijzigd op 23/01/2018 22:08:43 door Ad Vertentie
Komen die uit php? Dan kan je met PHP die JavaScript var's gewoon vullen met die waardes.
Utieraard kan je die variabelen met die data ook direct aanroepen in je script-blok. Daar hoef je geen variabelen voor te kopiëren, maar voor de duidelijkheid heb ik dit wel even gedaan.
Code (php)
Utieraard kan je die variabelen met die data ook direct aanroepen in je script-blok. Daar hoef je geen variabelen voor te kopiëren, maar voor de duidelijkheid heb ik dit wel even gedaan.
Gewijzigd op 23/01/2018 22:13:02 door - Ariën -
Wauw! :)
Ik maar denken dat je geen PHP daarin zou mogen gebruiken.
Thx! Nu gaat het goedkomen :)
Ik maar denken dat je geen PHP daarin zou mogen gebruiken.
Thx! Nu gaat het goedkomen :)
Waarom zou dat niet mogen? PHP is het eerste wat er uitgevoerd wordt bij een request naar een PHP-ondersteunende webserver. Die serveert de output naar de client, en die voert de JavaScript code dan uit en heeft geen enkele weet van PHP nodig.
Je kan die PHP-variabelen ook direct in de $.ajax() fucntie bij de 'data' plaatsen. maar vaak staat die code weer in een .js bestand, en dan kan je weer geen PHP daarin uitvoeren. Dus maken we die maar in het HTML-document aan waar PHP wel weer werkt.
Je kan die PHP-variabelen ook direct in de $.ajax() fucntie bij de 'data' plaatsen. maar vaak staat die code weer in een .js bestand, en dan kan je weer geen PHP daarin uitvoeren. Dus maken we die maar in het HTML-document aan waar PHP wel weer werkt.
Gewijzigd op 23/01/2018 22:23:52 door - Ariën -
Na e.e.a. te hebben getest, kwam het volgende probleem boven, unieke waardes meegeven aan een div.
Ik had er het volgende op bedacht, het werk alleen niet.
Wat doe ik verkeerd?
<script>
var userid = ;
var titles = $(this).attr('title');
$(document).ready(function(){
$('#div0').on('mouseover', 'td', function(){
$.ajax({
method: "GET",
url: "molog_script.php",
data: { uid: userid, img: titles }
})
});
});
</script>
Ik had er het volgende op bedacht, het werk alleen niet.
Wat doe ik verkeerd?
<script>
var userid = ;
var titles = $(this).attr('title');
$(document).ready(function(){
$('#div0').on('mouseover', 'td', function(){
$.ajax({
method: "GET",
url: "molog_script.php",
data: { uid: userid, img: titles }
})
});
});
</script>
Code (php)
Gewijzigd op 01/02/2018 05:30:06 door Ad Vertentie
Kan je code-tags toevoegen?
Wat zegt je JavaScript debugger? En je Developer-tools van je browser, en met name je Netwerk-tab. jQuery ingeladen? Netjes jQuery gestart met .ready aan het begin?
Wat zegt je JavaScript debugger? En je Developer-tools van je browser, en met name je Netwerk-tab. jQuery ingeladen? Netjes jQuery gestart met .ready aan het begin?
Gewijzigd op 01/02/2018 07:34:20 door - Ariën -
$_SESSION['uid'] is toch gewoon al beschikbaar in dat script als je daar session_start() in zet? :/
Waarom zou je dat via zo'n U-bocht constructie doorgeven?
Enne, wat gebeurt er als er verschillende processen tegelijkertijd in dat bestand schrijven? Dan gaat er informatie verloren lijkt mij, tenzij je zorgt voor exclusieve locking tijdens het schrijven.
Waarom zou je dat via zo'n U-bocht constructie doorgeven?
Enne, wat gebeurt er als er verschillende processen tegelijkertijd in dat bestand schrijven? Dan gaat er informatie verloren lijkt mij, tenzij je zorgt voor exclusieve locking tijdens het schrijven.
Ad Vertentie op 01/02/2018 05:24:59:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<script>
var userid = <? echo $_SESSION['uid']; ?>;
var titles = $(this).attr('title');
$(document).ready(function(){
$('#div0').on('mouseover', 'td', function(){
$.ajax({
method: "GET",
url: "molog_script.php",
data: { uid: userid, img: titles }
})
});
});
</script>
var userid = <? echo $_SESSION['uid']; ?>;
var titles = $(this).attr('title');
$(document).ready(function(){
$('#div0').on('mouseover', 'td', function(){
$.ajax({
method: "GET",
url: "molog_script.php",
data: { uid: userid, img: titles }
})
});
});
</script>
Code (php)
Gewijzigd op 01/02/2018 18:07:49 door Ad Vertentie




