下面的php代码通过使用变量$ cat&来回显图像。 $ var,但当我填写表格&按提交,它显示以下错误重定向到同一页面,而不是转到insert.php。错误是:
注意:未定义的索引:数字在 第161行的C:\ xampp \ htdocs \ k \ show_results_4.php
注意:未定义的索引:类别 第162行的C:\ xampp \ htdocs \ k \ show_results_4.php
注意:未定义的索引:在C:\ xampp \ htdocs \ k \ show_results_4.php上 第164行
**
<?php
$var=$_GET['number']; //line 161
$cat=$_GET['category']; // line 162
$unipath= array('breads','fruits','milk','vegetables');
echo $unipath[$cat]; //line 164
echo '<img alt="140x140" src="/k/images/'.$unipath[$cat].'/'.$var.'.jpg" class="img-rounded"/>';
if(isset($_SESSION['stats']))
$mode=$_SESSION['stats'];
if($mode=='vendor')
{
echo "<form method='POST' action='insert.php'>
Enter price per item/kg:<input type='text' name='pr'>
<input type='hidden' name='vegid' value='".$var."'>
<input type='hidden' name='vegcat' value='".$cat."'><br/>
<br/><button type='submit' class='btn btn-primary'> SUBMIT </button>
</form>";
?>
作为参考,insert.php是:
<?php
include 'conf.inc.php';
session_start();
if(!isset($_SESSION['usr']))
header('Location:login.php?t=1');
$id=$_SESSION['id'];
$vegid=$_POST['vegid'];
$vegcat=$_POST['vegcat'];
if(isset($_POST['pr']))
{
$price=$_POST['pr'];
if(!empty($price))
{
$dur=date('d m Y',time());
$query="insert into daily values('".$dur."','".$vegid."','".$vegcat."','".$id."','".$price."')";
if($query_run=mysql_query($query))
{
header('Location:Homepage_2.php?suc=1');
}
else
{
header('Location:Homepage_2.php?suc=2');
}
}
else
{
header('Location:Homepage_2.php?suc=3');
}
echo mysql_error();
}
?>
答案 0 :(得分:0)
更改此
<?php
if(isset($_POST['submit']))
{
$var=$_GET['number'];
$cat=$_GET['category'];
$unipath= array('breads','fruits','milk','vegetables');
echo $unipath[$cat];
echo '<img alt="140x140" src="/k/images/'.$unipath[$cat].'/'.$var.'.jpg" class="img-rounded"/>';
if(isset($_SESSION['stats']))
$mode=$_SESSION['stats'];
if($mode=='vendor')
{
echo "<form method='POST' action='insert.php'>
Enter price per item/kg:<input type='text' name='pr'>
<input type='hidden' name='vegid' value='" . $var . "'>
<input type='hidden' name='vegcat' value='" . $cat . "'><br/>
<br/><button type='submit' class='btn btn-primary' name='submit'> SUBMIT </button>//add name field
</form>";
}
}
?>
注意:您通过POST
方法发送数据。因此,请使用$_POST
分配变量。 (例如:$var=$_POST['number'];
和$cat=$_POST['category'];
)
答案 1 :(得分:0)
他们不是错误,他们是通知....
注意:未定义的索引:数字在 第161行的C:\ xampp \ htdocs \ k \ show_results_4.php
您正在尝试检索$_GET['number']
的值,而不检查$_GET['number']
是否存在
注意:未定义的索引:类别 第162行的C:\ xampp \ htdocs \ k \ show_results_4.php
您正在尝试检索$_GET['category']
的值,而不检查$_GET['category']
是否存在
注意:未定义的索引:在C:\ xampp \ htdocs \ k \ show_results_4.php上 第164行
因为你试图访问$ unipath [$ cat]并且没有设置$ cat,所以你试图获得$ unipath [](没有索引)的值
要使用任何索引值,请先检查它是否存在。
如何?
$variable = isset($array['index']) ? $array['index'] : 'default';