原创 【原创】嵌入式CGI开发之旅——8

2009-9-3 20:11 3309 6 7 分类: MCU/ 嵌入式

实验三、实现网页的重定向<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


重定向是说本来用户访问的是A页面,我们在A页面上放上脚本,当用户访问A页面时执行脚本将用户引导到B页面。这在很多时候是很有用的,不如用户长时间不处理,或者是一个提交页面,当用户提交的信息有效将用户引导到一个页面,当用户提交的信息无效时将用户引导到另一个提示页面。当然对用户提交信息的检测还可以通过ajax来实时监测,ajax我不懂,呵呵有时间再学习一下。


在前面使用的页面上新增加一个提交按钮,并设置其名称为redirectvalue设为“重定向”添加的代码:


1mycgictest.html


…………………


    <input type="reset" name="name_abord" id="name_abord" value="重置" />


    <label for="redirect"></label>


    <input type="submit" name="redirect" id="redirect" value="重定向" />


……………………..


对于表单中的输入域其name属性是最为重要的,一定要命名好。


再新建一个用户将跳转过去的页面:test_redirect.html


<HTML><HEAD>


<TITLE> Hello World!</TITLE>


</HEAD>


<BODY>


<H1>First PHP page</H1>


<HR>


<p>


  Hello&nbsp World!<P><img src="litterweb/images/numb/1.GIF" width="68" height="68">


</p>


</BODY></HTML>


2、修改mycgictest.c文件:


Content-Type输出前进行判断,注意在一个页面中不能既有ContentType输出,又有Location重定向或是Status错误码输出。所以这里要将重定向放到输出ContentType之前,如果放到之后就错误了。


         if(cgiFormSubmitClicked("redirect")==cgiFormSuccess){


                   cgiHeaderLocation("/test_redirect.html");


         }


    cgiHeaderContentType("text/html");


3、同样的在windows下用VS2008EP版编译通过后拷贝可执行文件到服务器bin执行目录并更改后缀名,然后在浏览器中访问mycgictest.html页面,然后点击上面的“重定向”按钮,如果浏览器跳转到指定的重定向页面说明:成功,哈哈!


4、这个实验中主要用到了cgiHeaderLocation()函数,参数为重定向的URL值,如果是服务器上的文档,只要指定相对路径就可以了。

至此相信你应该能写出一个简单的登录界面了,当然你肯定觉得界面很难看吧,不过没关系,我们在后期可以利用CSS+DIV的方式对页面进行排版和美化,这样将页面显示内容和显示方式分隔开来的好处是显而易见的,首先它可以减轻编程工作量,你总不想在C中用printf一句句的输出HTML标签及其属性吧?其次如果只是更改页面的哦样式而不更改内容的话我们只要简单的哦更改CSS就可以了,这同样能缩短开发周期和减小工作量哦!当然一个安全和完善的登录界面还有可能和数据库以及JS验证结合起来,这个到后面来学习,这里先学习基本的CGIC的操作。

文章评论1条评论)

登录后参与讨论

用户224470 2009-11-15 10:26

博主真是太强大不o(∩_∩)o... 不过刚才做这个实验发现了一个小问题 这个修改mycgictest.c文件时 cgiHeaderLocation("../test_redirect.html"); 这里应该这么写 是相对路径要不然会出错~
相关推荐阅读
huotingtu_505472073 2014-01-12 22:18
嵌入式程序员面试问题集锦
这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意...
huotingtu_505472073 2011-04-14 23:24
【转】一种实用的步进电机驱动电路
1 引言步进电动机是一种将电脉冲信号转换成角位移或线位移的精密执行元件,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备中得到广泛应用。微电子学的...
huotingtu_505472073 2011-04-14 23:22
【转】几种微型电机驱动电路分析
 以下所述电路用于3V供电的微型直流电机的驱动,这种电机有两根引线,更换两根引线的极性,电机换向。该驱动电路要求能进行正反转和停止控制。 电路一: 如下图所示,这电路是作者最初设计的电路,P1.3、P...
huotingtu_505472073 2011-02-18 19:57
【转】集成运放组成的电压比较器
1. 功能及应用:主要用来判断输入信号电位之间的相对大小,它至少有两个输入端及一个输出端,通常用一个输入端接被比较信号Ui,另一个则接基准电压VR 定门限电压(或称阀值)的UT。输出通常仅且仅有二...
huotingtu_505472073 2011-01-26 08:05
【转】直流无刷电动机工作原理与控制方法12
研究结果表明,在半导体薄片上产生的霍尔电动势E可用下式表示: 式中RH ——霍尔系数(  );IH——控制电流(A);B——磁感应强度(T);d——薄片厚度(m);p——材料电阻率(Ω*s);...
huotingtu_505472073 2011-01-26 07:55
【转】直流无刷电动机工作原理与控制方法1
序言   由于直流无刷电动机既具有交流电动机的结构简单、运行可靠、维护方便等一系列优点,又具备直流电动机的运行效率高、无励磁损耗以及调速性能好等诸多优点,故在当今国民经济各领域应用日益普及。   一个...
我要评论
1
6
关闭 站长推荐上一条 /2 下一条