0
Hy guys!我第一次開發一個Perl Web應用程序。 我有一個包含2個表格的頁面,每個頁面上分別提交。 問題如下: 提交第二個表單時,它會執行第一個表單操作。 Params通過Get方法發送,url包含兩個表單中的輸入字符串。 這是代碼。perl多個表單問題
#!C:\Perl\bin\perl
use DBI;
use DBD::mysql;
print "content-type: text/html \n\n";
print '<html>';
print '<body>';
# DBI CONFIG VARIABLES
$host = "localhost";
$database = "t2";
$port = 3308;
$user = "";
$pw = "";
#DATA SOURCE NAME
$dsn = "dbi:mysql:$database:localhost:3306";
# PERL DBI CONNECT (RENAMED HANDLE)
$conn = DBI->connect($dsn, $user, $pw) or die "Unable to connect: $DBI::errstr\n";
$query = 'SELECT * From book';
$query_handle = $conn->prepare($query);
# EXECUTE THE QUERY
$query_handle->execute();
$query_handle->bind_columns(\$id, \$title ,\$author ,\$price, \$stock);
print '<table border="1">';
print '<thead>';
print '<tr>';
print '<td> Id </td>';
print '<td> title</td>';
print '<td> Author </td>';
print '<td> price</td>';
print '<td> Stock </td>';
print '<td> Buy </td>';
print '</tr>';
print '</thead>';
while($query_handle->fetch()) {
print '<tr>';
print '<td>';
print $id;
print '<td\>';
print '<td>';
print $title;
print '<td\>';
print '<td>';
print $author;
print '<td\>';
print '<td>';
print $price;
print '<td\>';
print '<td>';
print $stock;
print '<td\>';
print '<td>';
if ($stock ne '0')
{
print '<form name="form1" action = "http://localhost/t3/buyBook.pl" method="get">';
print '<input type="hidden" name="buy_id" value="'.$id.'"';
print '<input type="submit" name="buy" value="Buy"';
print '<form\>'
}else
{
print '<input type="submit" name="buy" disabled="disabled" value="Buy"';
}
print '<td\>';
print '<tr\>';
}
print '</table>';
print '<form name="form2" action="http://localhost/t3/search_book.pl" method="get ">';
print '<br/>';
print 'Search for book by:';
print '<br/>';
print '<input type="radio" name="searchBy" value="Title"> Title <br/>';
print '<input type="radio" name="searchBy" value="Author"> Author <br/>';
print '<input type="text" name="search_book" >';
print '<br/>';
print '<input type="submit" name="search" value="Search">';
print '</form>';
print '<body/>';
print '<html/>';
這裏顯示的網址按任意2個提交按鈕時: http://localhost/tema3/buyBook.pl?buy_id=7505&buy_id=2&buy_id=12195&search_book=&search=Search
任何想法如何解決這一問題? 安德魯
謝謝!這是問題...新手我... – Andrew 2011-05-02 18:36:26
請在腳本的乞討中添加'use strict;'。它會讓你的生活更輕鬆。你需要用'my'聲明新的變量。但它也會減少以變量名稱輸入錯誤的機會。 – 2011-05-02 18:38:09
我會這樣做,謝謝你的建議。 – Andrew 2011-05-02 18:44:28