PHP 没有得到 HTML 表单值
PHP doesn't get HTML Form values
我正在与 HTML / PHP 一起做一个学校项目。现在我遇到了问题,我们的 PHP 文件 /bid.php 没有检索我们的 HTML 表单的输入数据。
提交表单时出现以下错误:
Parse error: syntax error, unexpected T_VARIABLE in D:\School\IN\USBWebserver v8.5\USBWebserver v8.5.5\root\bid.php on line 4
提前感谢您的帮助!
编辑:
到目前为止,我已经编辑了我从各种来源找到的代码。它目前没有响应任何错误。让我想知道问题是什么,因为插入的值不会显示在我的数据库中。
面纱 .php
<form method="post" action="/bid.php">
<input type="text" name="bod" placeholder="bod">
<input type="text" name="naam" placeholder="naam">
<input type="text" name="item" placeholder="Item Nummer">
<input type="submit">
</form>
<?php
$bod = $_POST['bod'];
$naam = $_POST['naam'];
$item = $_POST['item'];
?>
bid.php
<?php
$bid = isset($_POST['bod']) ? $_POST['bod'] : false;
$name = isset($_POST['naam']) ? $_POST['naam'] : false;
$item = isset($_POST['item']) ? $_POST['item'] : false;
$connect = mysql_connect('localhost', 'root', 'usbw');
mysql_select_db ('veiling');
$sql = "INSERT into personeel (name, bod, item)
VALUES ('$name', '$bid', '$item')";
$res = mysql_query($sql);
mysql_close ($connect); ?>
下面是旧代码
面纱html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="get" action="/bid.php">
<input type="text" name="bod" placeholder="bod">
<input type="text" name="naam" placeholder="naam">
<input type="text" name="item" placeholder="Item Nummer">
<input type="submit">
</form>
</body>
</html>
出价php
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling')
$bid = $_GET['bod']
$name = $_GET['naam']
$item = $_GET['item']
$maxbid = mysql_query(SELECT MAX(bod) FROM veiling WHERE item=1)
if $bid =< $maxbid then
exit
else
INSERT INTO veiling (bod, naam, item)
VALUES ($bid, $name, $item)
// SQL
echo('Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd')
?>
还有我们的数据库
CREATE TABLE IF NOT EXISTS `veiling` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`bod` varchar(20) NOT NULL,
`item` int(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
你的代码错误太多我改了几个试试这个
改变,
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling')
$bid = $_GET['bod']
$name = $_GET['naam']
$item = $_GET['item']
$maxbid = mysql_query(SELECT MAX(bod) FROM veiling WHERE item=1)
if $bid =< $maxbid then
exit
else
INSERT INTO veiling (bod, naam, item)
VALUES ($bid, $name, $item)
// SQL
echo('Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd')
?>
像这样,
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling');
$bid = $_GET['bod'];
$name = $_GET['naam'];
$item = $_GET['item'] ;
$maxbid = mysql_query(SELECT MAX(bod) FROM veiling WHERE item=1);
if ($bid =< $maxbid)
exit
else
INSERT INTO veiling (bod, naam, item)
VALUES ($bid, $name, $item)
// SQL
echo('Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd');
?>
您漏掉了从
开始的分号
mysql_select_db ('veiling')
您在行尾缺少 ;。
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling');
$bid = $_GET['bod'];
$name = $_GET['naam'];
$item = $_GET['item'];
$maxbid = mysql_query("SELECT MAX(bod) FROM veiling WHERE item=1");
$maxbid = mysql_fetch_array($maxbid);
if( $bid =< $maxbid[0] )
{
die();
}
else
{
mysql_query("INSERT INTO veiling (bod, naam, item) VALUES ($bid, $name, $item)");
// You should escape the parameters with mysql_real_escape_string.
// SQL
echo 'Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd';
}
?>
此代码应该有效。
您还应该注意,从 PHP 5.5 开始,mysql_* 函数已被弃用。我建议您改用 PDO。
您的很多陈述都漏掉了必需的分号。我这样编辑了你的代码:
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling');
$bid = $_GET['bod'];
$name = $_GET['naam'];
$item = $_GET['item'];
$maxbid = mysql_query("SELECT MAX(bod) FROM veiling WHERE item=1");
$maxbid = mysql_fetch_array($maxbid);
if( $bid <= $maxbid[0] ) //notice the <= not =<
{
die();
}
else
{ //note the single quotes around $name and $item
mysql_query("INSERT INTO veiling (bod, naam, item) VALUES ($bid, '$name', '$item')");
//note the dot(.) concatenating your string with the variables
echo 'Gefeliciteerd '. $name. ', het bod op item '. $item. ' van €'. $bid. 'is succesvol toegevoegd';
}
?>
此代码应该有效
我正在与 HTML / PHP 一起做一个学校项目。现在我遇到了问题,我们的 PHP 文件 /bid.php 没有检索我们的 HTML 表单的输入数据。 提交表单时出现以下错误:
Parse error: syntax error, unexpected T_VARIABLE in D:\School\IN\USBWebserver v8.5\USBWebserver v8.5.5\root\bid.php on line 4
提前感谢您的帮助!
编辑:
到目前为止,我已经编辑了我从各种来源找到的代码。它目前没有响应任何错误。让我想知道问题是什么,因为插入的值不会显示在我的数据库中。 面纱 .php
<form method="post" action="/bid.php">
<input type="text" name="bod" placeholder="bod">
<input type="text" name="naam" placeholder="naam">
<input type="text" name="item" placeholder="Item Nummer">
<input type="submit">
</form>
<?php
$bod = $_POST['bod'];
$naam = $_POST['naam'];
$item = $_POST['item'];
?>
bid.php
<?php
$bid = isset($_POST['bod']) ? $_POST['bod'] : false;
$name = isset($_POST['naam']) ? $_POST['naam'] : false;
$item = isset($_POST['item']) ? $_POST['item'] : false;
$connect = mysql_connect('localhost', 'root', 'usbw');
mysql_select_db ('veiling');
$sql = "INSERT into personeel (name, bod, item)
VALUES ('$name', '$bid', '$item')";
$res = mysql_query($sql);
mysql_close ($connect); ?>
下面是旧代码
面纱html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="get" action="/bid.php">
<input type="text" name="bod" placeholder="bod">
<input type="text" name="naam" placeholder="naam">
<input type="text" name="item" placeholder="Item Nummer">
<input type="submit">
</form>
</body>
</html>
出价php
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling')
$bid = $_GET['bod']
$name = $_GET['naam']
$item = $_GET['item']
$maxbid = mysql_query(SELECT MAX(bod) FROM veiling WHERE item=1)
if $bid =< $maxbid then
exit
else
INSERT INTO veiling (bod, naam, item)
VALUES ($bid, $name, $item)
// SQL
echo('Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd')
?>
还有我们的数据库
CREATE TABLE IF NOT EXISTS `veiling` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`bod` varchar(20) NOT NULL,
`item` int(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
你的代码错误太多我改了几个试试这个 改变,
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling')
$bid = $_GET['bod']
$name = $_GET['naam']
$item = $_GET['item']
$maxbid = mysql_query(SELECT MAX(bod) FROM veiling WHERE item=1)
if $bid =< $maxbid then
exit
else
INSERT INTO veiling (bod, naam, item)
VALUES ($bid, $name, $item)
// SQL
echo('Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd')
?>
像这样,
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling');
$bid = $_GET['bod'];
$name = $_GET['naam'];
$item = $_GET['item'] ;
$maxbid = mysql_query(SELECT MAX(bod) FROM veiling WHERE item=1);
if ($bid =< $maxbid)
exit
else
INSERT INTO veiling (bod, naam, item)
VALUES ($bid, $name, $item)
// SQL
echo('Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd');
?>
您漏掉了从
开始的分号mysql_select_db ('veiling')
您在行尾缺少 ;。
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling');
$bid = $_GET['bod'];
$name = $_GET['naam'];
$item = $_GET['item'];
$maxbid = mysql_query("SELECT MAX(bod) FROM veiling WHERE item=1");
$maxbid = mysql_fetch_array($maxbid);
if( $bid =< $maxbid[0] )
{
die();
}
else
{
mysql_query("INSERT INTO veiling (bod, naam, item) VALUES ($bid, $name, $item)");
// You should escape the parameters with mysql_real_escape_string.
// SQL
echo 'Gefeliciteerd '$name', het bod op item ' $item ' van €' $bid 'is succesvol toegevoegd';
}
?>
此代码应该有效。
您还应该注意,从 PHP 5.5 开始,mysql_* 函数已被弃用。我建议您改用 PDO。
您的很多陈述都漏掉了必需的分号。我这样编辑了你的代码:
<?php
$conn = mysql_connect(localhost, root, usbw);
mysql_select_db ('veiling');
$bid = $_GET['bod'];
$name = $_GET['naam'];
$item = $_GET['item'];
$maxbid = mysql_query("SELECT MAX(bod) FROM veiling WHERE item=1");
$maxbid = mysql_fetch_array($maxbid);
if( $bid <= $maxbid[0] ) //notice the <= not =<
{
die();
}
else
{ //note the single quotes around $name and $item
mysql_query("INSERT INTO veiling (bod, naam, item) VALUES ($bid, '$name', '$item')");
//note the dot(.) concatenating your string with the variables
echo 'Gefeliciteerd '. $name. ', het bod op item '. $item. ' van €'. $bid. 'is succesvol toegevoegd';
}
?>
此代码应该有效