与PHP联系页面错误

时间:2012-07-21 00:00:15

标签: php

我有一个联系页面,我在浏览名称*字段作为5个字符的PHP时遇到问题,因为我通过在文本区域中放置Name *来节省我的网页空间。我在google上进行了研究,但我找不到任何代码来帮助忽略这些字符。我的PHP发布在下面。

if(!$name || strlen($name) < 5) {
    $error .= "Please enter your name.<br />";
}

所以我遇到的问题很可能是有人有一个3个字母的名字。

5 个答案:

答案 0 :(得分:4)

这是一个提示:不要。使用真实标签,不要只是在文本框中转储默认文本。此外,它如何节省空间?

<input type="text" name="name" value="Name*" />
Name*: <input type="text" name="name" />

没有意义。


如果必须,只需在其中添加|| $name == "Name*"

答案 1 :(得分:3)

您可以使用:

<input type="text" name="name" value="" placeholder="Name*" />

除了IE的旧版本http://www.w3schools.com/html5/att_input_placeholder.asp

之外,大多数浏览器都不支持此功能

更好的参考网站 - http://caniuse.com/input-placeholder(thnx Celeritas)

答案 2 :(得分:0)

如果你真的想这样做以节省布局空间,你可以尝试这样的方法来清除对焦场时字段中的默认值。

<input type="text" onfocus="if(this.value == 'value') { this.value = ''; }" value="value" />

答案 3 :(得分:0)

您可以使用substr跳过前5个字符。

假设您使用POST传递表单数据

$name = substr($POST['name'], 5)

Kolink是对的,我看不出这是如何节省空间的,只是在文本框之外的正确名称*。如果你真的想把它放在盒子里,你可以使用JavaScript在点击它时清除它。

答案 4 :(得分:0)

正如Kolink所说,您可以在|| $name == "Name*"声明中添加if

否则,这更像是客户端问题。如果你使用的是JQuery,你可以这样做:

$('#name').attr("is_focused",0);
$('#name').focus(function(){
    if($(this).attr("is_focused")==0){
        $(this).val("");
        $(this).attr("is_focused",1);
    }
});

然后,当用户提交表单时,请执行以下检查:

if($('#name').attr("is_focused")==0){
    alert('You must enter your name');
    return;
}