2016-10-26 8 views
0

投稿ボタンをクリックして入力/テキストエリアを空のままにしておきたいと思っています。私はそれが現在の灰色の境界線を赤に変えたいと思っています。投稿後に空の入力枠を変更する

私の現在のコード:

if(empty($_POST['email']) || 
    empty($_POST['name']) || 
    empty($_POST['message']) || 
    empty($_POST['pref-job']) || 
    empty($_POST['username'])) 
{ 
    echo "<style type='text/css'> 
      input { 
       border: thin solid #e51923; 
      } 
      textarea { 
       border: thin solid #e51923; 
      } 
      </style>"; 
} 

答えて

0

あなたは、PHPでこれを行うことができますが、より良いオプションは、HTML5を使用することです。

required属性は送信を停止し、入力されていない場合はフィールドをハイライト表示します。

<input type="email" name="email" required="required" /> 

これが唯一のHTML5を実装し、それらのブラウザで正しく機能しますし、検証のために依拠すべきではないことに注意してください。あなたはまだサーバー側を検証する必要があります。この場合、私はそれがPHPで無効であることを示すために、入力フィールドにクラスを追加することを示唆している - のようなもの:仕事に

このため
if (empty($_POST['email'])) { 
    $emailClass = 'validationFailed'; 
} else { 
    $emailClass = ''; 
} 
printf('<input type="email" name="email" class="%s" />', $emailClass); 

を、あなたはまた、定義されているためにvalidationFailedクラスが必要になりますもちろん - あなたの質問にあるようなもの:

.validationFailed { 
    border: thin solid #e51923; 
} 
0

どちらもHTML requireとPHP empty()は私space

$email = null; 
$name = null; 
$message = null; 
$pref_job = null; 
$username = null; 

if ($_POST) { 

    $error = false; 
    if(trim($_POST['email']) == false) { 
     $email = 'failed'; 
     $error = true; 
    } 
    if (trim($_POST['name']) == false) { 
     $name = 'failed'; 
     $error = true; 
    } 
    if (trim($_POST['message']) == false) { 
     $message = 'failed'; 
     $error = true; 
    } 
    if (trim($_POST['pref_job']) == false) { 
     $pref_job = 'failed'; 
     $error = true; 
    } 
    if (trim($_POST['username']) == false) { 
     $username = 'failed'; 
     $error = true; 
    } 
    if (! $error) { 

     //passed all basic validation 
    } 
} 
?> 

<style type='text/css'> 
.failed { 
    border: thin solid #e51923; 
} 
</style> 
<form method="post"> 
    <input type="text" name="email" class="<?php echo $email; ?>" /> <br /> 
    <input type="text"name="name" class="<?php echo $name; ?>"/> <br /> 
    <input type="text" name="message" class="<?php echo $message; ?>"/> <br /> 
    <input type="text" name="pref-job" class="<?php echo $pref_job; ?>"/> <br /> 
    <input type="text" name="username" class="<?php echo $username; ?>"/> <br /> 
    <input type="submit" value="Submit"/> 
</form> 
をバイパスすることができるので、

空を許可しない限りspaceの値

関連する問題