2016-02-09 4 views
0

Im, пишущий этот код в PHP и после нажатия кнопки «Отправить» Я хочу, чтобы значения сохранялись в texbox. первый раз, когда я открываю страницу, я вижу некоторые ошибки внутри textfild? Как я могу это исправить?Как сохранить значение в текстовом вводе после отправки?

<html> 
<body> 
<form action="" method="GET"> 
First number<input type="text" name="num1" placeholder="<?php echo $_GET['num1'] ; }?>"/> 
Second number<input type="text" name="num2" placeholder="<?php echo $_GET['num2'] ; ?>"/> 
<input type="submit" name="submit" value="Submit"/> 
</form> 
<?php 
if(isset($_POST['submit'])) 
{ 

$num1=$_GET['num1']; 
$num1=$_GET['num2']; 
$sum=($num1+$num2); 
echo "Sum is :<input type='text' value='$sum'/>"; 
} 

?> 
</body> 
</html> 
+0

Можете ли вы опубликовать текст ошибок plz. Я предполагаю, что он должен делать w/переменную, не заданную. – mopo922

+0

это для одной вещи 'if (isset ($ _ POST ['submit'])) {...}' никогда не будет срабатывать. –

+1

кажется своеобразным соединением POST & GET .... как это должно работать, когда вы используете GET как метод формы, но выполняете логический тест для POST? – RamRaider

ответ

0

При первом открытии страницы переменные GET еще не установлены.

ли это вместо:

First number<input type="text" name="num1" placeholder="<?php echo (isset($_GET['num1']))? $_GET['num1'] : ""; ?>"/> 
Second number<input type="text" name="num2" placeholder="<?php echo (isset($_GET['num2']))? $_GET['num2'] : ""; ?>"/> 

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

Также, как указано ниже, mopo, это новая функция в PHP7, которая также будет работать более простым способом.

First number<input type="text" name="num1" placeholder="<?php echo $_GET['num1'] ?? ""; ?>"/> 
Second number<input type="text" name="num2" placeholder="<?php echo $_GET['num2'] ?? ""; ?>"/> 

Кроме того, вы не должны проверять, установлена ​​ли кнопка отправки с помощью POST ... она не должна работать.

if(isset($_POST['submit'])) 
{ ... 
} 

Вы можете проверить, если оба $_GET['num1'] и $_GET['num2'] устанавливаются вместо этого.

+0

Супер классная новая функция в PHP7: '$ _GET ['num1'] ?? «http://php.net/manual/en/migration70.new-features.php#migration70.new-features.null-coalesce-op – mopo922

+0

Да, я слышал об этом, что потрясающе, но я не уверен, какая версия OP использует:/ – Phiter

+0

Несомненно. Не жалуйтесь на свой ответ, просто добавляя к нему. – mopo922

Смежные вопросы