Я очень старался заставить простую рабочую модель этого функционировать. Мой фактический сайт больше, но я отключил скрипты, чтобы сделать вещи простыми (и устранять неполадки).
Я продолжаю получать «500» ошибок, когда я нажимаю кнопку «Отправить форму», и мне не удалось выяснить, что я делаю неправильно. (Я создал простую базу данных для захвата только этого элемента).
(Файл PHP называется «sample2.php» в том же каталоге, в котором находится html.)
Снимок экрана моей базы данных:
Мой HTML-файл:
<html> <head> <meta charset="utf-8"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> </head> <body> <div name="maindiv" id="maindiv"> <span>sample1:</span> <input id="sample1" name="sample1" width="300px" type="text" value="sample1text" /><br /> </div> <input type="button" name="sendit" value="Do it" id="sendit"/> <script language="javascript" type="text/javascript"> $(document).ready(function(){ $("#sendit").on("click", function() { var fieldvalue = []; $('#maindiv input').each(function() { fieldvalue.push([this.id, $(this).val()]); }); console.log(fieldvalue); $.ajax({ url: "sample2.php", type: "POST", dataType: "json", data: JSON.stringify(fieldvalue), success: function() { alert("worked"); } }); }); }); </script> </body> </html>
и мой файл PHP:
<? $pdo = new PDO("mysql:dbname=trialdb;host=extoleducation.ipagemysql.com","username","password"); $id = $_POST['sample1']; $query->bindValue(':sample1', $sample1, PDO::PARAM_STR); $sql = "INSERT INTO sampletable (sampleline) VALUES (:sample1);"; $query = $pdo->prepare($sql); if($statment = $pdo->prepare($sql)) { $statment->execute(); $statment->closeCursor(); exit(); } ?>