2016-01-23 47 views
1

您好,我有一個問題,用php中的複選框進行練習。我知道如何獲取每個複選框的值,但在這種情況下,值應該是輸入文本的附屬風格。該代碼,我到現在那就是:在php中應用樣式輸入文本的複選框

<?php 
$negrita = 'unchecked'; 
$cursiva = 'unchecked'; 
$subrayado = 'unchecked'; 

if (isset($_REQUEST['submit'])) { 

    if (isset($_POST['negrita'])){ 

     echo "<p style='font-weight: bold'>" . $_POST['texto']. "</p>" ; 
    } 
    if (isset($_POST['cursiva'])){ 
     echo "<p style='font-style: italic'>" . $_POST['texto']. "</p>" ; 
    } 
    if(isset($_POST['subrayado'])){ 
     echo "<p style='text-decoration: underline'>" . $_POST['texto']. "</p>" ; 
    } 

} 
?> 

<form action="ejercicio2_form.php" method="post"> 
    <p>Introduce el texto a mostrar: 
     <input type="text" name="texto" value="<?php if (isset($_REQUEST["texto"])) echo $_POST['texto'];?>" size="20"> <br /> 
    </p> 
    Estilo del texto: 
     <input type="checkbox" name="negrita" <?php if (isset($_POST['negrita']) && $_POST['negrita']=="negrita") echo "checked";?> value="negrita"> Negrita 
     <input type="checkbox" name="cursiva" <?php if (isset($_POST['cursiva']) && $_POST['cursiva']=="cursiva") echo "checked";?> value="cursiva"> Cursiva 
     <input type="checkbox" name="subrayado" <?php if (isset($_POST['subrayado']) && $_POST['subrayado']=="subrayado") echo "checked";?> value="subrayado"> Subrayado <br /> 
    <input type="submit" name="submit" value="Aceptar"> 

</form> 

</body> 

如果在文本框中我寫 「你好!」然後點擊所有3個複選框,我會得到3個不同的「你好!」另一個用斜體表示,第三個用斜體表示。我想要得到的只有一個「你好!」所有三種文本樣式都適用。

+0

您應該在'isset($ _ Post ['...'])'語句中填充'style'變量並將其應用到'echo'段落。 –

回答

1

喜歡的東西

if (isset($_REQUEST['submit'])) { 

    $style = ""; 

    if (isset($_POST['negrita'])){ 
     $style .= "font-weight: bold;"; 
    } 
    if (isset($_POST['cursiva'])){ 
     $style .= "font-style: italic;"; 
    } 
    if(isset($_POST['subrayado'])){ 
     $style .= "text-decoration: underline;"; 
    } 

    echo "<p style='" . $style . "'>" . $_POST['texto']. "</p>" ; 
} 

這裏是一個工作example

+0

非常感謝林納斯完全工作! –

相關問題