php开发路由器界面,路由器Web页面交互Tips(示例代码)
路由器Web页面开发中基于cgi形式,
一个页面对应一个c语言文件,如
network-lan.c -> lan_setup.cgi
wan.c -> wan.cgi
以network-lan.c 为例,该文件包括 main函数,Web页面生成,参数保存和读取的方法。
Web页面采用了HTML+Javascript+CSS和其他资源文件构成。
其中html文本主要是通过函数打印输出的方式实现,将html的各个元素视为可重用的关键词或语句,在输出函数为HTML的不同元素提供不同的显示方式。
例如:
{DIV_BEGIN, NULL, "class="setting">
{MISC_END, "div", NULL, NULL, NULL, NULL, NULL},
{RAWINPUT,"hostname",hostname,"text",NULL,NULL,"maxlength=‘32‘ οnblur=‘letter_digit_word_host(this, lan.hostname)‘"},
{RAWTXT,NULL,NULL,NULL,NULL,"*",NULL},
{RAWMSG, "share.maxlen32", NULL, NULL, NULL, "setting", NULL},
{MISC_END, "div", NULL, NULL, NULL, NULL, NULL},
Javascript使用两种实现方式:
1 通过在C语言函数中直接输出打印,相当于在HTML页面写js函数内容
2 调用js文件方式,将函数写在js文件中。
CSS样式则主要调用css文件的方式。
Web页面基本架构
在每个页面函数main()中,以下三个函数对HTML的文本内容进行分割,中间dispaly_form()函数在不同功能呈现不同,最终输出了一个完整的HTML代码文本
page_header(&header); //html header>menu
display_form(&form_property, &field_set, &footer_btns, &helps); //function display
page_end(); //end
页面交互逻辑
以配置更改为例
首次加载页面->读取配置->用户Web提交合法更改->获取更改的值并写入配置->刷新页面->页面读取配置并显示
页面调试方法
浏览器静态调试:浏览器访问Web页面按F12进入调试模式,可以直接查看HTML源码,并对HTML代码,CSS样式进行实时修改,从而快速尝试自己想要静态效果。
代码更新调试:在对应页面源码文件做更改后,执行make yourpath 部分编译,编译完成后,复制 .../webcgi/www/目录下对应的cgi网页文件等,传到路由器"/tmp/www/"对应路径下,实时生效,可观察页面或自定义的日志打印输出。
php开发路由器界面,路由器Web页面交互Tips(示例代码)相关推荐
- 5.PHP与Web页面交互
PHP与Web页面交互 PHP中提供了两种与Web页面交互的方法,一种是通过Web表单提交数据,另一种是通过URL参数传递. 表单提交用户名字和密码: <form name "form ...
- 简述php和web交互过程,PHP与Web页面交互操作实例分析
PHP与Web页面交互操作实例分析,表单,数组,参数,字符串,属性 PHP与Web页面交互操作实例分析 易采站长站,站长之家为您整理了PHP与Web页面交互操作实例分析的相关内容. 本文实例讲述了PH ...
- 记Outlook插件与Web页面交互的各种坑 (含c# HttpWebRequest 连接https 的完美解决方法)
记Outlook插件与Web页面交互的各种坑 (含c# HttpWebRequest 连接https 的完美解决方法) 参考文章: (1)记Outlook插件与Web页面交互的各种坑 (含c# Htt ...
- Android开发-UI界面--类微信页面设计
Android开发-UI界面–类微信页面设计 一.功能说明 设计一个类似微信的主页面框架,UI布局为上中下结构,包含了四个tag页面 二.开发技术 本次用到了layout.xml.控件.监听.fr ...
- [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...
- 实现类似路由器那样通过WEB页面配置设备
实现通过web来与其他进程交互 要像路由器那样,通过访问一个网页就能配置设备,实质上是web服务器与其他进程的通信问题.关键在于,我们的web服务器收到浏览器的请求时能够通知另外一个进程来处理.通常配 ...
- 华为路由器AR1220E-S通过web页面不能登录
问题原因:由于在WEB页面配置了"远程信任主机",但是信任主机和路由器不在一个网段,导致所有IP都不能通过WEB页面管理路由器 解决方案:通过console口直接连接路由器,删除信 ...
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送
在做一个微信的微网站中的一个 便民服务电话功能的应用 ,用到 移动web页面 中列出的 电话号码 ,点击需要实现调用通讯录, 网页一键拨号的拨打电话功能 . 如果需要在移动浏览器中实现拨打电话,发送e ...
最新文章
- 【Ubuntu】解决问题:tcp :8080: bind: address already in use
- 一个古老而优雅的电子线路
- BZOJ 3907: 网格( 组合数 + 高精度 )
- 从零开始学python人工智能课程_从零开始如何学习人工智能?
- 使用JS提交form表单和w3c标准
- Hi3515主板UBoot参数备份
- 计算机毕业设计asp.net学院网站系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
- idea:java注释模板配置
- n1盒子救砖_斐讯N1盒子刷机救砖教程
- 探索者易打软件--实现AutoCAD批量打印和自动命名
- ubuntu固定内网ip_Ubuntu 设置固定ip地址
- 如何用美剧真正提升你的英语水平(转载)
- 程序员生涯困惑时的自我解脱
- ios 字体 机打动效_24种打动朋友的方法
- MySQL的安全解决方案
- 四个月的写作之路No.22
- Java募捐_GitHub - javayhu/XingShan: 使徒行善,让行善成为一种习惯
- C语言学生信息管理系统
- 【Azure Data Platform】Azure SQLDW与ADLS的整合
- 51CTO下载被黑掉了!!!!