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';
}
?>

此代码应该有效