Dies ist das erste Mal, dass ich HTML PHP und Ajax verwende, also haben Sie bitte etwas Geduld. Der größte Teil des Codes stammt aus Beispielen, die ich online gefunden habe. Ich kann es jedoch nicht tatsächlich in die Datenbank einfügen. Die Ajax-Funktion geht in die Erfolgsfunktion ein; die Erfolgsausgabe wird lediglich als Warnung in der PHP-Datei angezeigt.
Ich habe das alles lokal, also starte ich Chrome als
chrome --allow-file-access-from-files file:///C:/filepath/index2.html
Ich weiß, dass es nicht gut ist, aber ich komme zurecht.
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>
.php einfügen
<?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"; } ?>
你说
...这不仅不好,而且是造成问题的原因。 Chrome + 您的文件系统无法执行 PHP 代码。
您需要使用具有可用 PHP 运行时的适当 Web 服务器,以便它支持执行 PHP 来响应 HTTP 请求。使用 XAMPP 或 Laragon 安装功能齐全的 PHP 开发环境,其中 PHP、Apache 和 MySQL/MariaDB 可用且已配置,因此您可以在本地计算机上正确开发和测试。
快速修复的另一个选项是 PHP 内置网络服务器 一旦你安装了 PHP 就可以使用,虽然它的功能比较有限,但它与真实的部署环境不太相似,显然如果你也需要数据库等组件,你需要设置你自己单独说一下。