Я пытаюсь передать значения на страницу PHP, которая ответит PHP-кодом, который будет загружен. Моя проблема заключается в том, что частично восстановленный PHP-код работает.Ответ PHP частично работает при загрузке ajax
AJAX:
$.ajax({
type: 'post',
url: 'bundles_drop.php',
data: {
time_selected:value,
networkType:networkType,
},
dataType : 'html',
success: function (response) {
// We get the element having id of display_info and put the response inside it
$("#bundles").html(response);
}
});
PHP:
if(isset($_POST['time_selected']))
{
$duration_selected = $_POST['time_selected'];
//$duration_selected = "day";
$client_network =$_POST['networkType']
}
Когда я получаю почту AJAX, вторя переменных может быть сделано в течение первых строк кода. Моя проблема - несколько строк кода позже, переменные теряют свои значения (я пытался эхом в разных частях кода, но работает только с несколькими строками).
И переменные сохраняют свои значения только в том случае, если я их жестко кодирую и не использую значения POST. например
$duration_selected = "day";
Любые идеи относительно того, что может привести к потере значений POST?
ПОЛНЫЙ PHP КОД:
<?php
include 'arrays.php';
global $netMap;
global $netArray;
global $cM;
global $contABB;
if(isset($_POST['time_selected']))
{
$duration_selected = $_POST['time_selected'];
//$duration_selected = "day";
$client_net =$_POST['netType'];
//$duration_selected = "ugmtn";
$ds = $duration_selected;
$cn = $client_net;
$quantityOfCardsArray = array();
$bundle_duration = array();
$numberOfnets = count($netMap[$contABB]);
$netNames = array();
$net = array();
$netNames = $netMap[$contABB];
for($i=0;$i<$numberOfnets;$i++)
{
$thisnet=$netMap[$contABB][$i];
$numD=count($cardMap[$contABB][$thisnet]);
$bundle_duration = $cardMap[$contABB][$thisnet];
$netName=$netArray[$contABB]["$thisnet"]["netName"];
for($j=0;$j<$numD;$j++)
{
$cardIndex=$cardMap[$contABB]["$thisnet"]["$j"];
//var_dump($priceInLocal=$netArray[$contABB]["$thisnet"][0]["$cardIndex"]);
}
}
?>
<label id="bundlelbl" for="bundle">Please select a bundle</label>
<select id="bundle" name="bundle" required>
<?php
foreach($netNames as $index => $net){
if($net == $client_net)
{
$net_bundle=$netArray[$contABB]["$net"];
foreach($net_bundle as $value)
{
$value = (array) $value;
foreach ($value as $time => $bundle_details)
{
if($time == $duration_selected)
{
$detail_count = count($bundle_details);
$bundle_details = (array) $bundle_details;
//var_dump($bundle_details);
foreach($bundle_details as $data_value => $data_details)
{
$data_details = (array) $data_details;
echo "<option value='". $data_details['Item'] ."'> ". $data_details['Item'] ." worth ". $data_details['pr'] . "</option>";
}
}
}
}
}
}
}
?>
</select>
<fieldset>
<button type="submit">Submit</button>
Я мог бы повторить вне пост значения до сих
?>
<label id="bundlelbl" for="bundle">Please select a bundle</label>
<select id="bundle" name="bundle" required>
<?php
за пределами этого дисплея точка эхо не суммируется и не на всех.
РЕШИТЬ:
Я поместил петлю Еогеасп внутри, если заявление, когда за то, что я предполагал, что должно было быть наоборот. Спасибо
Показать остальную часть вашего PHP кода. Это может быть проблема с объемом. – aynber
Можете ли вы опубликовать несколько строк кода позже? Если ваши значения задаются в этом выражении if, то, скорее всего, что-то переписало их. – Halter