К сожалению я не совсем понял, как при scale растянуть контент на ширину окна.
+ у scale есть неприятная особенность, он так же уменьшает и размер border, в отличии от zoom.
Так же как и в строке, пользователь может что угодно подменить json
Поэтому для того чтобы данные не навредили вам, их нужно валидировать.
Валидировать удобнее данные в массиве ["ключ" => "значение"], нежели в строке "ключ=значение". Поэтому отпралять на сервер данные лучше в json формате.
Павел, Да, и достаточно сравнить только то поле, которое должно быть уникальным. Конечно можно просто отловить ошибку при запросе, скорее всего текст будет таким и показать ее пользователя: