PHP没有';t获取HTML表单值


PHP doesn't get HTML Form values

我正在用HTML/PHP做一个学校项目。现在我遇到了一个问题,我们的PHP文件/bid.PHP无法检索HTML表单的输入数据。提交表格时,我们会收到以下错误:

分析错误:语法错误,第4行上D:''School''in''USBWebserver v8.5''USBWebserverv8.5''root''bid.php中出现意外T_VARIABLE

提前感谢您的帮助!

编辑:

到目前为止,我已经编辑了我的代码,因为我从各种来源找到了这些代码。它目前没有任何错误响应。这让我想知道问题出在哪里,因为插入的值不会显示在我的数据库中。面纱.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>

bid 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 ;

您失踪了;'s在你的末尾。

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

此代码应能在上运行

您错过了从开始的分号

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