PHP表单,没有输入文本时

时间:2012-06-21 16:21:30

标签: php forms

我正在创建一个移动登陆页面,我还创建了一个表单,允许我通过复制一个模板文件的主机文件夹来创建更多文件。然后,该脚本将您带到一个页面,您可以逐页输入公司详细信息并按提交。然后创建页面。

我的问题是,当遗漏某个字段时(例如YouTube),该按钮已创建并且为空白。我希望在没有文本时有默认文本。我已经尝试了一些东西,并且一直在努力使这个工作为DAYS!

    <?php 
$company = $_POST["company"];
$phone = $_POST["phone"];
$colour = $_POST["colour"];
$email = $_POST["email"];
$website = $_POST["website"];
$video = $_POST["video"];
?>

<div id="contact-area">

<form method="post" action="generate.php"><br>
<input type="text" name="company" placeholder="Company Name" /><br>
<input type="text" name="slogan" placeholder="Slogan" /><br>
<input class="color {required:false}" name="colour" placeholder="Company Colour"><br>
<input type="text" name="phone" placeholder="Phone Number" /><br>
<input type="text" name="email" placeholder="Email Address" /><br>
<input type="text" name="website" placeholder="Full Website - Include http://" /><br>
<input type="text" name="video" placeholder="Video URL" /><br>
<input type="submit" value="Generate QuickLinks" style="background:url(images/submit.png) repeat-x; color:#FFF"/>
</form>

那就是表格。它接受变量并将它们发布到下面的文件中。

<?php 
 $File = "includes/details.php"; 
 $Handle = fopen($File, 'w');
 ?>

 <?php 
 $File = "includes/details.php";
 $Handle = fopen($File, 'w');
 $Data = "<div id='logo'>
          <h1 style='color:#$_POST[colour]'>$_POST[company]</h1>
          <h2>$_POST[slogan]</h2>
          </div>

<ul data-role='listview' data-inset='true' data-theme='b'>
       <li style='background-color:#$_POST[colour]'><a href='tel:$_POST[phone]'>Phone Us</a></li>
       <li style='background-color:#$_POST[colour]'><a href='mailto:$_POST[email]'>Email Us</a></li>
       <li style='background-color:#$_POST[colour]'><a href='$_POST[website]'>View Full Website</a></li>
       <li style='background-color:#$_POST[colour]'><a href='$_POST[video]'>Watch Us</a></li>
       </ul>

 \n";

 fwrite($Handle, $Data); 
 fclose($Handle); 
 ?>

并且表格变成了什么。我需要有一个默认链接,因为该字段留空,有时它是。先谢谢你们。

4 个答案:

答案 0 :(得分:1)

对每个元素使用类似的东西:

    $company = trim($_POST["company"]);

    if (!isset($company) || empty($company)) {
        $company = "Not filled in";
    }

我添加了修剪以确保忽略空格

答案 1 :(得分:0)

对每个变量使用以下格式:

  

$ company =(isset($ _ POST [“company”])&amp;&amp;!empty($ _ POST [“company”]))? $ _POST [ “公司”]: “”;

可以指定任何默认值的

“”。

答案 2 :(得分:0)

如果在函数中包含访问权限,通常更容易使用post变量:

function post($key, $default = '') {
  if (!isset($_POST[$key])) return $default;

  $value = trim($_POST[$key]);
  if ($value == '')
    return $default;
  else
    return $value;
}

您现在可以像这样分配变量:

$company = post('company');
$phone = post('phone', 'Not provided');
$colour = post('colour', 'blue');
... and so on...

答案 3 :(得分:-1)

您可以简单地将变量定义包装在以下代码中:

if (strlen($_POST["company"]) > 0) {
    $company = $_POST["company"];
} else {
    $company = "default company";
}

这将允许您指定一个默认值,如果存在,将由用户的数据覆盖。