<input>元素不发布数据?

I have a form page and when I submit this form all inputs are posting successfully except this one:

<input id="TC" class="form-control" name="kullanici_id" type="text" onchange="edit()" 
  <?php if($this->data['kullanici_id']){echo 'readonly';} ?>  
  value="<?php echo $this->data['kullanici_id']?>">

But why?

-This is my .phtml file:

<html>
<head>

</head>
<body>
<form  enctype="multipart/form-data" action="/admin/kaydet" method="post" onSubmit="javascript: beforeSubmit();">
    <?php if(strlen($this->data['id'])):?>
        <input type="hidden" name="id" value="<?php echo $this->data['id']?>">
    <?php endif;?>
    <font color="green"><h3>DÜZENLE</h3></font>
    <img src="/foto/<?php echo $this->data['fotograf']?>" height="110" width="110" align="left" />
    <table class="table">
        <tr>
            <td>T.C. Kimlik No.:</td>
            <td><input id="TC" class="form-control" name="kullanici_id" type="text" onchange="edit()" <?php if($this->data['kullanici_id']){echo 'readonly';} ?>  value="<?php echo $this->data['kullanici_id']?>"></td>
        </tr>
        <?php if(!strlen($this->data['id'])):?>
        <tr>
            <td>Parola:</td>
            <td><input id="password2" class="form-control" type="password" name="parola" value="<?php echo $this->data['parola']?>"></td>
        </tr>
            <tr>
                <td>Parola Tekrar:</td>
                <td><input onchange="passwordCheck(this.value)" class="form-control" type="password" name="parola" value="<?php echo $this->data['parola']?>"></td>
        </tr>
        <?php endif; ?>
    </table>
    <td><button type="submit" class="btn btn-success btn-sm glyphicon glyphicon-floppy-disk">KAYDET</button> </td>
</form>
</body>
</html>

If I have an id; page looks like an edit member page, if I haven't; page will add a new member. In id="TC" input, if I edit a member, this input shouldn't change, so I add a readonly to solve this. But when I submit, input does not post. Sorry about my bad English :D

Reason your field is not being submitted it is because its set to readonly.

Reason for this is 'If user cannot change the field there is no point of submitting it as value will always remain the same'.

One way to mitigate this behavior is to add hidden field with same name

<input type="hidden" name="kullanici_id" value="<?php echo $this->data['kullanici_id']?>"> />
<input id="TC" class="form-control" name="kullanici_id" type="text" onchange="edit()" <?php if($this->data['kullanici_id']){echo 'readonly';} ?>   value="<?php echo $this->data['kullanici_id']?>" />