Я бы посоветовал вам разделить ваш php и html, а затем отправить данные на php с помощью ajax.
На вашем php вы связываете :rep
, но вы используете заполнитель :name
, поэтому вам нужно связать:name
$resultat -> bindParam(':name', $uid, PDO::PARAM_STR);
html side.
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body >
<span id="mySpan" style="font-size: 80px;">20</span>
<input id="arret" type="button" value="Arret">
<script type="text/javascript">
function decrementer() {
if ( mySpan.innerHTML > 0 ) {
mySpan.innerHTML-- ;
setTimeout(decrementer, 1000);
}
}
setTimeout(decrementer, 1000) ;
var element = document.getElementById('arret');
element.onclick = function() {
var chrono=mySpan.innerHTML;
$.ajax({
type : "POST",
url : "somefile.php", //url to send data to
data: {chrono : chrono},
success: function(data)
{
console.log(data); //log data back
}
});
};
</script>
</body>
</html>
somefile.php
<?php
$pdo = new PDO('mysql:host=localhost;dbname=jeu', 'root', '', array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING,
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES cp1256'
));
$uid = isset($_POST['chrono']) ? $_POST['chrono'] : null;
$resultat = $pdo->prepare("INSERT INTO ajaxtest (name) VALUES (:name)");
$resultat->bindParam(':name', $uid, PDO::PARAM_STR);
if ($resultat->execute()) {
$id_insere = $pdo->lastInsertId();
echo json_encode("data inserted success");
}
?>