if语句中的Post Value

时间:2013-11-10 19:23:00

标签: php forms validation

我有一个表单提交给自己进行验证,如果有错误,我有一些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 个答案:

答案 0 :(得分: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'>"; ?>

答案 1 :(得分:0)

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

你开了一个&lt; ? php块里面有一个活跃的&lt; ?php echo statement。

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

答案 2 :(得分: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标记

答案 3 :(得分:0)

试试这个:

<input type='text' name='name' placeholder='Name*' value='<?=$name_err == 1 ? $_POST['first_name'] : '';?>'  class='text <?=$name_err == 1 ? error : ''?>'>