是否可以在HTML中创建条件?

时间:2014-01-13 19:53:23

标签: php html conditional

<!DOCTYPE HTML>
<html>
<body style = "background-color: green;">

<?php

$inicioFibonacciErro = $fimFibonacciErro = "";
$inicioFibonacci = $fimFibonacci = "";

if($_SERVER["REQUEST_METHOD"] == "POST"){
    if(empty($_POST["inicioFibonacci"])){
        $inicioFibonacciErro = "O primeiro numero da sequencia eh necessario";
    }
    else{
        $inicioFibonacci = test_input($_POST["inicioFibonacci"]);
    }
    if(empty($_POST["fimFibonacci"])){
        $fimFibonacciErro = "O ultimo numero da sequencia eh necessario";
    }
    else{
        $fimFibonacci = test_input($_POST["fimFibonacci"]);
    }
}

function test_input($dados){
    $dados = trim($dados);
    $dados = stripslashes($dados);
    $dados = htmlspecialchars($dados);
    return $dados;
}
?>

<h1 style = "text-align: center; color: red;">Digite os valores desejado pra a    sequencia de fibonacci</h1>
<!-- Caso queira mandar pra outra pagina utilizar action = "nomedapagina" -->
<!-- Caso queira mandar pra a propria pagina '<?php echo  htmlspecialchars($_SERVER["PHP_SELF"]);?>' -->
<form action= <?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>  method="post"> 
Primeiro numero da sequencia: <input type="text" name="inicioFibonacci" />
<spam class = "error">* <?php echo $inicioFibonacciErro ?> </spam> <br /><br />
Ultimo numero da sequencia: <input type="text" name="fimFibonacci" />
<spam class = "error">* <?php echo $fimFibonacciErro ?> </spam> <br /><br />
<input type="submit" value="Veja o resultado!" />
</form>

</body>
</html>

此代码将生成一个页面,该页面需要两个数字才能创建斐波那契序列。我写了一个条件,如果他没有写这两个数字,就向用户显示一条消息。

我的疑问是:我正在使用的操作对于将错误(如果有的话)发送到同一页面很有用。但如果没有任何错误,就不会发生任何事情。

如果可能,我想要做的是创建一个条件,如果出现错误我会使用此操作,但如果没有,则使用该操作将数字发送到将显示斐波那契序列的其他页面

2 个答案:

答案 0 :(得分:4)

您可以在页面生成期间在PHP条件中嵌入HTML,如下所示:

<p>Some html goes here</p>
<?php if(CONDITION) { ?>
  <p>Unlimited html goes here</p>
<?php } else { ?>
  <p>However much html you want to handle the false-case goes here</p>
<?php } ?>

如果要在生成页面后执行条件,则需要一种客户端脚本语言:JavaScript。

答案 1 :(得分:0)

您可以使用模板框架(例如smarty)来使用条件来确定要显示的HTML代码。例如,假设您有一个结果,其中一列的值为1或2,您可以采用结果集并执行此操作(仅显示html标签以显示混合)

<table>
{foreach $results as $result}
    <tr><td>
    {if $result.mycol == 1}
        {$result.mycol}
    {else}
        random text
    {/if}
    </td></tr>
{/foreach}
</table>

这会输出类似

的内容
1
random text
1
1
random text

在smarty的情况下,你的html代码进入扩展名为.tpl的文件,你使用你的php代码将php变量发送到模板

$smarty->assign("results", $results);
$smarty->display("results.tpl");