PHP $_POST Variables


PHP $_POST Variables

这是一个库页面:http://www.metroscap.com/chicago-black-and-white-photos.php这是一个详细页面:http://www.metroscap.com/chicago/1203/traffic-on-michigan-avenue-at-monroe.php

我试图提交以下数据:(但这个按钮每页大约有15个品种。我的每张照片都有自己的页面。)。(请参阅右侧手风琴中的详细页面和产品——每张照片都有大约25个不同的相框大小选项,我为它们构建了CSS类。我希望能够让人们将多张照片的多个相框大小提交到我的基本拖放墙中,这样他们就可以相互比较照片和相框大小。

例如,有人可以在深蓝色墙上提交一个42英寸x42英寸版本的哥伦布|"Leveled",以及两个27英寸版本的亚特兰大|"Atlanta"和芝加哥|"Monroe"。)

这是我正在提交或希望提交的每个图片的每个尺寸/框架的按钮代码,这里有两个按钮。

<form action="http://localhost:8888/drag-drop-test2.php" method="post" style="width: 200px; height: 200px;">
<input type="hidden" name="widthHeightTotal" value="424"  />
<input type="hidden" name="picture" value="http://www.metroscap.com/images/bigJPEGS/columbus/Leveled.jpg" />
<input type="hidden" name="ddClass" value="TPC42test" />
<input type="hidden" name="widthHeight" value="354" />
<input type="submit" value="Add to Wall" />
</form>
<form action="http://localhost:8888/drag-drop-test2.php" method="post" style="width: 200px; height: 200px;">
<input type="hidden" name="widthHeightTotal" value="324"  />
<input type="hidden" name="picture" value="http://www.metroscap.com/images/bigJPEGS/columbus/Leveled.jpg" />
<input type="hidden" name="ddClass" value="TPC32test" />
<input type="hidden" name="widthHeight" value="300" />
<input type="submit" value="Add to Wall" />
</form>

现在在drag-drop-test2.php页面上,我希望简单地使用foreach循环来以太打印r或通过用户希望拖动的每个边框大小进行回声,并在墙上与这个回声语句进行比较

 echo "<div class='"drag'" style='"left:20px; height: ".$widthHeightTotal."px;'"><img src='"".$picture."'" class='"".$ddClass."'" width='"".$widthHeight."'" height='"".$widthHeight."'" /></div>"; 

如果我只向墙上提交一张照片,我就能做到这一点。我根本无法通过遍历$_POST或$_SESSION数组来实现我想要的行为。

也许php不是我最好的解决方案,也许是jquery。我不确定。我不一定是一个程序员或开发人员,但我知道这对我自己很危险,尤其是当它是一个尖锐的$obj时。

-------------更新-----------我已经删除了按钮代码中的括号。

好吧,在这里发布之前,我已经为foreach声明挣扎了一周。当我这样做的时候(按照建议):

foreach ($_POST as $key => $value) {
$$key = $value;
echo "<div class='"drag'" style='"left:20px; height: ".$widthHeightTotal."px;'"><img src='"".$picture."'" class='"".$ddClass."'" width='"".$widthHeight."'" height='"".$widthHeight."'" /></div>";
}

以下是输出:

<div class="drag" style="left:20px; height: 324px;"><img src="" class="" width="" height="" /></div>
<div class="drag" style="left:20px; height: 324px;"><img src="http://www.metroscap.com/images/bigJPEGS/columbus/Leveled.jpg" class="" width="" height="" /></div>
<div class="drag" style="left:20px; height: 324px;"><img src="http://www.metroscap.com/images/bigJPEGS/columbus/Leveled.jpg" class="TPC32test" width="" height="" /></div>
<div class="drag" style="left:20px; height: 324px;"><img src="http://www.metroscap.com/images/bigJPEGS/columbus/Leveled.jpg" class="TPC32test" width="300" height="300" /></div>

回声线的四个实例,每个循环只存储一个值,直到第四次迭代时,整个线最终填充了正确的值。我根本不明白前臂上发生的事情的逻辑。尽管如此,当我试图返回到我的按钮页面并在页面中添加不同的项目时,我没有得到两个不同东西中的8个项目(每个四个),我只得到一个项目。

如果我一次只想要这个页面上的一个项目,我只需要在页面上有一条回复线,然后让我的回复线为:

echo "<div class='"drag'" style='"left:20px; height: ".$_POST['widthHeightTotal']."px;'"><img src='"".$_POST['picture']."'" class='"".$_POST['ddClass']."'" width='"".$_POST['widthHeight']."'" height='"".$_POST['widthHeight']."'" /></div>";

不用担心把那一行放在foreach或do…while,因为我只想在页面上有一个项目。

我想要的是能够拥有35张不同的图片(这太夸张了,但我想说的是我太夸张了)。实际上,理想情况下是35种不同的尺寸。

我显然比我想象的要笨。

尝试从每个字段的名称中删除这些括号[ ],因为这会使它们成为数组,而不仅仅是变量。

因此,例如,不要使用widthHeight[],而只使用widthHeight

要在$_POST数组中接收它,它将是$_POST['widthHeight']