如果声明在变量中

时间:2014-06-27 09:39:07

标签: php variables if-statement

我看过很多帖子都有这样的问题,但我找不到合适的答案。 问题是,我有一个代码,说明如果...是空的,生成变量...(见下面的代码)。 这个变量是一个表单,在这种形式下你有名字,消息等东西。我想要的是名称的占位符,如果用户登录为他的名字,保存在我的数据库中。这是代码:

    $action = isset($_POST["action"]) ? $_POST["action"] : "";
if (empty($action)) { 
    // Send back the contact form HTML
    $output = "<div style='display:none'>
    <div class='contact-top'></div>
    <div class='contact-content'>
        <h1 class='contact-title'>Stuur een bericht voor hulp:</h1>
        <div class='contact-loading' style='display:none'></div>
        <div class='contact-message' style='display:none'></div>
        <br><br><form action='#' style='display:none'>
            <input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' placeholder='Naam*' /><br><br>
            <input type='text' id='contact-email' class='contact-input' name='email' tabindex='1002' placeholder='Email*' /><br><br>";

这就是我想要的,但是什么行不通:

<input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' placeholder=', " if (logged_in() === true) {echo $user_data["name"] } else { echo 'Naam'; } " ,' /><br><br>

希望有人可以提前帮助,

(naam =我的语言中的名字)

3 个答案:

答案 0 :(得分:1)

您忘了在<?php代码

中包围您的if
 <input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' placeholder="<?php  if (logged_in() === true) { echo $user_data["name"]; } else { echo 'Naam'; } ?>" /><br><br>

PS 条件在字符串内部不起作用,因此如果您需要在html模板之外,则需要在字符串之前执行此操作:

$name = 'Naam';
if (logged_in() === true) { $name = $user_data["name"]; }    

$html = "<input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' placeholder="{$name}" /><br><br>";

答案 1 :(得分:0)

只需在文件顶部执行此操作

 <?php if(logged_in()==true){ $name = $user_data["name"];} else {$name="Naam*";};?>

然后在形式中回显$ name ...

<input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' placeholder='<?php echo $name;?>' /><br><br>

它更像一个分离和清洁

基本上就是这样......

  $action = isset($_POST["action"]) ? $_POST["action"] : "";
  if (empty($action)) { 
  if(logged_in()==true){ $name = $user_data["name"];} else {$name="Naam*";};
  // Send back the contact form HTML
   $output = "<div style='display:none'>
   <div class='contact-top'></div>
   <div class='contact-content'>
    <h1 class='contact-title'>Stuur een bericht voor hulp:</h1>
    <div class='contact-loading' style='display:none'></div>
    <div class='contact-message' style='display:none'></div>
    <br><br><form action='#' style='display:none'>
        <input type='text' id='contact-name' class='contact-input' name='".$name."' tabindex='1001' placeholder='Naam*' /><br><br>
        <input type='text' id='contact-email' class='contact-input' name='email' tabindex='1002' placeholder='Email*' /><br><br>";

答案 2 :(得分:0)

您必须连接要放入字符串的变量。例如,你可以这样做:

if (User is logged)
    naam = 'USERNAME';
else
    naam = '';

并在您的输出中:

<input type='text' id='contact-name' class='contact-input' name='name' tabindex='1001' placeholder='".$naam."' />