场景是 - 我有一个包含多个输入字段和文本区域的表单,每当我发布此表单时,所有这些值都将被发布。但是,我也有一个从我的数据库创建的下拉列表。获取值时,此下拉值正确显示。我有第二个提交按钮,该按钮应取此选定值并发布到其他页面。
我试过$_POST='name of select option'
,但没有用。
我有一个onlick用于将表单定向到其他页面以更新数据库。 我对php很新,所以可能是_POST的使用可能不正确。
<form name="f1" class="formoid-solid-blue" method="GET">
<div class="title">
<h2></h2>
<h2>Tracking & Receiving</h2>
</div>
<div class="element-input">
<label class="title"></label>
<div class="item-cont">
<input class="small" type="text" name="store" placeholder="Store #"/>
<span class="icon-place"></span>
</div>
</div>
<div class="element-input">
<label class="title"></label>
<div class="item-cont">
<input class="medium" type="text" name="userid" placeholder="UserId"/>
<span class="icon-place"></span>
</div>
</div>
<div class="element-input">
<label class="title"></label>
<div class="item-cont">
<input class="large" type="text" name="order" placeholder="Order Number"/>
<span class="icon-place"></span>
</div>
</div>
<div class="submit">
<input type="submit" name="Send" value="Send"/>
</div>
<div class="element-separator">
<hr>
<h3 class="section-break-title">Tracking Numbers</h3>
</div>
<div class="element-multiple">
<label class="title"></label>
<div class="item-cont">
<div class="large">
<select data-no-selected="Nothing selected" name="updTR" multiple="multiple">
<option name="op" value="<?php require 'connection.php'; ?>"> //getting value form db
<?php
echo $trackID; //DB value
$trackID = $_GET['updTR']; //getting the variable from the form
?></option>
</select>
<span class="icon-place"></span>
</div>
</div>
</div>
<div class="submit">
<input type="submit" onclick="f1.action='UpdateTR.php'; return true;" name="UpdateTR" value`enter code here`="Submit"/>
</div>
</form>
答案 0 :(得分:0)
好吧,看一下表单,你说你正在使用POST,并使用其他POST相关方法进行测试,但你的表单正在使用GET,如上面的代码所示。
由于您不熟悉PHP,例如,如果您正在使用post,并且变量正在等待另一页从表单中收集此信息,那么您可以这样做:
这是表单字段示例:
<input type="text" name="XYZ">
然后在收集此信息的页面上,它将是
$someVariable = $_POST[ 'XYZ' ];
现在,如果你想使用GET,那么你可以使用这个
$someVariable = $_GET[ 'XYZ' ];
希望这可以解决这个困惑。
- 编辑2 - 看完你的评论后好了,因为我还没有看到你如何通过你的数据库迭代那些选项&#34;选项&#34;列表/菜单,我会说你不能放&#34;连接&#34;作为这部分的价值:
<option name="op" value="<?php require 'connection.php'; ?>">
因为假设&#34; connection.php&#34;是连接到数据库,然后这不会帮助你,这是其他地方。相反,一旦你建立了这种连接(其他地方,最好是在某个地方的标题之上),你就必须拥有循环数据库的代码,然后"WHILE"
将其循环,将结果吐出到该选项中领域。让我举一个 PSEUDO 代码的例子。
如果正常的选择/选项代码如下所示
<select>
<option> option 1 </option>
<option> option 2 </option>
</select>
等,然后你需要php来循环你的数据库结果,并将结果放入&#34;选项&#34;在那个选择中,
这里有一些伪代码:
<select>
<?php
while($row = your fetch code here){
echo "<option>your line items here</option>";
}
?>
</select>
OR .....
如果"$row"
具有您想要在该列表中添加的数据库中使用的特定值,那么您可以执行与上面类似的操作,但是可以使用以下内容:
<select>
<?php
while($row = your fetch code here){
echo "<option>your line items here "' . $row['some value from DB here'] . '"</option>";
}
?>
</select>
等
基本上,你想要你的&#34; while循环&#34;迭代你的数据库,WHILE做它,把它的数据输入你的选项html。
另外,如果你想从你的数据库中获取一个特定值,放入一个GET变量,用于处理页面(正如我上面提到的那样),那么同样,你可以这样做:< / p>
<?php
while($row = your fetch code here){
echo "<a href='linkHere.php?yourVariableToTrackWithGetHere='".$row['yourDBresutlToTrack']."'> Your text here </a>"; }
?>
这样,当您单击链接时,数据库值将添加到您稍后可以在处理页面中调用的变量。
有点啰嗦但是,这应该让你100%直。 希望这会有所帮助。