php输入字段以整数形式出现

时间:2009-11-16 01:57:01

标签: php webforms input zipcode

编辑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被识别为整数。

如何告诉表单强制将$ _POST中的Zip值作为字符串?

修改 我甚至没有想过这个,但也许它是相关的。表单设置为允许图像上传,因此表单设置了enctype =“multipart / form-data”。 这会导致这个问题吗?

除此之外,我不知道该怎么想,因为我只是在表单加载提交时使用FirePHP来记录$ _POST信息。我想不出会导致这个问题的任何事情。

3 个答案:

答案 0 :(得分:4)

您可以将它投射到像这样的字符串

$zip = (string) $_POST['zip'];

答案 1 :(得分:1)

你可以做strval($var);
$val."";:)

答案 2 :(得分:1)

我尝试了你的例子,但得到了

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

通常,人们不必担心看起来不像字符串的整数。我很难想到一个合理的转换不会自动发生的情况。您可以发布构成结构的代码并生成查询吗?