C'est la première fois que j'utilise HTML PHP et Ajax, alors soyez patient. La plupart du code provient d'exemples que j'ai trouvés en ligne. Cependant, je n'arrive pas à l'insérer dans la base de données. La fonction ajax entre dans la fonction success ; le résultat du succès est simplement affiché sous forme d'alerte dans le fichier php.
J'ai tout cela en local, alors je lance Chrome en tant que
chrome --allow-file-access-from-files file:///C:/filepath/index2.html
Je sais que ce n’est pas bon, mais je me débrouille.
index.html
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <title>Insert</title> </head> <body> <label>Name</label> <input type="text" id="name"> <label>Email</label> <input type="text" id="email"> <button type="submit" id="button">SAVE</button> <script> $(document).ready(function(){ $("#button").click(function(){ var name=$("#name").val(); var email=$("#email").val(); $.ajax({ url:'insert.php', method:'POST', data:{ name:name, email:email }, success:function(data){ alert(data); }, error:function(data){ alert(JSON.stringify(data)); } }); }); }); </script> </body> </html>
Insérer .php
<?php $name=$_POST['name']; $email=$_POST['email']; $conn = new mysqli('Azure server URL', 'Username','Password', 'tableName'); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql="INSERT INTO data ('id', 'name', 'email') VALUES (NULL, $name, $email)"; if ($conn->query($sql) === TRUE) { echo "data inserted"; } else { echo "failed"; } ?>
Vous avez dit
... non seulement c'est mauvais, mais c'est la cause du problème. Chrome + Votre système de fichiers ne peut pas exécuter de code PHP.
Vous devez utiliser un serveur Web approprié avec un runtime PHP fonctionnel afin qu'il prenne en charge l'exécution de PHP en réponse aux requêtes HTTP. Utilisez XAMPP ou Laragon pour installer un environnement de développement PHP complet où PHP, Apache et MySQL/MariaDB sont disponibles et configurés afin que vous puissiez développer et tester correctement sur votre machine locale.
Une autre option pour une solution rapide est le Serveur Web intégré PHP qui est disponible une fois PHP installé, bien que ses fonctionnalités soient plus limitées et qu'il ne ressemble pas beaucoup à un environnement de déploiement réel, évidemment si vous aussi besoin de composants tels qu'une base de données, etc. Vous devez vous préparer pour en parler séparément.