Hopelijk kan iemand mij helpen met mijn volgende probleem:
Ik heb een index pagina waar men een aantal sterren kan geven aan mijn site. Zie hieronder voor hetgeen waar het om gaat:
<div align="left" style="background: #f2f2f2; padding: 50px; color: white; border-radius:5px;">
<i class="fa fa-star fa-2x" data-index="0"></i>
<i class="fa fa-star fa-2x" data-index="1"></i>
<i class="fa fa-star fa-2x" data-index="2"></i>
<i class="fa fa-star fa-2x" data-index="3"></i>
<i class="fa fa-star fa-2x" data-index="4"></i>
</div>
<script>
var ratedIndex = -1, uID = 0;
$(document).ready(function () {
resetStarColors();
if (localStorage.getItem('ratedIndex') != null) {
setStars(parseInt(localStorage.getItem('ratedIndex')));
uID = localStorage.getItem('uID');
}
$('.fa-star').on('click', function () {
ratedIndex = parseInt($(this).data('index'));
localStorage.setItem('ratedIndex', ratedIndex);
saveToMail();
});
$('.fa-star').mouseover(function () {
resetStarColors();
var currentIndex = parseInt($(this).data('index'));
setStars(currentIndex);
});
$('.fa-star').mouseleave(function () {
resetStarColors();
if (ratedIndex != -1)
setStars(ratedIndex);
});
});
function saveToMail() {
$.ajax({
url: "invoer.php",
method: "POST",
dataType: 'json',
data: {
save: 1,
uID: uID,
ratedIndex: ratedIndex
}, success: function (r) {
uID = r.id;
localStorage.setItem('uID', uID);
}
});
}
function setStars(max) {
for (var i=0; i <= max; i++)
$('.fa-star:eq('+i+')').css('color', '#fbc406');
}
function resetStarColors() {
$('.fa-star').css('color', 'white');
}
</script>
Als ik dus bij de console van Chome ratedIndex invul krijg ik de daadwerkelijke rating met het javaScript is niks fout dus. Maar nu moet ik die rating in het onderstaande PHP bestand krijgen. Ik deed nu $_POST['ratedIndex']; (zie regel 8), maar dan komt er in de mail een 1 te staan. Hij pakt de ratedIndex dus niet en telt daar 1 bij op en krijg ik dus 1. Maar hoe fix ik dit?
[code]
<?php
if(isset($_POST['submit-feedback'])){
$firstname= $_POST['firstname'];
$lastname= $_POST['lastname'];
$message= $_POST['message'];
$mailFrom = $_POST['mail'];
$ratedIndex = $_POST['ratedIndex'];
$ratedIndex++;
// verwijder alle verboden tekens van het email adres
$mailFrom = filter_var($mailFrom, FILTER_SANITIZE_EMAIL);
// geldig e-mailadres
if (filter_var($mailFrom, FILTER_VALIDATE_EMAIL)) {
$subject = "Someone gave you feedback!";
$mailTo = "[email protected]";
$headers = "From: ".$mailFrom;
$txt = "You got feedback from: ".$mailFrom.".\n\n".$message.".\n\n"."His/Hers rating was: ".$ratedIndex;
mail($mailTo, $subject, $txt, $headers);
header("Location: ../feedback/index.php");
}else{
echo 'The email you put in is invalid!';
}
}else{
echo 'You did not fill the form in!';
[/quote]