Door
Donny Wie weet
op 09-09-2013 10:40
gewijzigd op 09-09-2013 10:40
1.078 views
Hoi allemaal,
Ik gebruik onderstaand script om in te loggen. Deze wil ik gaan ombouwen naar het volgende:
Als ik op een link USERS klik, wil ik dat de pagina users.php geladen word. Echter is het punt wel dat de pagina ook een GET waarde kan bevatten. Hoe los ik dit op?
Dit is een voorbeeld met POST. Hoe kan ik dit veranderen?
De links zien er inderdaad uit als zoals jouw voorbeeld. Soms kan het wel zijn dat de GET waarde van ID veranderd in wat anders. Het kan dus meerdere soorten GET bevatten.
De link kan van 1 tot 7 verschillende GET waardes bevatten.
Data toevoegen aan een HTML element kan altijd in het data- attribute.
Je kan daar ook meerdere dingen kwijt ...
bv.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
// elementen cashen
var links = $('#userlink li');
var responseDiv = $('#response');
// events
links.click(function(e) {
id = $(this).data('id'); // met het data- atttribute
$.ajax({
url: 'users.php',
data: {id: id}, // object-notatie, waarmee je zowel GET als POST data kan toevoegen
success: function(data) {
responseDiv.html(data);
}
});
});
});
</script>
<style>
#userlink li {
cursor: pointer;
}
</style>
<ul id="userlink">
<li data-id="15">Freddy</li>
<li data-id="22">Tom</li>
<li data-id="23">Jan</li>
<li data-id="27">Cindy</li>
</ul>
<div id="response"></div>
users.php
<?php
$user = !empty($_GET['id']) ? (int) $_GET['id'] : 0;
// jij doet dit met een SQL ... WHERE id = " . $user . ", ik doe het voorlopig met een array
$users = array(
15 => 'Freddy zijn pagina ...',
22 => 'Tom zijn pagina ...',
23 => 'Jan zijn pagina ...',
27 => 'Cindy haar pagina ...',
);
if (isset($users[$user])) {
echo $users[$user];
exit;
}
?>