将值转移到另一个页面是成功的,我已经阅读了很多关于这个主题的主题,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(计算器)将计算正确的数字(const为每公斤19美元,你在输入中输入的公斤数)
答案 0 :(得分: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']是商品价格。
p.s对于更先进的技术,请不要犹豫,在评论中提问。
希望它有所帮助,干杯。
修改强>
考虑到我们在评论中的讨论,我可以假设这种方法可以帮助您:
$ cena1 =(!empty($ _ GET ['towar1'])&amp;&amp; $ _GET ['towar1']!= 0)? $ _GET ['towar1'] * 19:'';
此行检查$ _GET ['towar1']变量是否为空且不为零。如果它匹配条件 - 进行计算,否则 - 返回一个空字符串(不是零)。
请注意,我们上面讨论的所有内容都不安全,最终用户可能会滥用。请考虑审核输入验证方法。
答案 1 :(得分:0)
它不起作用的原因是你使用错误的会话。
应用程序的工作流程应该是:
使用您的代码的代码示例:
Page1应该是:
<?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>