PHP функции и операторы if / else - PullRequest
1 голос
/ 06 апреля 2011

Я пытаюсь написать скрипт, содержащий операторы и функции if / else.некоторый фон

  • $parts первый символ должен иметь букву "N"
  • $desc предполагается, что он имеет длину не менее одного символа
  • $priceдолжен быть положительным (0 или выше)

, если все три из этих требований выполнены, тогда он должен сказать «данные приняты», если что-то не выполнено (одно или все), «Неверно .... "нужно показать.

может кто-нибудь сказать мне, на какую часть моего сценария я должен смотреть.

<?php
$parts = $_POST["parts"];
$desc  = $_POST["desc"];
$price = $_POST["price"];

$pa = substr($parts, 0, 1);
$de = strlen($desc);

if ($pa != "N")
 {echo "Invalid Part Number";}
else
 if ($de <= 1)
  {echo "Invalid Description Length";}
 else
  if ($price <= 0)
   {echo "Invalid Price";}
    else
     {echo "Data Accepted";}
?>

Ответы [ 5 ]

2 голосов
/ 06 апреля 2011

Ваше требование : -

$ частей Первый символ должен иметь букву "N"

$ desc, как предполагается, длиной не менее одного символа

$ цена должна быть положительной (0 или выше)

Решение : -

$parts = $_POST["parts"];
$desc  = $_POST["desc"];
$price = $_POST["price"];

$pa = substr($parts, 0, 1);
$de = strlen($desc);

if($pa != 'N') {
    echo "Invalid Part Number";
} elseif($de < 1) {
    echo "Invalid Description Length";
} elseif($price < 0) {
    echo "Invalid Price";
} else {
    echo "Data Accepted";
}
2 голосов
/ 06 апреля 2011

Второе значение if, если должно быть if($de==1) $de=1, всегда будет возвращать true.

Также добавляйте точки с запятой после каждого оператора.

1 голос
/ 06 апреля 2011

второй, если должно быть if($de < 1), вы можете иметь if($de == 1), если он всегда будет длиной в один символ, но это будет работать, если его 1 или более

0 голосов
/ 22 февраля 2014
    <?php
    $parts = '';
    $desc = '';
    $price = 0;
    if ($_POST['parts'] != 'n')
    {
    echo 'Not equal to n<br>';
    }
    else {
    'Accepted input<br>';
    }
    $desc = strlen($_POST['desc']);
    if ($desc < 1)
    {
    echo 'Input less than 1<br>';
     }
    else {
    echo 'Accepted input<br>';
    }
    if ($_POST['price'] < 0)
    {
    echo 'Input below 0<br>';
    }
    else {
    echo 'Input accepted<br>';
    }
    ?>
0 голосов
/ 06 апреля 2011
$parts = $_POST["parts"];
$desc  = $_POST["desc"];
$price = $_POST["price"];
...