0

我有一个提交给自身进行验证的表单,如果有错误,我有一些 if 语句来显示某些类。我还试图让用户在输入中发布数据,这样他们就不必重新输入它们。我不断收到此错误:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING.

如何在 if 语句中正确使用 Post 值?

<?php 
  if ($name_err == 1) 
    echo"<input type='text' name='name' placeholder='Name*' value='<?php echo $_POST['first_name']; ?>'  class='text error'>";
  else 
    echo "<input type='text' name='name' placeholder='Name*' class='text'>"; 
?>
4

4 回答 4

0

为什么 PHP 代码中间有 php 标签?那是你的错误。后面没有空格可能会出错,echo但不能确定!

<?php if ($name_err == 1) echo 

  "<input type='text' 
    name='name' 
    placeholder='Name*' 
    value={$_POST['first_name']}
    class='text error'>";

else echo 

"<input type='text' name='name' placeholder='Name*' class='text'>"; ?>
于 2013-11-10T19:25:44.200 回答
0

你有一个简单的解析错误。

你正在打开一个 < ? 在活动 < ?php echo 语句中的 php 块。

<?php if ($name_err == 1) 
{
    echo "<input type='text' name='name' placeholder='Name*' value='";
    echo $_POST['first_name'];
    echo "'  class='text error'>";
 }
 else echo "<input type='text' name='name' placeholder='Name*' class='text'>"; 
 ?>
于 2013-11-10T19:26:53.877 回答
0
<?php if ($name_err == 1):?>
<input type='text' name='name' placeholder='Name*' value='<?=$_POST['first_name'];?>'  class='text error'>
<?php else:?>
<input type='text' name='name' placeholder='Name*' class='text'>
<?php endif; ?>

一旦不再需要 PHP,就应该关闭 PHP 标签,而不是嵌套打开的 PHP 标签

于 2013-11-10T19:28:04.470 回答
0

尝试这个:

<input type='text' name='name' placeholder='Name*' value='<?=$name_err == 1 ? $_POST['first_name'] : '';?>'  class='text <?=$name_err == 1 ? error : ''?>'>
于 2013-11-10T19:31:49.003 回答