2017-09-03 15 views
-1

をサブミットした後、チェックボックス(スイッチ)のステータスをチェックする方法、MySQLのアップデート用のスイッチのステータスをチェックして投稿するにはどうすればよいですか?ありがとうございますPHPチェックボックス(スイッチ)に入れたフォームに

したがって、MySQLテーブルは変更されません。

チェックボックスから

<form method="POST" action="process.php"> 
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-1"> 
<input type="checkbox" id="switch-1" class="mdl-switch__input" checked> 
<span class="mdl-switch__label">Autenticazione a due fattori</span> 
</label> 
.... 
<input onclick="conferma();" class="mdl-button mdl-js-button 
mdl-button--raised mdl-js-ripple-effect mdl-button--accent" type="submit" 
value="Salva" name="submitBtn"> 
</form> 

スイッチ制御およびMySQLの更新(process.php)

<?php 
session_start(); 
mysql_connect(localhost) or die(mysql_error()); 
mysql_select_db("*******") or die(mysql_error()); 
$user = $_SESSION['users']; 
if(isset($_POST['submitBtn'])) { //form submission occured 
    if(!isset($_POST['switch-1'])){    
     $sql = "UPDATE `*******`.`login_users` SET `auth` = \'checked\' WHERE username = '$user'"; 
     header("location: https://*******.php"); 
    } else { 
     $sql = "UPDATE `*******`.`login_users` SET `auth` = \'unchecked\' WHERE username = '$user'"; 
     header("location: https://*******.php"); 
    } 
} 

?> 
+0

PHPをjsの中に入れましたか? – deg

+0

PHPは、ページがクライアントに送信される前に、サーバー上で実行されます。クライアント上では実行されません。 –

+0

そして、なぜスクリプトタグとPHP内部に入れますか? – z3nth10n

答えて

0

1)変更フォームを提出

<form method="POST" action="process.php"> 

    <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-1"> 
    <input type="checkbox" name="switch-1" id="switch-1" class="mdl-switch__input" checked> 
    <span class="mdl-switch__label">Autenticazione a due fattori</span> 
    </label> 
    .... 
    <input type="submit" value="Salva" name="submitBtn" class="mdl-button mdl-js-button 
    mdl-button--raised mdl-js-ripple-effect mdl-button--accent" > 

</form> 

2)新しい0を作成するページを同じ作業ディレクトリに追加して追加します。

EDIT:

<?php 

session_start(); 
$user = $_SESSION['users']; 

$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "YourDBName"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

if(isset($_POST['submitBtn'])) { //form submission occured 

    if(isset($_POST['switch-1'])){      
     $sql = "UPDATE login_users SET auth = 'checked' WHERE username = '$user'"; 
    } else { 
     $sql = "UPDATE login_users SET auth = 'no' WHERE username = '$user'"; 
    } 

    if ($conn->query($sql)) { 
     echo "Updated successfully"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

} else { 
    echo "Form Submission Error"; 
} 

$conn->close(); 
?> 

それは便利だと思います。

+0

私はすべてをやったが、MySQLは何も変えていない – SkateIV

+0

コードを修正しました。今すぐやってみて下さい。 –

+0

更新は成功しましたが、スイッチがMySQLでオフになっている場合はチェックが行われ、「いいえ」は表示されません – SkateIV

関連する問題