扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以通过两种方案:
创新互联从2013年开始,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元定兴做网站,已为上家服务,为定兴各地企业和个人服务,联系电话:028-86922220
第一,表单提交的时候在php端会员获取表单内容的,如果表单信息存储或者验证有问题那么原样返回提交的值到表单页面,类似编辑一个已经保存的信息;
第二,通过Ajax来传值,Ajax把表单数据提交给php,php处理完表单数据返回给Ajax一个状态值,这样表单页面是不会刷新,表单原数据还是会存在。
一、添加表单、布局表格
1、新建文档,保存为write.asp这个页面是签写留言的。首先要插入一个表单见图2。
二、添加表单域
1、姓名:在姓名对应的表格里添加文本字段,在属性面板上取名为name见图4,这样做是为了与数据库的字段名字相对应。
图4 姓名对应的表单域命名
2、OICQ、EMAIL、个人主页的表单域的添加方法同上,均为文本字段,分别命名为:OICQ|oicq,EMAIL|mail,个人主页|homepage。
3、头像:在相对应的单元格里分别插入用户头像图片,然后添加对应的单选按钮命名为:tx。
4、性别:在姓名对应的表格里添加两个单选按钮,选中性别男单选按钮:在属性面板为它改名为sex选定值为男,初始状态-已勾选,
设置见图5。 选中性别女单选按钮:在属性面板为它改名为sex选定值为女,初始状态-未选中,方法同上。
图5 性别男:对应表单域单选按钮的设置
5、提交与重置按钮:在最下面的单元格添加两个按钮,选中提交按钮:在属性面板为它改名为Submit,标签选提交,动作-提交表单,
设置见图6。 选中重置按钮:在属性面板为它改名为Submit2,标签选重置,动作-重设表单,方法同上。
图6 提交按钮属性
6、添加隐藏区域:在提交按钮旁单击添加隐藏区域,在属性面板里为它改名为IP,在值里添加代码 %= Request("remote_addr") %
这段代码是获取客户端IP的,见图7。
三、定义提交按钮的服务器行为
1、选中的整个表格,打开服务器行为面板,单击“+”按钮选择菜单下的插入记录,见图9。
图9 服务器行为-插入记录
2、设置表单域与数据库字段名一一对应,在表单元素里分别依次选中元素,在下面的列里选择与数据库相对应的域,见图10。
图10 插入记录对话框
四、定义表单提交的错误检查(行为面板)
1、签写留言时为了避免有错误信息的写入,添加表单提交的错误检查功能。打开设计面板下的行为面板,单击"+"选择检查表单,见图11。
图11 设计-行为-检查表单
2、设置表单域和检查事件:name选择必需的,ociq选择数字,mail选择必需的和电子邮件,homepage不选,liuyan选择必需的,见图12。
一、控制一页显示留言数和翻页按钮
先介绍应用程序下的按钮:记录集导航条:翻页功能按钮,记录集导航条状态:显示留言数量功能按钮,见图1。
图1 应用程序-记录集导航条/记录集导航状态
1、光标移到页面下方,单击记录集导航状态就会弹出记录集导航状态对话框,见图2。
图2 记录集导航状态对话框
2、再回车另起一行,单击记录集导航条就会弹出记录导航对话框,记录导航条将以文字方式显示,见图3。
图3 记录集导航条对话框
这样我们就完成了显示留言数量和翻页按钮,见图4。
图4 已加好翻面和显示留言数功能
二、留言内容显示问题
1、现在main.asp文件基本完成。当然,你会想到:如果我们输入一些html代码,会怎么样呢? 我们来输入一行html代码试一下,输入: font color="#0000FF" size="7" 测试 /font ,结果见图5,这个当然是不安全的。也就是为什么决大部分论坛不支持html的原因。
再测试看看,用户的留言如果很长,表格会自动撑大(文字不会自动换行)!!
2.、为了解决以上问题,我们将原来绑定到留言单元格中的记录集字段( %=(Recordset1.y_liuyan)% )删除,添加“文本区域”,添加好后的文本区域见图7。
图7 添加好的文本区域
3、然后选中刚才添加的文本区域,在属性面板里点击打开动态数据对话框,添加动态留言文本字段y_liuyan,见图8。
图8 为文本区域添加动态数据
现在可以在留言试试看,表格自动换行,而且不支持html代码了,留言内容的显示问题也可以借助Dreamweaver MX的插件来实现的。
你老师这样教学生的话, 可以说是在误人子弟!
刚学都那么偷懒, 巴不得一个网站就写一个字母就搞定是吧?
你开始的问题, 截的那张图来看, 好像是php没有被解析!
然后, 看你开头的是写的php短标签 ? 而不是长标签?php
那么, 你确定你的php运行环境支持?这种短标签吗???
接下来的问题, 错误提示你是sql语法有错误!
conn.php
?php
//下面几个变量, 双引号内没有使用变量, 那就不要用双引号, 改用单引号, 有利于php程序运行效率, 新手都要养成一好习惯
$hostname = 'localhost'; //mysql默认端口是3306, 除非你改动了mysql端口, 否则没必要画蛇添足的加什么端口号
$database = 'test';
$username = 'root';
$password = '';
$conn = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error() , E_USER_ERROR);
mysql_select_db($database, $conn) or die(mysql_error());
//$db = mysql_select_db($database, $conn); 上面已经选择数据库了, 没必要这里再选择一次, 更没必要赋值给变量 $db, 因为这个变量以后用不到了, 何必弄在哪里占个内存呢?
//下面的php结束标签页不要了, 因为你之后没有其他非php代码, 可以省略
?php //这里用长标签, 因为长标签只要是支持php就支持, 但短标签不一定, 要配置php.ini才可以, 虽然大部分服务器都支持段标签, 但无非就多3个字母, 没必要冒险!
include 'conn.php';//调用conn.php文件,用于连接到数据库
//连续的php代码, 没必要弄好几个标签来分开, 可以接着写
//下面获取post数据, 最好是加上引号, 否则php会把title当做常量查找一次, 不利于优化, 这是大忌
$title = $_POST['title']; //这果申请一$title变量用于保存从add_news.php传过来的新闻标题title值.
$content = $_POST['content']; //同上,保存新闻内容值.
$add_time = date('Y-m-d');//这句话把获取到的系统当前时间赋给变量$add_time
$sql = "INSERT INTO `news` (`title`, `content`, `add_time` ) VALUES ('{$title}','{$content}','{$add_time}')"; //这里就可以用双引号了, 因为里面用了变量, 试php能解析变量
//尽量少用@这个错误抑止符, 因为这样开销会很大很大
$result = mysql_query($sql,$conn) or die(mysql_error()); //如果添加成功,返回真给$result ,否则为false.
echo $result ? '添加新闻成功,a href="add_news.php"返回继续/a' : '添加新闻失败,a href="add_news.php"请返回/a';
//上面是三元运算, 效果等同于 if( ) { } else { }, 但语法更简洁清晰!
?php
$name=$_POST['user'];
$content=$_POST['post_contents'];
$conn=mysql_connect("localhost","admin","");
//做数据库连接判断
if(!$conn){
die("could not connect to the database:/br".mysql_error());//诊断连接错误
}
mysql_query("set names GB2312");//这里是names 不是 name
$db_selecct=mysql_select_db('gbook');//选择数据库
//选择库是不是成功了
if(!$db_selecct)
{
die("could not to the database/br".mysql_error());
}
//sql 语句中是字符串类型的外边要加单引号
$exec="INSERT INTO contents(name,content) VALUES('".$_POST['user']."','".$_POST['post_contents']."')";
$result=mysql_query($exec);
//这里是判断 $result 不是判断$exec;
if($result)
echo "添加留言成功,谢谢你的留言!" ;
else
echo "添加留言失败";
echo "pa href=index1.php center返回主页面/center/a";
mysql_close();
?
?php
include("conn.php");
include("head.php");
if(isset($_POST['submit']) $_POST['submit']) {
$sql="insert into message(id,user,title,content,lastdate) values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";
echo $sql; //先看看你生成的sql语句 是否正常 最好在PHPMYADMIN里面 或者 提示行模式下测试一下
if(mysql_query($sql)){
echo"center发布成功/center";
}
else echo "center上传失败center";
}
?
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流