0

Information.php

<?php

if (empty($_POST)===false){
    $required_fields = array('first_name','last_name','gender','age','location','about_me');
    foreach($_POST as $key =>$value){
        if(empty($value) && in_array($key, $required_fields) === true){
            $errors = 'fillin';
            break 1;
        }
    }
}
if (empty($_POST)=== false && empty($errors) === true){

    $update_data = array(
        'first_name' => $_POST['first_name'],
        'last_name' => $_POST['last_name'],
        'gender' => $_POST['gender'],
        'age' => $_POST['age'],
        'location' => $_POST['location'],
        'about_me' => $_POST['about_me']
    );
    update_user($update_data);
    echo 'updated';
}else if (empty($errors) === false){
    echo $errors;
}
?>
        <form action = "" method = "POST">
        First Name: <input type = "text" name = "first_name" maxlength = "40" placeholder = "First Name" value = "<?php echo $user_data['first_name']; ?>"><br>
        Last Name: <input type = "text" name = "last_name" maxlength = "40" placeholder = "Last Name" value = "<?php echo $user_data['last_name']; ?>"><br>
        Gender: <select type = "text" name = "gender" value = "<?php echo $user_data['gender']; ?>"><option>Select</option><option name = "male" value = "Male">Male</option><option name = "female" value = "Female">Female</option><option name = "othergen" value = "Other">Other</option></select><br>
        Age: <input type = "text" name = "age" maxlength = "3" placeholder = "What's your age?" value = "<?php echo $user_data['age']; ?>"><br>
       Location: <input type = "text" name = "location" maxlength = "100" placeholder = "Your location?" value = "<?php echo $user_data['location']; ?>"><br>
        About Me: <textarea type = "text" name = "about_me" maxlength = "500" placeholder = "Say something about yourself!" value = "<?php echo $user_data['about_me']; ?>"></textarea><br>

        <input type = "submit" value = "submit">
        </form>

主な問題は、PHPmyadminを使用して手動で更新したテキストエリアと選択ボックスの値が表示されないことですが、テキストボックス内の値は問題なく表示されます。

更新:フィールドは正常に更新されています!テキスト領域と選択ボックスでさえ、テーブルで更新されます。ただし、値はテキストエリアまたは選択ボックスに表示されません。したがって、問題は依然として解決しません。

変数user_data:

$user_data = user_data($session_user_id,'user_id','username','password','first_name','last_name','email','gender','age','location','about_me');
4

1 に答える 1

0

W3Cで定義されているように、textareavalueには属性がありません。代わりに、値は<textarea></textarea>タグでラップされます

<TEXTAREA name="thetext" rows="20" cols="80">
    First line of initial text.
    Second line of initial text.
</TEXTAREA>

これは、ドキュメントタイプHTML5にも有効です。

A<select>..</select>は、デフォルトで常に最初のものを送信<option>します。別のオプションを事前に選択する場合は、selected="selected"このオプションに属性を追加する必要があります。

http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1

Selectにはtype属性がありません。

selected例: PHPテンプレートに属性を追加する方法

<select name="fieldname">
    <option value="on select,submitted value" <?php echo $myValue == 'on select,submitted value' ? ' selected="selected"' : ''; ?>>displayed value</option>
    <option value="on select,submitted value 2" <?php echo $myValue == 'on select,submitted value 2' ? ' selected="selected"' : ''; ?>>displayed value</option>
</select>
于 2013-01-13T11:35:06.620 に答える