Поле ввода php выглядит как целое число - PullRequest
2 голосов
/ 16 ноября 2009

РЕДАКТИРОВАТЬ 2: После написания невероятно длинного объяснения более подробно я, конечно, обнаружил свою проблему, и это не имело никакого отношения к заданному вопросу. Это было вызвано тем, что я создавал свой собственный объект, назначая имя загруженного изображения его свойству «LogoName» ... затем создавал новую версию позже в коде, не назначая это свойство новому объекту, а затем пытался сохранить новый объект (без установленного LogoName) в базе данных.

Извините, что потратил впустую ваше время. Спасибо за ответ. Все они были проголосованы. КОНЕЦ РЕДАКТИРОВАНИЯ 2

У меня есть форма на сайте php. Форма имеет обычные параметры ввода City, State, Zip. Город выглядит так:

<label for="city">City</label><input type="text" name="city" value="<?php echo $business->city; ?>" id="city">

Zip выглядит так:

<label for="zip">Zip</label><input type="text" name="zip" value="<?php echo $business->zip; ?>" id="zip">

Когда я проверяю свой $ _POST, значения выглядят так: (с использованием FirePHP)

['city'] => 'St. Louis'
['zip'] => 12345

Поэтому, естественно, когда я помещаю эти значения в свой объект и пытаюсь сохранить этот объект в базе данных (в которой Zip является varchar), я получаю ошибки, поскольку Zip распознается как целое число.

Как мне указать форме для принудительного использования значения Zip в $ _POST в виде строки?

EDIT: Я даже не думал об этом, но, возможно, это актуально. Форма настроена так, чтобы разрешить загрузку изображений, поэтому в форме установлено enctype = "multipart / form-data". Может ли это быть причиной этой проблемы?

Кроме этого, я не знаю, что думать, поскольку я использую FirePHP для регистрации информации $ _POST в значительной степени, как только форма загружается при Submit. Я не могу придумать ничего, что могло бы вызвать эту проблему.

Ответы [ 3 ]

4 голосов
/ 16 ноября 2009

Вы можете привести его к такой строке

$zip = (string) $_POST['zip'];
1 голос
/ 16 ноября 2009

Я попробовал ваш пример, но получаю

    [zip] => 12345
    [city] => Anywheresville

Обычно не нужно беспокоиться о целых числах, не похожих на строки. Мне трудно думать о случае, когда разумное преобразование не произойдет автоматически. Может быть, вы могли бы разместить код, который формирует структуру и генерирует запрос?

1 голос
/ 16 ноября 2009

Вы можете сделать strval($var);
или $val."";:)

...