永发信息网

请教php的一个基本逻辑

答案:1  悬赏:0  手机版
解决时间 2021-11-15 18:50
  • 提问者网友:了了无期
  • 2021-11-14 18:04
请教php的一个基本逻辑
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-11-14 19:36
你的要这么改
    if(isset($_GET["f"])){
if (!($_GET["f"] == "a" || $_GET["f"] == "b" || $_GET["f"] =="c")){
echo "error";
}
}但是我推荐用正则

    if(!preg_match("/[a-c]/",$_GET["f"])){
echo "error";
}这样就可以了


如果你想单独判断a,c,6,y,g
    if(!preg_match("/a|c|6|y|g/",$_GET["f"])){
echo "error";
}很简单吧?

追问谢谢这位大哥

我的a-c只是个比如

其实是一整个单词

试用第3个方法

比如:

if(!preg_match("/news|replay|send/",$_GET["f"]))

怎么好像不有效?追答    if(!preg_match("/news|replay|send/",$_GET["f"])){
echo "error";
}f=a的时候 输出error
f=news时 无输出


你是不是写错了
追问我的意思的,$_GET["f"] 只能=这3个可能

其他都为错,是以防用户乱输入$_GET["f"] 的值

希望$_GET["f"] 只能 = news或replay 或 send

$_GET["f"] 不是这3个值任何一个时,就判断有是错的追答没错啊 上面的代码
f=a时 不是三个中的一个 输出“error”就是报错了呀
f=news时 是三个中的一个 没输出“error”就是通过了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯