将值转移到另一个页面是成功的,我读过很多关于这个主题的主题,stockoverflow确实帮助了我。
在第一页(例如page1.php)上,我有输入。通常我会给它键入一个值。
使用php,我编写一个会话变量,点击提交后,我可以将这个值转移到另一端(例如page2.php),这是一个简单的联系页面。该值将粘贴到文本区域字段中。
我的问题是,它只接受我直接输入的值,它位于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吗?如何使文本区域始终为空,并且我的page1.php(计算器)将计算正确的数字(常量为每公斤19美元和您在输入中输入的公斤数)
您的问题还不清楚,让我们来了解一下:page1.php包含管理Item数量和$_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['tower1']是项目价格。
欲知更先进的技术,请在评论中询问。
希望有帮助,干杯。
编辑
考虑到我们在评论中的对话,我可以假设这种方法会对你有所帮助:
$cena1=(!空($_GET['towar1'])&$_获取['toar1']!=0)$_获取['toar1']*19:'';
此行检查$_GET['towar1']变量是否为空且不为零。如果它符合条件-进行计算,否则-返回一个空字符串(不是零)。
请注意,我们上面所说的一切都是不安全的,可能会被最终用户滥用。请考虑以适当的方式审查输入验证。
它不起作用的原因是您错误地使用了会话。
应用程序的工作流程应该是:
- 用户输入金额
- 你处理它,如果需要,你会给出一条错误消息或其他什么
- 将金额保存到会话
- 将用户重定向到下一页
- 计算价格
- 显示结果
使用代码的代码示例:
第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>