Javascript 基于数组返回值的php代码?

Javascript 基于数组返回值的php代码?,javascript,php,html,Javascript,Php,Html,基本上我有2页;Page1.php和Page2.php。。。在第1页,用户可以输入他们的邮政编码和属性值,提交后,页面将发布到page2.php 我正在寻求帮助,以便使用小脚本根据属性值将值返回(回显或打印)给客户,为了简单起见,我将在范围内设置属性值,例如: £0 => £100,000 --> Return as £125 £101,000 => £200,000 --> Return as £195 £201,000 =>

基本上我有2页;Page1.php和Page2.php。。。在第1页,用户可以输入他们的邮政编码和属性值,提交后,页面将发布到page2.php

我正在寻求帮助,以便使用小脚本根据属性值将值返回(回显或打印)给客户,为了简单起见,我将在范围内设置属性值,例如:

£0        =>   £100,000  -->  Return as £125
£101,000  =>   £200,000  -->  Return as £195
£201,000  =>   £300,000  -->  Return as £275
等等

我希望脚本返回输出变量,这样我就可以使用echo函数在页面上的set css框中显示用户输入范围的默认值

因此,如果我以客户身份输入page1.php,然后输入我的邮政编码,并将我的财产价值输入为225000英镑(这将不会用作所选选项,而是由用户手动在与邮政编码相同的框中输入)

当我提交此文件并转到page2.php时,脚本将意识到我输入的值在201000英镑到300000英镑之间,并使用echo变量函数返回默认值


我希望我已经尽我所能解释清楚了,因为我真的在学习基础知识,并且仍然在尝试使用某些术语。非常感谢您的帮助,感谢您抽出时间阅读本文,包括评论和帮助。

这是page1.php的代码:

<form action="page2.php" method="get">
    <input name="userfield" id="thiscanbedifferent" type="text">
 </form>
此代码将任意数字转换为一个范围

$rangeLabels = ["$0 - $100,000",
"$101,000-$200,000",
"$201,000-$300,000"];//labels for pricing. can be extended indefinately, as needed

$rangePricing = [125,175,195];//pricing steps. can be extended indefinately, as needed

$rangeIndex = floor($userPrice/100000);//100000 can be adjusted to any increment you would like, just be sure to update labels accordingly
//$rangeIndex = floor(($userPrice-1000)/100000);//this alternate equation makes values such as 100,999 fall below $101,000. My literal (probably wrong) interpretation of your range labels.

if($rangeIndex < 0 || $rangeIndex > count($rangePricing)){
   die('Number is out of range!');//Use better error handling in production
}

echo 'The user has selected the price $' . floatval($userPrice) . ' which falls under into the range ' . $rangeLabels[$rangeIndex] . ', for which the pricing is ' . $rangePricing[$rangeIndex] . '<br>';
$rangeLabels=[“$0-$100000”,
"$101,000-$200,000",
"$201,000-$300,000"];//定价标签。可以根据需要进行不确定的扩展
$rangePricing=[125175195]//定价步骤。可以根据需要进行不确定的扩展
$rangeIndex=下限($userPrice/100000)//100000可以调整为您想要的任何增量,只需确保相应地更新标签即可
//$rangeIndex=下限($userPrice-1000)/100000)//这个替代方程式使100999等值降至101000美元以下。我对范围标签的字面解释(可能是错误的)。
如果($rangeIndex<0 | |$rangeIndex>count($rangePricing)){
模具('编号超出范围!');//在生产中使用更好的错误处理
}
回显“用户已选择价格$”。floatval($userPrice)。'属于“范围”$rangeLabels[$rangeIndex]”,其价格为'$范围定价[$rangeIndex]。'
';
第1页包含用户输入的表单:

<form action="page2.php" method="post">
  <input type="text" name="userinput" placeholder="Type.." />
  <input type="submit" value="Send to page 2" name="submitPrice" />
</form>
现在,您可以使用此表检查用户输入是否在最小值和最大值之间。在本例中,我使用了
array\u filter

function getAdjustedPrice($price, &$table) {
    $priceData = current(array_filter($table, function($value) use(&$price) {
        return $value['min'] <= $price && $value['max'] >= $price;
    }));
    return $priceData['value'];
}
$input
到目前为止是静态的,所以我们可能想用 表单中的值。该值存储在超全局数组中
\u POST

$input = intval($_POST["userinput"]);

“userinput”是我们在第1页表单中的输入元素上使用的名称。

到目前为止您有什么?你想从一个用户字段中提取一个数字,并在下一页输出适当的范围吗?嗨,wedstorm,我没有任何东西,因为这是我今天想到的,我不确定这是否可能。用户将在文本框中手动输入房地产价格(英镑),表单将发布到第2页,根据脚本下的房地产价格范围,将返回针对该特定范围设置的默认值。这有意义吗?感谢您花时间提供帮助:)这一切都是可行的,但您需要进一步缩小问题的范围。总的来说,这个问题太宽泛了,我们可以直接写出一些代码,但其中的乐趣何在?你熟悉$\u GET和$\u POST吗?阵列呢?Jrad51是正确的,如果你把问题缩小到更具体的部分,你会得到更好的答案。这是一个非常可行的初学者练习。我了解$\u Get和$\u POST方法,并了解使用Get将在url内发送值,我想知道的是,我们是否可以为在设定范围内输入的任何内容设置默认值。因此,用户输入的任何介于100000英镑和200000英镑之间的数字都将返回基于用户财产价格的产品默认价格,我们的服务按地理位置和财产价格进行,因此每100000英镑将使总价格稍微上涨一点。一旦我弄清楚我需要遵循哪些基本原则,我可能会对代码做出贡献,我们是否使用数组?感谢您花时间帮助我,我非常感激,因为我仍在学习基本原则。目前,这两个答案对我来说都是先进的,我正在尝试了解哪些方法最有效,以及如何实现这些方法。我将在第1页上使用什么变量发布到第2页,在那里,上面的代码将运行以返回值。在我学习基础知识的过程中,我有点困惑,如果有意义的话,应该使用什么变量?我的用户输入房产价格的代码如下:房产价值我已经更新了我的答案,简要描述了你如何将价值从a页发送到B页。谢谢msfoster,我会尽快添加代码,但很快就会准备好:)会让你知道事情的进展。再次感谢。现在就去睡觉,如果你还有任何问题,我明天会回答。祝你好运Wedstorm谢谢你花时间帮忙我真的很感激。正如我在下面对msfoster所说的,由于我仍在学习基础知识,这两个答案目前对我来说都非常先进。我不知道我将使用什么变量从page1发送到page2,上面的代码将在那里运行并返回值。Page1是用户将在以下文本框中输入财产价格的地方:财产价值那么我认为我需要将id=“”和name=“”更改为与脚本相同吗?您部分正确,name需要与传递给$\u GET的密钥相同,但id不会影响它。您好Wedstorm,对不起,我已经离开几天了,因为我的女朋友怀孕了。出于某种原因,dreamweaver在脚本方面给出了
function getAdjustedPrice($price, &$table) {
    $priceData = current(array_filter($table, function($value) use(&$price) {
        return $value['min'] <= $price && $value['max'] >= $price;
    }));
    return $priceData['value'];
}
$input = 101;
printf("User entered: %d, adjusted price: %d", 
       $input, 
       getAdjustedPrice($input, $data));
$input = intval($_POST["userinput"]);