dimanche 21 janvier 2018

PHP: confused about if else statement - same logic or wrong understanding?

I'm really confused, because I have an if/else statement what works at a first integration in the system, but in a second case I must rewrite the function. My opinion is, that both statements has the same logic? Or isn't it?

Statement 1: works as intended in first integration of code, but not at the second integration (always the variable ba_geschaeftszeichen has a string lenght of zero):

if (
  (isset($_POST['ba_geschaeftszeichen']) && ($kostentraeger == "sozialamt")) ||
  (isset($_POST['pk_vnr']) && ($kostentraeger == "pflegekasse"))
) {
  if (isset($_POST['ba_geschaeftszeichen']) && (strlen($_POST['ba_geschaeftszeichen']) > 0)) {
    $ba_geschaeftszeichen = $_POST['ba_geschaeftszeichen'];
  } else if (isset($_POST['pk_vnr']) && (strlen($_POST['pk_vnr']) > 0)) {
    $ba_geschaeftszeichen = $_POST['pk_vnr'];
  } else {
    $ba_geschaeftszeichen = "";
  }
} else { $ba_geschaeftszeichen = ""; }

Statement 2: only this code works at the second integration:

if (
  (isset($_POST['ba_geschaeftszeichen']) && ($kostentraeger == "sozialamt")) ||
  (isset($_POST['pk_vnr']) && ($kostentraeger == "pflegekasse"))
) {
  if (isset($_POST['ba_geschaeftszeichen']) && (strlen($_POST['ba_geschaeftszeichen']) > 0)) {
    $ba_geschaeftszeichen = $_POST['ba_geschaeftszeichen'];
  } else {
    $ba_geschaeftszeichen = "";
  }
  if (isset($_POST['pk_vnr']) && (strlen($_POST['pk_vnr']) > 0)) {
    $ba_geschaeftszeichen = $_POST['pk_vnr'];
  } else {
    $ba_geschaeftszeichen = "";
  }
} else { $ba_geschaeftszeichen = ""; }

Aucun commentaire:

Enregistrer un commentaire