0

我完全被困在这里,并在发布时发现了数十个示例以获取和设置值。我想做的是-

  1. 让用户在我的表单中的文本框中输入车辆年份模型(设置为发布)

  2. 然后我需要将此值设置为可变状态

    $vehicle_year = $_GET['vyear'];
    

    第一个错误在这里... vyear 是我的文本框的名称和 ID。错误 - 未定义的索引“vyear”。没有提交表单等,因为我仍然在同一个表单/页面上。

  3. 捕获此值后,我搜索我的数据库以返回所有附有年份(如返回)的制造商 -

    $query = "SELECT * FROM `vehicledata` WHERE `year`='$vehicle_year'";
    

    显然它不起作用,因为我仍然没有从上面返回的未定义错误的值。我试图更改文本框的名称和 ID,但没有成功。

  4. 返回这些记录后,我需要将值添加到选择(下拉)框中。我不知道如何在其中获取值 - 似乎我需要运行一个循环,我知道如何,只是不知道如何将选项添加到选择框中。

    请注意,我的表单没有提交,我需要先加载所有相关数据才能提交。

任何帮助将不胜感激,thanx伙计们。

PS 一旦我知道如何获取值并添加选项,我将添加反对 sql 注入。只需要基础知识就可以让我继续前进。

HTML: //这将是我的代码...搜索只是我的车轮
  

            <?php          

            $vehicle_year = isset($_POST['vehicleyear']) ? $_POST['vehicleyear'] : -1;                

                if ($vehicle_year == -1) {
                echo 'No Value Returned...';
                                    //returns no value...
            } else {
                                    //How to get the value and echo it out...
                echo $vehicle_year;
            }
 //$query = "SELECT * FROM (SELECT * FROM `vehicledata` WHERE `year`='$vehicle_year' ORDER BY `cid` DESC LIMIT 1, 10) AS `table` ORDER BY `cid` ASC";
 $query = "SELECT * FROM `vehicledata` WHERE `year`='$vehicle_year'";

 $result = mysql_query($query);

 while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
$vehicle_id = $line['cid'];
$vehicle_year = $line['year'];
$manufacturer = $line['carfindmake'];

//Get manufacturer data...
$images = get_make($vehicle_year);

if (!empty($make)) {
    echo 'No data';
} else {
    echo 'Found stuff';
}
 }
    ?>

            <td align="right"><span style="visibility:hidden" id="makelabel"><strong>Make</strong>&nbsp;&nbsp;</span></td>
            <!--<td><input name="make" id="make" type="text" class="searchbox" style="visibility:hidden" onClick="toggleVisibility('modellabel'); toggleVisibility('model');"/></td>-->
            <td><select name="make" id="make" class="searchbox" style="visibility:hidden" onClick="toggleVisibility('modellabel'); toggleVisibility('model');"/></td>
4

3 回答 3

1

2)当您的表单尚未提交时,这会导致错误,因为该值未设置。

通过以下方法解决此问题:

$vehicle_year = '';

if ( isset( $_POST['vyear'] ) ) {
    $vehicle_year = $_POST['vyear'];
}
于 2012-10-29T15:26:57.343 回答
0

我的表格(设置为发布)

$vehicle_year = $_GET['vyear'];

如果您的表单设置为使用 POST,则需要通过$_POST超全局访问表单元素,如下所示:

$vehicle_year = $_POST['vyear'];

如果您因为可能设置或未设置索引而遇到问题,请使用 PHPisset()进行检查。如果未设置索引,则不会导致错误。

if(isset($_POST['vyear'])) {
    $vehicle_year = $_POST['vyear'];
}
于 2012-10-29T15:23:56.357 回答
0

1 - 如果表单设置为 POST,您必须使用 $_POST["vyear"] 来恢复值。

2 - 仔细检查文本框名称的大小写。

于 2012-10-29T15:24:39.627 回答