Используя Codeigniter, я пытаюсь запустить скрипт php после того, как пользователь нажмет кнопку отправки. Я следовал довольно многим учебникам и придумал следующий код:
Если это поможет увидеть реальную страницу, посетите ее здесь: http://rickymason.net/townbuilder
гость / гость для входа (в настоящее время требуется)
На мой взгляд (структура.php), у меня есть:
<div id="structures">
<h1>Build</h1>
<form name="buildForm" id="buildForm" method="POST">
<select name="buildID" class="buildClass">
<option value="0" selected="selected" data-skip="1">Build a Structure</option>
<?php foreach ($structures as $structure_info): ?>
<option name='<?php echo $structure_info['str_name'] ?>' value='<?php echo $structure_info['str_id'] ?>' data-icon='<?php echo $structure_info['str_imageloc'] ?>' data-html-text='<?php echo $structure_info['str_name'] ?><i>
<?php echo $structure_info['timebuildmins'] ?> minutes<br><?php echo $structure_info['buy_gold'] ?> gold</i>'><?php echo $structure_info['str_name'] ?></option>
<?php endforeach ?>
</select>
<div id="buildSubmit">
<input class="button" type="submit" value="Submit"/>
</div>
</form>
</div>
<div id="output"> Result here</div>
Это создает мою форму выбора и создает ее в HTML. Затем я создал файл .js для запуска ajax:
$("#submit").submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: '../php/build.php',
data: "",
dataType: 'json',
success: function(data)
{
alert("success!");
}
});
});
Я старался сделать это как можно проще, просто для целей тестирования. Javascript является новым для меня, и я нахожу его чрезвычайно запутанным по некоторым причинам Из того, что я могу собрать, этот скрипт должен активироваться после нажатия кнопки отправки. Затем он запускает скрипт build.php, затем, если он возвращает эхо через json, он предупреждает об успехе. право?
Мой скрипт build.php находится ниже:
<?php
$query = "INSERT INTO user_structure (str_id, user_id) VALUES ('7', '7')";
mysql_query($query) or die ('Error updating database');
echo "success";
?>
Опять же, очень просто ...
К сожалению, когда я нажимаю "Отправить", кажется, что страница "обновляется", но ничего не происходит. Я не ожидаю, что что-нибудь произойдет на странице, но база данных также не получает никаких значений.
У меня нет файлов build.php или build.js в контроллере или модели, они находятся вне каталога приложения и доступны вне структуры CI uri / url.
На данный момент я просто пытаюсь успешно запустить скрипт php, нажав на кнопку отправить. Моя последняя цель - взять значение str_id, созданное для формы, затем передать эту переменную и user_id в файл build.php, создать запись в db, а затем обновить страницу, чтобы отобразить обновленную информацию о БД.
Очевидно, это не работает! Любая помощь будет принята с благодарностью.