2016-02-04 39 views
-5

我想使它检查用户是否有名字,如果不是,那么它会为它们创建一个空的占位符来输入它,但是如果它们确实有第一个名字名称将显示框中的名字。 有没有错误提出,如果只是不工作,请帮助我。如果名字存在,它会显示数据

<input type="text" name="firstname" id="firstname" <?php if(isset($_user_data["first_name"])) // Checks if exists { ?> value="<?php echo $user_data['first_name']; // Echos if exists ?>" <?php } else // Or shows empty placeholder { ?> placeholder="First name" <?php } ?> style="width: 200px;"> 

感谢

+0

你可能*从*试图在*一行用注释一样,所有代码的*越来越语法错误。至少,它会以某种方式混淆解析器。尝试使用一些回车时不时。它不仅使语法更清晰,而且使代码易于阅读。当你作为一个人来调试它时,这很重要。 – David

+0

我没有收到任何语法错误。 –

回答

1

你检查一下它的设置,而不是如果变量包含任何数据......添加

<input type="text" name="firstname" id="firstname" <?php if(isset($user_data["first_name"]) && $user_data["first_name"] != '') // Checks if exists { ?> value="<?php echo $user_data['first_name']; // Echos if exists ?>" <?php } else // Or shows empty placeholder { ?> placeholder="First name" <?php } ?> style="width: 200px;"> 
+1

yes其有效“变量名称遵循与PHP中其他标签相同的规则。有效的变量名称以字母或下划线开头,后跟任意数量的字母,数字或下划线。作为正则表达式,它将是这样表示:'[a-zA-Z_ \ x7f- \ xff] [a-zA-Z0-9_ \ x7f- \ xff] *'“ – 2016-02-04 20:44:48

+0

谢谢你的工作 –

0

我认为你正在使用错误的变量名:

$_user_data["first_name"] 

应该是:

$user_data["first_name"] 

旁注:

$_user_data也是使用变量的有效变量名称。

+0

现在有效谢谢 –

+0

'$ _'在php中是完全有效的 – 2016-02-04 20:46:01

+0

@dagon有效但对于OP无效 – devpro

0

我删除了,你试着做一个输入内的一切现有的结构。我觉得这更有条理的,但我想这就是个人喜好

<?php if(isset($user_data["first_name"])){ ?> 
    <input type="text" name="firstname" id="firstname" value="<?php echo $user_data['first_name']; ?>"/> 
<?php } else { ?> 
<input type="text" name="firstname" id="firstname" placeholder="First Name"/> 
<?php } ?> 
+1

这意味着如果变量没有设置输入将显示“占位符”而不是“名字” – meame69

+0

@ meame69哎呀我的坏。改变了! –

相关问题