PHP如何将起始值分配给变化值?

PHP如何将起始值分配给变化值?,php,html,Php,Html,我正在尝试制作一些东西,允许用户更改物品的“价格”。到目前为止,它还在工作,但我的问题是,价格在第一次加载页面时显示为空值,这给了我“未定义索引”错误,这意味着用户必须先输入价格,然后才能按预期工作。我想让它的价格有预定义的值之前加载 任何帮助都将不胜感激 <?php $price1 = $_POST['price1']; $price2 = $_POST['price2']; $price3 = $_POST['price3']; $price4 = $_POST['price4'];

我正在尝试制作一些东西,允许用户更改物品的“价格”。到目前为止,它还在工作,但我的问题是,价格在第一次加载页面时显示为空值,这给了我“未定义索引”错误,这意味着用户必须先输入价格,然后才能按预期工作。我想让它的价格有预定义的值之前加载

任何帮助都将不胜感激

<?php

$price1 = $_POST['price1'];
$price2 = $_POST['price2'];
$price3 = $_POST['price3'];
$price4 = $_POST['price4'];
$price5 = $_POST['price5'];
$price6 = $_POST['price6'];

?>

<h2>Admin</h2>

<form method="POST" action="admin.php">
<table>
  <tr>
    <th>Product Name</th>
    <th>Price</th>
    <th>Change Price</th>
  </tr>
  <tr>
    <td>Double Cheesy Quarter Pounder</td>
    <td><?php echo "PHP" . $price1;?></td>
    <td><input type="text" name="price1">
</td>
  </tr>
  <tr>
    <td>Crispy Bacon Burger</td>
    <td><?php echo "PHP" . $price2;?></td>
    <td><input type="text" name="price2"></td>
  </tr>
  <tr>
    <td>Mushroom Burger</td>
    <td><?php echo "PHP" . $price3;?></td>
    <td><input type="text" name="price3"></td>
  </tr>
  <tr>
    <td>Triple Bacon Burger</td>
    <td><?php echo "PHP" . $price4;?></td>
    <td><input type="text" name="price4"></td>
  </tr>
  <tr>
    <td>Cheesy Bacon Fries</td>
    <td><?php echo "PHP" . $price5;?></td>
    <td><input type="text" name="price5"></td>
  </tr>
  <tr>
    <td>Chocolate Frappe</td>
    <td><?php echo "PHP" . $price6;?></td>
    <td><input type="text" name="price6"></td>
  </tr>
</table>
<input type="submit" value="Confirm">

</form>

管理
品名
价格
变价
双干酪四分之一磅
脆培根汉堡
蘑菇汉堡
三重培根汉堡
奶酪培根薯条
巧克力脆饼

如果未设置$\u POST,则可以设置默认值:

$price1 = isset($_POST['price1']) ? $_POST['price1'] : 99;
$price2 = isset($_POST['price2']) ? $_POST['price2'] : 99;
$price3 = isset($_POST['price3']) ? $_POST['price3'] : 99;
$price4 = isset($_POST['price4']) ? $_POST['price4'] : 99;
$price5 = isset($_POST['price5']) ? $_POST['price5'] : 99;
$price6 = isset($_POST['price6']) ? $_POST['price6'] : 99;

如果未设置$\u POST,则可以设置默认值:

$price1 = isset($_POST['price1']) ? $_POST['price1'] : 99;
$price2 = isset($_POST['price2']) ? $_POST['price2'] : 99;
$price3 = isset($_POST['price3']) ? $_POST['price3'] : 99;
$price4 = isset($_POST['price4']) ? $_POST['price4'] : 99;
$price5 = isset($_POST['price5']) ? $_POST['price5'] : 99;
$price6 = isset($_POST['price6']) ? $_POST['price6'] : 99;
在第一次加载页面时,给出了“未定义索引”错误

您需要检查密钥是否存在:

$price1 = isset($_POST['price1']) ? $_POST['price1'] : '';
对于PHP 7,它更简单:

$price1 = $_POST['price1'] ?? '';
在第一次加载页面时,给出了“未定义索引”错误

您需要检查密钥是否存在:

$price1 = isset($_POST['price1']) ? $_POST['price1'] : '';
对于PHP 7,它更简单:

$price1 = $_POST['price1'] ?? '';

在Php 7.0中,您可以使用空合并:

<?php

$price1 = $_POST['price1'] ?? '';
// And so on.

从Php 7.0中,您可以使用空合并:

<?php

$price1 = $_POST['price1'] ?? '';
// And so on.

这里有两件事,让我们先看看您的未定义索引错误

1) 要删除未定义的索引错误,首先需要在顶部将php变量声明为null,如

$price1=$price2=$price3=$price4=$price5=$price6='';
2) 要获得预定义的值,您需要在每个输入字段中包含“value”属性,如

<input type="text" name="price3" value="<? php echo $price3; ?>" >

这里有两件事,让我们先看看您的未定义索引错误

1) 要删除未定义的索引错误,首先需要在顶部将php变量声明为null,如

$price1=$price2=$price3=$price4=$price5=$price6='';
2) 要获得预定义的值,您需要在每个输入字段中包含“value”属性,如

<input type="text" name="price3" value="<? php echo $price3; ?>" >