0

我有这个代码:

echo '<form method="post" class="product" action="index.php" id="addtocartproduct<?php echo $products->virtuemart_product_id ?>">';

我必须在 echo 中使用 echo 并且我必须在这一行中永远不要使用 php。我怎样才能编辑这一行并使它像:

echo '<form method="post" class="product" action="index.php" id="addtocartproduct echo $products->virtuemart_product_id ">';

编辑:感谢每一位非常有用的帮助。现在我有另一个问题。我能用这条线做什么:

echo'<input type="hidden" class="pname" value="<?php echo $product->product_name ?>">';
4

6 回答 6

6
echo '<form method="post" class="product" action="index.php" id="addtocartproduct '. $products->virtuemart_product_id.' ">';
于 2013-09-16T10:07:51.130 回答
3

您不需要在 echo 内回显,您只需要适当的连接即可。

echo '<form method="post" class="product" action="index.php" id="addtocartproduct
          '.$products->virtuemart_product_id.' ">';

或者

<form method="post" class="product" action="index.php" 
    id="addtocartproduct<?php echo $products->virtuemart_product_id; ?>">

如果在打开 php 标签之前将其关闭,然后尝试上述解决方案。

?>
<form method="post" class="product" action="index.php" 
    id="addtocartproduct<?php echo $products->virtuemart_product_id; ?>">
于 2013-09-16T10:01:11.430 回答
1

您不必在另一个内部使用回声,您可以执行以下操作之一:

<?php 

if (somethng) {
?>

<some tags you need in plain html> <?php echo "something you need from php"; ?> </some tags you need in plain html>


<?php
}else{
?>
<some more tags you need in plain html> <?php echo "something else you need from php"; ?> </some more tags you need in plain html>

<?php 
}
?>

或者您可以使用连接:

$varsecondsentence = "second sentence";

echo "this is the fisrt sentence, " . $varsecondsentence

这将回显:this is the fisrt sentence, second sentence

于 2013-09-16T10:11:10.393 回答
1
echo '<form method="post" class="product" action="index.php" id="addtocartproduct' . $products->virtuemart_product_id . '">';?>
于 2013-09-16T10:01:22.733 回答
1

PHP 中的变量在双引号内展开(插值)。所以你不需要echo在你的echo声明中使用。这是不正确的——无论是语法上还是逻辑上。

以下应该有效:

echo "<form method='post' class='product' action='index.php' 
id='addtocartproduct.{$products->virtuemart_product_id}'";

或者只使用字符串连接,如下所示:

echo '<form method="post" class="product" action="index.php" 
id="addtocartproduct' . $products->virtuemart_product_id . '">';

所有这些都做同样的事情,但我建议使用第一种方法,因为它更干净。

于 2013-09-16T10:01:34.650 回答
-2

只是 concat var 和 string 应该可以工作,那么你只需要一个 echo

 echo '<form method="post" class="product" action="index.php" id="addtocartproduct' + $products->virtuemart_product_id+' ">';

查看这些页面以获取更多文档 http://php.net/manual/en/language.operators.string.php

http://be1.php.net/manual/en/function.echo.php

于 2013-09-16T10:02:27.810 回答