#php #ajax #post #get
#php #ajax #Публикация #получить
Вопрос:
Я довольно новичок в публикации, получении и тому подобном, но пытаюсь изучить это, и теперь у меня есть эта проблема. Я использую PHP для сбора данных из текстового файла, отправляя их через URL с помощью Ajax в Javascript. Таким образом, это делается без обновления страницы (и работает). Но затем на той же странице я также размещаю данные формы с помощью Javascript при нажатии переключателей (которые также отправляют форму), чтобы они были как-то доступны для меня (например, сохранены в базе данных или отражены на странице). Поскольку страница обновляется при отправке формы, я думаю, что это не должно быть такой проблемой?
До сих пор я только пытался добавить приведенный ниже код в post, но это не работает, потому что, как только я добавляю больше PHP-кода в свой документ, страница вылетает (становится пустой). Я предполагаю echo
, что часть не работает из-за предыдущего echo
в коде PHP, но как мне это решить?
Я также могу добавить, что PHP-код, который у меня был до того, как я попытался добавить этот фрагмент ниже, должен заканчиваться символом a die
, чтобы страница функционировала должным образом. Поэтому мне трудно понять, куда и как поместить еще какой-либо PHP-код.
Отправка данных формы, похоже, работает, потому что страница обновляется при нажатии переключателей.
<?php
if ( isset($_POST['image'])
{
$image = $_POST[ 'image' ]; // 'image' is the name of the radio buttons
echo "$image<br>";
//Will result in "image1" or "image2", etc - whatever "value" you assigned to the radio buttons
}
?>
<script>
$(document).ready(function(){
// Bind to change event for all radio buttons
$('input[type="radio"]').on('change', function() {
// Submit the form ("this" refers to the radio button)
$(this).closest('form').submit();
});
});
</script>
Это PHP-код, к которому я хочу что-то добавить, чтобы получить доступ к опубликованным данным формы.
<?php
if ( isset($_GET['firstItem']) amp;amp; isset($_GET['numItems']) )
{
$firstItem = $_GET['firstItem'];
$numItems = $_GET['numItems'];
$subtestNumber = 7;
$filename = sprintf("subtests/%d.txt", $subtestNumber);
$fileHandle = fopen($filename, "rt");
for ($numLinesToSkip=0; $numLinesToSkip<$firstItem; $numLinesToSkip )
fgets($fileHandle);
$results = array();
for ($itemCount=0; $itemCount<$numItems; $itemCount )
{
$curLine = fgets($fileHandle);
$curLine = trim($curLine);
array_push($results, $curLine);
}
fclose($fileHandle);
echo json_encode($results);
die; // stop execution now - dont output the html below
}
?>
Комментарии:
1. я думаю, что вам нужно добавить сюда больше кода
2. @devpro Ок, спасибо, теперь добавил остальную часть моего PHP-кода. Подумал, что это может быть слишком много для всего моего Javascript, но могу добавить часть Ajax, если это уместно.