Hoi,
Ik ben hier al eerder mee bezig geweest, maar het is niet gelukt om dat aan de praat te krijgen.
Na verder zoeken op internet kwam ik dit script tegen die zou moeten doen wat ik nodig heb, maar het werkt niet.

Wat ik dus wil is de waarde van het listmenu wijzigen in de database zonder dat de pagina opnieuw geladen wordt.

Wie wil me helpen om dit werkend te krijgen, ik zou er erg mee geholpen zijn.


<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">

        $(document).ready(function() {
            
			var selectValue = $('#selectBoxID').val();

            // post to php script
            $.ajax({
                type: 'POST',
                url: 'insertdetailed.php',
                data: { selectValueBox: selectValue }
            });
        });

    </script>
</head>
<body>
	<form id="update_db" name="update_db" method="post">
    	<select id="selectBoxID" onselect="saveToDatabase()">
       		<option value="1">Value 1</option>
       		<option value="2">Value 2</option>
    	</select>
		<input type="hidden" name="id" id="1">
	</form>
</body>
</html>



<?php
if(isset($_POST['selectValueBox'])){

$connectie = new mysqli("localhost", "xxxxxx", "xxxxxx", "xxxxxx");

// update de score
$sql_update = "UPDATE obs_scores SET score = '".$_POST['selectValueBox']."' WHERE id= '".$_POST['id']."'";

if (mysqli_query($connectie, $sql_update)) {
echo 'SUCCESS';
print $sql_update;
} else {
echo 'FAILED';
print $sql_update;
}
}
?>
Wat werkt er niet aan? Wat gebeurt er?

Let er wel op dat je gevoelig bent voor (onbedoelde) SQL-injection.
Als ik in het listmenu 2 ga kiezen zou ik toch de $sql_update moeten krijgen te zien, dat gebeurt dus niet.

- Ariën -
Hoe zou ik dit dan ook veilig kunnen maken?
Met mysqli_real_escape_string() ?
Ja..

Heb je al naar de uitvoer van je AJAX-request gekeken in je browser?
- Ariën -
Nee heb ik niet gedaan, weet ook niet hoe ik dat kan zien.
Input in regel 28 heeft geen value en kan derhalve geen update doen op basis van id, want die is leeg.

[size=xsmall]Toevoeging op 23/04/2019 12:34:09:[/size]

Het is ook beter om de input na regel 29 te zetten en zowel de input als de select te omlijsten met een <form>.
- Ariën -
Ik heb de video gekeken, en de php file om alles in de database te zetten wordt niet geladen zo te zien.

Adoptive Solution
Regel 28 heeft id toch een waarde van 1 die meegegeven wordt als een hidden field in de POST?
Ik heb de hiddenfield regel verplaatst onde de select en het omsloten met een form, maar nog steeds werkt het niet.

Ik zie wel een foutmelding: Unchecked runtime.lastError: The message port closed before a response was received.

Ik heb ook niet zoveel kennis van Javascript om dit op te lossen, dus enige hulp is welkom.
Wat gebeurt er als je de PHP-file handmatig aanroept? En bij voorkeur als je zelf een POST-request afvuurt? Dat kan bijvoorbeeld eenvoudig met Postman.
- Ariën -

Er zat inderdaad nog een foutje in de insertdetailed.php, de $connectie en de $sql_update moesten omgedraaid worden.
Als ik nu rechtstreeks een POST doe in de file werkt het goed, krijg ook de Succes.

Alleen als ik de menu.php het listmenu wijzig, gebeurt er niets.
Op 1 of andere manier wordt de insertdetailed.php niet aangeroepen.
Ben je daar wel zeker van, als je de network-tab gebruikt?
Dan kan je prima zien wat er op de achtergrond voor output uit insertdetailed.php komt.

Reageren