post — php Отличается ли я, если я добавлю свой & lt;? php? & gt; код в верхней части тела или внизу

привет, пожалуйста, помогите мне понять это, потому что я запускаю код и помещаю этот код внизу, и здесь есть ошибки, так как вы можете видеть, что здесь есть ошибки ОШИБКА!

<html>
<body>

<form action="#" method="post">
Num1:<input name="num1"><br>
<input type='radio'  name='express' value='add'>+
<input type='radio'  name='express' value='subtract'>-
<input type='radio'  name='express' value='multiply'>*
<input type='radio'  name='express' value='divide'>/
<br>
Num2:<input name="num2">
Result:<input value='<?php echo  $result;?>'>
<input type="submit" name="submit">
</form>
<?php
function add($x,$y){

$add=$x + $y;
return $add;

}
function subtract($x,$y){

$subtract=$x - $y;
return $subtract;

}
function multiply($x,$y){

$multiply=$x * $y;
return $multiply;

}
function divide($x,$y){

$divide=$x / $y;
return $divide;

}

if(isset($_POST['submit'])){
$x=$_POST['num1'];
$y=$_POST['num2'];
if(isset($_POST['express'])){
$z=$_POST['express'];
if($x == '' or $y == '' ){
echo 'input a number';
}
else if($z == 'add'){
$result= add($x,$y);
}
else if($z=='subtract'){
$result= subtract($x,$y);

}
else if($z=='multiply'){
$result= multiply($x,$y);

}
else{
$result= divide($x,$y);

}

}



}


?>
</body>
</html>

Пока здесь рабочая версия, я положил все свои коды в верхней части тела

<html>
<body>
<?php
function add($x,$y){

$add=$x + $y;
return $add;

}
function subtract($x,$y){

$subtract=$x - $y;
return $subtract;

}
function multiply($x,$y){

$multiply=$x * $y;
return $multiply;

}
function divide($x,$y){

$divide=$x / $y;
return $divide;

}

if(isset($_POST['submit'])){
$x=$_POST['num1'];
$y=$_POST['num2'];
if(isset($_POST['express'])){
$z=$_POST['express'];
if($x == '' or $y == '' ){
echo 'input a number';
}
else if($z == 'add'){
$result= add($x,$y);
}
else if($z=='subtract'){
$result= subtract($x,$y);

}
else if($z=='multiply'){
$result= multiply($x,$y);

}
else{
$result= divide($x,$y);

}

}



}


?>
<form action="#" method="post">
Num1:<input name="num1"><br>
<input type='radio'  name='express' value='add'>+
<input type='radio'  name='express' value='subtract'>-
<input type='radio'  name='express' value='multiply'>*
<input type='radio'  name='express' value='divide'>/
<br>
Num2:<input name="num2">
Result:<input value='<?php echo  $result;?>'>
<input type="submit" name="submit">
</form>

</body>
</html>

0

Решение

В первом примере вы печатаете $result перед объявлением этого и во втором примере вы печатаете $result после объявления этого. Так как в первом примере $result не объявлен, и вы пытаетесь напечатать его в этой строке:

Result:<input value='<?php echo  $result;?>'>

вот почему вы получаете ошибку Undefined Variable,

0

Другие решения

В первом примере кода вы пытаетесь отобразить переменную, которая объявлена ​​позже, например, можете ли вы сказать кому-то «мне 20 лет», если вы не знаете, сколько вам лет.

В то время как во втором примере вы объявили переменную (вы знаете, сколько вам лет), и вы можете вывести ее.

0

По вопросам рекламы [email protected]