表单提交会,根据不同的用户显示不同的信息

z341223318 2014-09-11 12:33:10
web server为Apache,请问什么办法可以实现比如,A用户输入用户名和密码,点登陆之后填出的页面中显示A,B用户输入用户名和密码,点登陆之后填出的页面中显示B,通过CGI技术可以实现吗?
麻烦高手指点一下!非常感谢!
...全文
2176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
piedgogo 2016-10-25
  • 打赏
  • 举报
回复
CGI 其实是个比较有歧义的叫法。狭义的一般指用 C 实现的 web 服务器应用接口,广义的 CGI 可以用 php、python、perl这些实现。 但是,不管怎么样,CGI 主要工作就是获取用户端提交的请求数据,然后运算、逻辑判断执行差别化操作。 上面有人提供了 C 版本的。这里给你一个 php 版本的。首先是发送数据给 CGI 的网页。
<html> 
<html> 
<body> 
<form action = "checkboxpost.php" method = "post"> 
<input type="checkbox" name="fruit[ ]" value = "Apple">Apple</input><br /> 
<input type="checkbox" name="fruit[ ]" value = "Orange">Orange</input><br /> 
<input type="checkbox" name="fruit[ ]" value = "Mango">Mango</input><br /> 
<input type="submit" value="ok"> 
</form> 
</body> 
</html>  
在服务器端,处理网页传过来数据,然后返回不同页面 ( 其实是部分内容替换 ):
<html> 
<body> 
<?php 
echo count($_POST["fruit"]),"<br />"; 
foreach ($_POST["fruit"] as $value) 
{echo $value,"<br />"; 
} 
?> 
</body> 
</html> 
当作看不见 2016-10-11
  • 打赏
  • 举报
回复
cookie 和session
拥剑公子 2016-10-11
  • 打赏
  • 举报
回复
当然可以,这就是cgi干的活啊。网页post数据过去,然后在cgi出现里面读取stdin得到post数据,显示即可。 bool get_post(char *buffer) { char *req_method = getenv("REQUEST_METHOD"); buffer[0] = 0x0; if (strcmp(req_method, "POST")) return false; char *input = getenv("CONTENT_LENGTH"); if (NULL == input) return false; int len = atoi(input); if (len <= 0) return false; int i = 0; while (i < len) { int x = fgetc(stdin); if (x == EOF) break; buffer[i++] = x; } buffer[i] = '\0'; return true; }
  • 打赏
  • 举报
回复
请问楼主这个问题解决了吗 可以一起交流交流 我也遇到这个问题了

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧