2017-05-10 38 views
0

我有註冊表單,我需要隱藏提交按鈕。這個按鈕在PHP中執行後會顯示出來。如何通過PHP在HTML按鈕上添加CSS類

我試圖使用CSS類,它的工作原理,但我不知道如何添加一個類與PHP。

這裏是一流的按鈕,我想改變:

<form method="post" action="register.php" name="registerform"> 
<input type="submit" name="register" value="registrovat" id="button8" class=I don't know what /><br><br> 
</form> 

我的CSS:

#button8{ 
    visibility: hidden; 
    font-family: century gothic; 
    color: #0099FF; 
    border: 2px solid #0099FF; 
    background: transparent; 
} 
#button8.visible{ 
    visibility: visible;} 

我需要改變,以button8.visible但在PHP(我的條件取決於MySQL數據)。

編輯:

我需要它,因爲,基於代碼的按鈕將是可見的。用戶輸入代碼後,按下一個按鈕。此操作將運行PHP:連接到mySQL查找此代碼是否在數據庫中。如果是,我需要我的按鈕可見。由於我的知識水平低,我希望在同樣的PHP會話中使用if語句,其中mySQL。這裏是整個代碼:

<!DOCTYPE html> 
<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
    <title>Panákovač 4.0</title> 
    <link rel="stylesheet" type="text/css" href="mystyle.css"> 
</head> 


</head> 
<body> 



</body> 
</html> 

<?php 
// show potential errors/feedback (from registration object) 
if (isset($registration)) { 
    if ($registration->errors) { 
     foreach ($registration->errors as $error) { 
      echo $error; 
     } 
    } 
    if ($registration->messages) { 
     foreach ($registration->messages as $message) { 
      echo $message; 
     } 
    } 
} 

?> 

<!-- register form --> 
<form method="post" action="register.php" name="registerform"> 
    <input id="login_input_username" class="login_input" type="text" pattern="[a-zA-Z0-9]{2,64}" name="user_name" placeholder="uživatelské jméno" required /><br> 
    <input id="login_input_password_new" class="login_input" type="password" name="user_password_new" pattern=".{6,}" placeholder="heslo (min. 6 znaků)" required autocomplete="off" /><br> 
    <input id="login_input_password_repeat" class="login_input" type="password" name="user_password_repeat" pattern=".{6,}" placeholder="zopakujte heslo" required autocomplete="off" /><br> 
    <input id="login_input_firstname" class="login_input" type="text" name="user_firstname" placeholder="jméno" required /><br> 
    <input id="login_input_lastname" class="login_input" type="text" name="user_lastname" placeholder="příjmení" required /><br> 
    <input id="login_input_email" class="login_input" type="email" name="user_email" placeholder="e-mail" required /><br> 
    <input id="login_input_company" class="login_input" type="text" name="user_company" placeholder="firma" required /><br> 
    <input type="submit" name="register" value="registrovat" id="button8" class= /><br><br> 
</form> 

<form method="post" action="register.php" name="registerform"> 
    <input id="login_input_code" class="login_input" type="text" name="user_code" placeholder="ověřovací kód" required /><br> 
    <input type="submit" name="kod" value="ověřit kód"/><br> 
</form> 

<?php 
if(isset($_POST['kod'])){ 
      $servername = "localhost"; 
      $username = "root"; 
      $password = ""; 
      $dbname = "login"; 


      // Create connection 
      $conn = new mysqli($servername, $username, $password, $dbname); 
      // Check connection 
      if ($conn->connect_error) { 
       die("Connection failed: " . $conn->connect_error); 
      } 
$user_code = $_POST['user_code']; 
$sql = "SELECT `used`,`code` FROM `regcode` WHERE `code` LIKE '$user_code' "; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 

     echo "kód: " . $row["code"]. " - použito: " . $row["used"]. $zob . "<br>"; 
     $pouzito = $row["used"]; 
MY CONDION FOR CLASSES 
    } 
} else { 
    echo "chybný kód" . $user_code; 
} 
      $conn->close(); 
    } 

?> 
+0

你爲什麼不使用JavaScript?你試圖做的事情並不完全有意義 – clearshot66

+0

在php中使用條件。類似於?>' –

+2

它確實有意義,但是讓整個按鈕以MySQL結果爲條件會更簡單結果。如果您需要更多幫助,我們需要查看您的PHP來檢索此結果。 –

回答

5

您可以添加一個PHP如果HTML內容像這裏面的條件:

<form method="post" action="register.php" name="registerform"> 
    <input type="submit" name="register" value="registrovat" id="button8" 
    class="<?php if(condition) { echo 'classname'; } ?>" /> 
</form> 

在這種情況下,如果條件是trueecho在類中的類屬性,還有其他方法可以實現,但這是新PHP開發人員最直觀的方式。

像@Jordi Nebot告訴你可以做短版一樣:

<input class="<?= ($condition) ? 'classname' : ''"> ?> 
+0

ye-eees ......但如果它只是在切換能見度,爲什麼要輸出''呢? – CD001

+0

@ CD001不錯,但他只問如何在PHP中添加一個HTML內容的類,我向他展示了最直觀的方式,因爲它看起來他正在學習如何:) – Troyer

0
在PHP

唯一的辦法就是呼應輸出

echo '<input type="submit" name="register" value="registrovat" id="button8" 
class="class1">'; 

echo '<input type="submit" name="register" value="registrovat" id="button8" 
class="class2">'; 

等等

$class = "class1"; 
?> 
input type="submit" name="register" value="registrovat" id="button8" 
class="<?php echo $class; ?>"> 
<?php 

$class = "class2"; 
?> 
input type="submit" name="register" value="registrovat" id="button8" 
class="<?php echo $class; ?>"> 
<?php 
+0

這實際上並沒有解決條件性質題。 –

+0

當然確實,問題是如何更改php中的類名稱。要做到這一點的唯一方法是更改​​輸出中名稱的回顯 – user3005775

+0

那麼...條件在哪裏? –

0
<?php $classname = condition ? 'class8' : 'defaultClass'; ?> 
<form method="post" action="register.php" name="registerform"> 
     <input type="submit" name="register" value="registrovat" id="button8" class="<?php echo $classname; ?>" /><br><br> 
    </form> 
0

您可以使用三元運算符,如:

<form method="post" action="register.php" name="registerform"> 
     <input type="submit" name="register" value="registrovat" id="button8" class"<?= $condition ? 'classvisible' : 'classhidden'"?> /> 
    </form> 
0

我知道了。我不知道,如果我想使用PHP中的變量,PHP必須放在HTML之上。 在PHP中:

...//some condition 
If ($row["used"] == 0){ 
     $myclass ="zobrazeno"; 
     } 
... 

在HTML

<input type="submit" name="register" value="registrovat" id="button8" class=<?php echo $myclass; ?> /><br><br> 

在CSS:

#button8{ 
    visibility: hidden; 
    font-family: century gothic; 
    color: #0099FF; 
    border: 2px solid #0099FF; 
    background: transparent; 

#button8.zobrazeno{ 
    visibility: visible;