3

私はあなたの助けが必要です..フォームにエラーがあるときはいつでもテキストボックスを赤くしようとしています...

これが私ができることです。しかし、フォアを送信すると、フォームにUndefinedIndexerror_cssが表示されます

 if (isset($_POST['submit'])) { 
 if (empty($_POST['username'])) {
       $error_css='background-color:red';
 }

<label for="username">Username:</label>
<input id="username" type="text" value="<?php if(isset($_POST['username'])){ echo $_POST['username']; } ?>" name="username" title='Username' />

御時間ありがとうございます...

4

5 に答える 5

0

次のようなものを試してください。

<?php

$username = "";
$error_css = "";

if (isset($_POST['submit'])) {
    if(isset($_POST['username']))
        $username = $_POST['username'];
    else
        $error_css='background-color:red';
}

?>

<label for="username">Username:</label>
<input id="username" type="text" value="<?php echo $username; ?>" name="username" title='Username' style="<?php echo $error_css; ?>"/>
于 2012-05-16T20:45:46.507 に答える
0

変数$error_cssは空です/存在しません。

$error_cssスクリプトの最初の2つのケースが、コンテンツを取得するポイントに到達しないと思います。

于 2012-05-16T20:29:46.337 に答える
0

可能であれば、 jQuery検証プラグインのようなソリューションを調べてみませんか?ある種のサーバー側の検証が必要なため、これは完全なソリューションではありませんが、それで問題は解決します。

于 2012-05-16T20:31:43.400 に答える
0

<label for="username">Username:</label>
<input id="username" type="text" value="<?php echo @$_POST['username']; ?>"
   name="username" title='Username' style="<?php echo @$error_css; ?>"/>
于 2012-05-16T20:32:50.963 に答える
0

htmlタグにスタイルを設定することは決してなく、最初のif{if{}}ステートメントは冗長です。そのはず:

<label for="username">Username:</label>
    <input type="text" <?php 
        if(isset($_POST['username'])) { 
            echo 'value="'.$_POST['username'].'"'; 
        } else {
            echo 'style="background-color:red"';
        }
    ?> name="username" title='Username' >
于 2012-05-16T20:34:29.217 に答える