0

我正在学习 PHP,我正在从 HTML 表单中发布变量

下面是我的代码:

<html>
<head>
<title>Welcome to PHP Products</title>
</head>
<body>
<?php
$txt1=$_POST["product_form_no"];
$txt2=$_POST["product_form_name"];
$txt3=$_POST["product_form_desc"];

<h1>The Entered Product</h1>

<p>Product No</p>echo $txt1;
<p>Product Name</p>echo $txt2;
<p>Product Desc</p>echo $txt3;

 ?> 
 </body>
 </html>

我收到以下错误

解析错误:语法错误,第 12 行 C:\wamp\www\product_entered_list.php 中的意外 '<'

任何帮助都会有所帮助!

4

7 回答 7

2
<?php
$txt1=$_POST["product_form_no"];
$txt2=$_POST["product_form_name"];
$txt3=$_POST["product_form_desc"];

?>   <---missing

如果没有关闭?>,当到达 > 时,您仍处于“PHP 模式” <h1,并且 PHP 会尝试将其解释为 PHP 代码,而不是 HTML。

这意味着您还必须修改回声线:

<p>Product No</p><?php echo $txt1; ?>
                 ^^^^^^           ^^^
于 2012-12-17T18:22:17.427 回答
0

问题是您在<?php ?> 标记之间输入了 HTML,也称为语法错误 :))

以后一定要使用 PHP 的echo函数来正确显示输出。

echo "<h1>The Entered Product</h1>";

echo "<p>Product No " . $txt1 . "</p>";
echo "<p>Product Name</p>" . $txt2;
echo "<p>Product Desc</p>" . $txt3;

附带说明一下,如果您正在学习并且脚本不会公开,那么直接从表单中显示页面上的数据很好。但是,如果您打算进行任何认真的编码(即公众将使用该脚本),您可能需要阅读一点关于表单安全性的内容。

于 2012-12-17T18:30:09.317 回答
0

尝试在“输入的产品”之前关闭 php 标签,然后为每个 echo 打开 php 标签并关闭它们。代码将如下所示:

<?php
$txt1=$_POST["product_form_no"];
$txt2=$_POST["product_form_name"];
$txt3=$_POST["product_form_desc"];
?>
<h1>The Entered Product</h1>

<p>Product No</p><?php echo $txt1; ?>
<p>Product Name</p><?php echo $txt2; ?>
<p>Product Desc</p><?php echo $txt3; ?>

告诉我它是否有效。

于 2012-12-17T18:22:39.360 回答
0

试试这个...您需要在编写 HTML 之前使用结束 php 标记。

这适用于您的 POST 变量部分以及您回显 3 个变量值的位置

 <html>
 <head>
 <title>Welcome to PHP Products</title>
 </head>
 <body>
 <?php
    $txt1=$_POST["product_form_no"];
    $txt2=$_POST["product_form_name"];
    $txt3=$_POST["product_form_desc"];
 ?>
 <h1>The Entered Product</h1>

 <p>Product No</p> <?php echo $txt1; ?>
 <p>Product Name</p><?php echo $txt2; ?>
 <p>Product Desc</p><?php echo $txt3; ?>

 </body>
 </html>
于 2012-12-17T18:24:11.217 回答
0

你的问题在这里:

$txt3=$_POST["product_form_desc"];

<h1>The Entered Product</h1>

<p>Product No</p>echo $txt1;

在 PHP 的中间,您开始使用 HTML。您必须先关闭 PHP 标记,或使用 echo 打印出 HTML。

执行以下任一操作:

$txt3=$_POST["product_form_desc"];

?>

<h1>The Entered Product</h1>

<p>Product No</p><?= $txt1 ?>

或这个:

$txt3=$_POST["product_form_desc"];

echo"<h1>The Entered Product</h1>";

echo "<p>Product No</p>" . $txt1;
于 2012-12-17T18:24:26.070 回答
0

有很多标签丢失。在变量赋值后关闭一个,在回声周围关闭和打开。我建议倒退一步,从 PHP 基础开始。

于 2012-12-17T18:26:26.950 回答
0

在第 6 行 PHP 代码开始和第 11 行 HTML 代码开始的代码中,php 标签没有关闭,因此代码也被解释了。因此,第 11 行开头的“<”会导致 FATAL 错误,因为它无法识别 PHP 代码。

要将 HTML 代码合并到 PHP 中,您可以使用 PHP 开始和结束标记将 HTML 和 PHP 代码合并到一个文件中。或者您可以使用引号 "" 将 html 代码作为字符串到 PHP 并回显。

下面是方法一:

<html>
<head>
<title>Welcome to PHP Products</title>
</head>
<body>
<?php
   $txt1=$_POST["product_form_no"];
   $txt2=$_POST["product_form_name"];
   $txt3=$_POST["product_form_desc"];

   echo "
    <h1>The Entered Product</h1>
    <p>Product No</p>$txt1
    <p>Product Name</p>$txt2
    <p>Product Desc</p>$txt3";
?> 
</body>
</html>

方法二:

<html>
<head>
<title>Welcome to PHP Products</title>
</head>
<body>
<?php
   $txt1=$_POST["product_form_no"];
   $txt2=$_POST["product_form_name"];
   $txt3=$_POST["product_form_desc"];
?>  
<h1>The Entered Product</h1>
<p>Product No</p><?php echo $txt1;?>
    <p>Product Name</p><?php echo$txt2;?>
    <p>Product Desc</p><?php echo $txt3;?>
</body>
</html>
于 2012-12-17T18:48:14.577 回答