0

将价值转移到另一个页面是成功的,我已经阅读了很多关于这个主题的主题,stockoverflow 真的帮助了我。

在第一页(例如 page1.php)我有输入。通常我会为它输入一个值。

使用 php,我在会话变量中写入,单击提交后,我可以将此值传输到另一端(例如 page2.php),这是一个简单的联系页面。该值被粘贴到 textarea 字段中。

我的问题是它只需要我直接输入的值,它位于 page1.php 中。我想创建一个相当计算器,它将根据输入的产品公斤数包含价格。(千克是输入中输入的值)。

如何让表单字段干净,并且产品的订单全部正确重定向?

我在 page1.php 中的代码:

<?php
session_start();
$_SESSION['towar1'] = $cena1;
?>

<form method="get" action="kontakt.php">
<input id="wart1" type="number" value="0" name="towar1" class="ilosc" required>
</form>

我在 page2.php(联系页面)中的代码:

<?php
session_start();
$cena1 = $_GET['towar1'];
?>

<label for="wiadomosc"></label>
<textarea placeholder="" name="wiadomosc" required><?php echo $cena1 ?></textarea>

///问题

当我试图弄清楚如何获得物美价廉的产品价格(例如 1 公斤将是 19 美元)时,我直接在我的 page2.php 上编写了这种代码:

<?php echo $cena1*19 ?>

但是当我这样做时,联系页面上的任何直接入口都会给我已经写好的文本,即 0(零)。

我可以避免那个0吗?如何使 textarea 始终为空白,并且我的 page1.php(计算器)将计算正确的数字(常量为每公斤 19 美元和您在输入中输入的公斤数)

4

2 回答 2

1

您的问题不太清楚,让我们来看看:page1.php 包含管理项目数量和 $_SESSION 变量及其价格的输入,在第 2 页上您需要显示数量*price_per_item 编号,对吗?如果是,请尝试以下方法:

<?php
session_start();
$cena1 = $_GET['towar1'] * $_SESSION['towar1'];
?>

<label for="wiadomosc"></label>
<textarea placeholder="" name="wiadomosc" required><?php echo $cena1 ?></textarea>

,其中 $_GET['towar1'] 是商品数量,$_SESSION['towar1'] 是商品价格。

ps 如需更先进的技术,请随时在评论中提问。

希望有帮助,加油。

编辑

考虑到我们在评论中的对话,我可以假设这种方法会对您有所帮助:

$cena1 = (!empty($_GET['towar1']) && $_GET['towar1'] != 0)?$_GET['towar1'] * 19 : '';

此行检查 $_GET['towar1'] 变量是否不为空且不为零。如果它符合条件 - 进行计算,否则 - 返回一个空字符串(非零)。

请注意,我们上面讨论的所有内容都不安全,可能会被最终用户滥用。请考虑查看输入验证方法。

于 2013-07-31T14:25:22.630 回答
0

它不起作用的原因是您使用错误的会话。

应用程序的工作流程应该是这样的:

  1. 用户输入金额
  2. 您处理它,如果需要,您会给出错误消息或其他内容
  3. 将金额保存到会话
  4. 将用户重定向到下一页
  5. 计算价格
  6. 显示结果

使用您的代码的代码示例:

第 1 页应该是:

<?php
session_start();
if(isset($_GET['wart1'])) {
    $_SESSION['towar1'] = (int) $_GET['wart1'];
    header('Location: page2.php');
}
?>

<form method="get" action="kontakt.php">
<input id="wart1" type="number" value="0" name="towar1" class="ilosc" required>
</form>

第2页:

<?php
session_start();
$cena1 = $_SESSION['wart1'] * 19;
?>

<label for="wiadomosc"></label>
<textarea placeholder="" name="wiadomosc" required><?php echo $cena1 ?></textarea>
于 2013-07-31T14:27:36.073 回答