Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从combobox获取值_Php - Fatal编程技术网

在PHP中从combobox获取值

在PHP中从combobox获取值,php,Php,我试图从组合框中获取上一页的值 [删除.php] <form name="delete" action="deleted.php" method="post"> <?php $connect = mysql_connect("a","b","") or die("Error connecting"); mysql_select_db("c") or die("Error connecting to database"); $result = mysql_query("SELE

我试图从组合框中获取上一页的值

[删除.php]

 <form name="delete" action="deleted.php" method="post">
<?php
$connect = mysql_connect("a","b","") or die("Error connecting");
mysql_select_db("c") or die("Error connecting to database");
$result = mysql_query("SELECT * FROM d ORDER BY e ASC");
echo "<select name='forward'>";
while ($row = mysql_fetch_array($result))
  {
 echo "<option class='class' name=" .$row['t'] . ">".$row['t'] ."</option>";
}
echo "</select><br/><br/><br/><br/>";
?>
<input type="submit" id="thisSbmit" value="Delete Contact" onClick="chck()">&nbsp;&nbsp;<input type="button" id="cls" class="cls" value="Clear">
</form>
[已删除.php]

<?php
$selected = $_POST['forward'];

if ($selected== 'kryptix') 
{
    alert('No one was seleclted');
}else{
alert('Success');
}
?>
但我得到了以下错误:

注意:未定义的索引:在第2行的C:\xampp\htdocs\folder\deleted.php中转发

第2行=$selected=$_POST['forward']*
我做错了什么?

你没有回应你的选择。因此,$\u POST['forward']将永远不会被设置:

"<select name='forward'>";
应该是

echo "<select name='forward'>";
您最好脱离php编写html。它更易于阅读,并允许更好地编写标记,而无需转义等等

<select name='forward'>
<?php while ($row = mysql_fetch_array($result)): ?>
    <option class='class' value="<?php echo $row['t']; ?>"><?php echo $row['t']; ?></option>
<?php endwhile; ?>
</select>

另外,正如IOIO-MAD在他的标记示例中所显示的,除非您使用的是ajax,否则您肯定需要在表单中使用它来发布任何内容,除非您没有响应您的选择。因此,$\u POST['forward']将永远不会被设置:

"<select name='forward'>";
echo "<select name='forward'>"; //cant find a echo there in your code
应该是

echo "<select name='forward'>";
您最好脱离php编写html。它更易于阅读,并允许更好地编写标记,而无需转义等等

<select name='forward'>
<?php while ($row = mysql_fetch_array($result)): ?>
    <option class='class' value="<?php echo $row['t']; ?>"><?php echo $row['t']; ?></option>
<?php endwhile; ?>
</select>
此外,正如ioiomad在其标记示例中所示,除非您使用ajax,否则您肯定需要在表单中使用它来发布任何内容

echo "<select name='forward'>"; //cant find a echo there in your code
更新: 标记中缺少值属性

更新: 标记中缺少值属性


没有什么错,只是PHP上的一个警告。
如果希望避免该警告,可以使用isset函数或关闭php中的通知错误报告

没有什么问题,只是PHP上的一个警告。
如果希望避免该警告,可以使用isset函数或关闭php中的通知错误报告

在使用以下代码时,尝试获取$\u POST['forward']的值时,会得到未定义的索引:

<form name="delete" action="deleted.php" method="post">
<?php
$connect = mysql_connect("a","b","") or die("Error connecting");
mysql_select_db("c") or die("Error connecting to database");
$result = mysql_query("SELECT * FROM d ORDER BY e ASC");
echo "<select name='forward'>";
while ($row = mysql_fetch_array($result))
  {
 echo "<option class='class' name=" .$row['t'] . ">".$row['t'] ."</option>";
}
echo "</select><br/><br/><br/><br/>";
?>
<input type="submit" id="thisSbmit" value="Delete Contact" onClick="chck()">&nbsp;&nbsp;<input type="button" id="cls" class="cls" value="Clear">
</form>

在使用以下代码时,尝试获取$\u POST['forward']的值时,将获得未定义的索引:

<form name="delete" action="deleted.php" method="post">
<?php
$connect = mysql_connect("a","b","") or die("Error connecting");
mysql_select_db("c") or die("Error connecting to database");
$result = mysql_query("SELECT * FROM d ORDER BY e ASC");
echo "<select name='forward'>";
while ($row = mysql_fetch_array($result))
  {
 echo "<option class='class' name=" .$row['t'] . ">".$row['t'] ."</option>";
}
echo "</select><br/><br/><br/><br/>";
?>
<input type="submit" id="thisSbmit" value="Delete Contact" onClick="chck()">&nbsp;&nbsp;<input type="button" id="cls" class="cls" value="Clear">
</form>

代码中没有问题。您正在PHP中使用Alert。这就是为什么会出现错误。
如果需要,您可以设置$\u POSTforward进行检查。

代码中没有问题。您在PHP中使用了Alert。这就是出现错误的原因。
<form name="delete" action="delete.php" method="post">
<?php
$connect = mysql_connect("localhost","root","menu32") or die("Error connecting");
mysql_select_db("MyProject") or die("Error connecting to database");
$result = mysql_query("SELECT name FROM teacher_detail ORDER BY name ASC limit 5");?>
<select name='forward'>
<option name='' value=''>--select--</option>
<?php 
while ($row = mysql_fetch_array($result))
  {?>
 <option class='class' name="<?= $row['name'] ?>"><?=$row['name'] ?></option>";
<?php } ?>
</select><br/><br/><br/><br/>

<input type="submit" id="thisSbmit" value="Delete Contact" onClick="chck()">&nbsp;&nbsp;
<input type="button" id="cls" class="cls" value="Clear">
</form>
如果需要,可以设置$\u POSTforward进行检查

<form name="delete" action="delete.php" method="post">
<?php
$connect = mysql_connect("localhost","root","menu32") or die("Error connecting");
mysql_select_db("MyProject") or die("Error connecting to database");
$result = mysql_query("SELECT name FROM teacher_detail ORDER BY name ASC limit 5");?>
<select name='forward'>
<option name='' value=''>--select--</option>
<?php 
while ($row = mysql_fetch_array($result))
  {?>
 <option class='class' name="<?= $row['name'] ?>"><?=$row['name'] ?></option>";
<?php } ?>
</select><br/><br/><br/><br/>

<input type="submit" id="thisSbmit" value="Delete Contact" onClick="chck()">&nbsp;&nbsp;
<input type="button" id="cls" class="cls" value="Clear">
</form>
delete.php

delete.php

请尝试以下操作:

你的错误是你提到的是名字而不是价值

因此,请更改以下内容并进行测试,让我知道

 echo "<option class='class' name=" .$row['t'] . ">".$row['t'] ."</option>";
进入

谢谢。

尝试以下方法:

你的错误是你提到的是名字而不是价值

因此,请更改以下内容并进行测试,让我知道

 echo "<option class='class' name=" .$row['t'] . ">".$row['t'] ."</option>";
进入



谢谢。

这是什么文件?第一页还是第二页?我使用的是HTML而不是echo表单名。。这就是问题所在吗?@XtacyXtatic-no不在php范围内,所以应该可以。这个文件是从哪里来的?第一页还是第二页?我使用的是HTML而不是echo表单名。。这就是问题所在吗?@XtacyXtatic-no不在php范围内,所以应该可以。那么为什么不选择它呢?忽略警告不是一个好的做法。在这种情况下,代码甚至不起作用。可能不是警告,但我认为可以忽略通知。为什么不选择它?忽略警告不是一种好的做法。在这种情况下,代码甚至不起作用。可能不是警告,但我认为可以忽略通知。删除$\u POST[]表示您已经提交了表单,对吗?您可以在问题中编辑/更新您的代码吗?根据您得到的答案,您是在页面运行时还是在提交页面后收到警告?使用$\u POST[]表示您已经提交了表单,对吗?请编辑/更新问题中的代码?根据您得到的答案,您是在页面运行时还是在提交页面后收到警告?警报是您编写的php函数吗?此外,张贴您的表单代码,以便我们可以验证它是否正确构造请参见我的更新代码。特别是while循环选项mark直立,现在唯一一个看起来马上就错了的地方是在选项标记中使用了name而不是value。我不知道alert是做什么的。alert是javascript吗?我猜应该是echo?如果他在某处定义了它,它也可能是php函数。因为我们看不到这是一个假设。不管怎样,它至少会抛出一个错误。alert是您编写的php函数吗?此外,张贴您的表单代码,以便我们可以验证它是否正确构造请参见我的更新代码。特别是while循环选项mark直立,现在唯一一个看起来马上就错了的地方是在选项标记中使用了name而不是value。我不知道alert是做什么的。alert是javascript吗?我猜应该是echo?如果他在某处定义了它,它也可能是php函数。因为我们看不到这是一个假设。无论如何,它至少会吐出一个错误。
<?php

$selected= $_POST['forward'];
if($selected=='Babita')
    echo "matched string";
else
    echo "not found";
 echo "<option class='class' name=" .$row['t'] . ">".$row['t'] ."</option>";
echo "<option class='class' value=" .$row['t'] . ">".$row['t'] ."</option>";