Я пытаюсь понять, почему оператор if не выдает правильное сообщение.Предполагается, что если пользователь выбирает строку, которая не помечена в БД как «В», то отображается первое сообщение.Если они забывают выбрать адрес или уровень обслуживания, тогда может быть запущено другое.Если все случаи верны, выполните оператор else.Однако, что происходит, так это то, что первое сообщение запускается, когда оно выбирается в первый раз и выдает ошибку.Если пользователь забывает выбрать адрес или услугу, то запускается ошибка.Если пользователь затем выполняет все условия, вместо выполнения оператора else он отображает ошибку $ boxstatus, даже если условия выполняются.Может кто-нибудь указать на мою ошибку?Большое спасибо
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-type: application/json");
$json = "";
if ($boxstatus!="In") {
$json .= "{\"Error\": \"ERROR: The box must be in the archive to enable a retrieval.\"}";
}
else if ($service == '' || $address == '') {
$json .= "{\"Error\": \"ERROR: You must select a retrieval address and a service level.\"}";
}
else {
$json .= "{\n";
$json .= "\"address\": \"".$address."\",\n";
$json .= "\"service\": \"".$service."\",\n";
$json .= "\"box\": \"".$box."\"\n";
//$json .= "box: [\"". implode('","', $box) ."\"]\n";
$json .= "}\n";
}
echo $json;
ajax, если это поможет:
$.ajax({
type: "POST",
dataType: "json",
url: "boxretrieve.php",
data: "items="+itemlist+columns,
success: function(data){
if (data.Error) jAlert(data.Error);
else {
jAlert("You have successfully retrieved\n\rBox: "+custref+"\n\r"+
"Address: "+address+"\n\r"+
"Service: "+service+"\n\r"+
"Destroydate: "+destroydate);
$("#flex1").flexReload();
}
}
});
+++++ UPDATE +++++++
Изменил вторую ошибку на Error2 и выполнил условие в ajaxи все теперь хорошо.Спасибо всем за помощь.