php 在线问卷调查程序二

 更新时间:2016年11月25日 16:04  点击:2073

好了,html  页面的css与js都写好了下面我们来看看数据库与php程序是如何实现的吧,我们先来看看数据库结构.

CREATE TABLE IF NOT EXISTS `su_mon_vote` (
  `id` int(11) NOT NULL auto_increment,
  `v1` varchar(100) default NULL,
  `v2` varchar(200) NOT NULL,
  `v3` varchar(200) NOT NULL,
  `v4` varchar(200) NOT NULL,
  `v5` varchar(200) NOT NULL,
  `v6` varchar(200) NOT NULL,
  `name` varchar(50) NOT NULL,
  `tel` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `address` varchar(200) NOT NULL,
  `vip` varchar(20) NOT NULL,
  `vdate` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=6 ;上面的结构是随便写的没注意数据库其它方面报.好下面我们来看看php程序是怎么判断调查的吧.

if(empty($_COOKIE["cook"])){ 
  mysql_connect('localhost','root','mailangel') or die('database server no exists!');
  mysql_select_db('vot') or die('database error!'); 
  mysql_query("SET NAMES 'gbk'");//set document charset encode
  $name =get_value("name",'post');
  $tel =get_value("tel",'post');
  $email =get_value("email",'post');
  $add =get_value("address",'post');
  $vip =get_real_ip();
  $date =date("Y-m-d h:i:s");
  $value =$_SERVER['HTTP_HOST']; 
  
  $array =array();
  for($i=1;$i<=6;$i++){
   $v ='v'.$i;
   $v =get_value("$v",'post');
   $array[$i-1]=$v;
   if(empty($v)){
    alert('对不起,你还有选项未选!','');
   }
  } 
  
  if( strlen($name)>100 || strlen($name)<3 ) {
   alert('用户名长度3-20','');
  }elseif( strlen($tel)>15 || strlen($tel)<7){ 
   alert('请输入正确的电话号码!','');
  }elseif( strlen($email)>50 || strlen($email)<10 ) {
   alert('对不起,你的邮箱地址不正确!','');
  }elseif( strlen($add)>100 || strlen($add)<10 ){
   alert('地址长度10-100字符!','');
  }
  
  $sql ="Insert into su_mon_vote(v1,v2,v3,v4,v5,v6,name,email,address,vip,vdate,tel) value( ";
  $sql =$sql."'".$array[0]."','".$array[1]."','".$array[2]."','".$array[3]."','".$array[4]."','".$array[5]."','$name',";
  $sql =$sql."'$email','$add','$vip','$date','$tel')";
  //mysql_query($sql) or die($sql.mysql_error());
  if( mysql_query($sql)){
   setcookie("cook", $value, time()+7200, "/");
   alert('答题成功,谢谢你的参与!','index.html');
   
  }else{
   alert('系统忙...请稍后再试','');
  }
  
 }else{
   print "答题失败,一人只能参加一次答题!,<a href=# onclick="history.back();">点击返回</a>";
 } 
 
 
 

 function get_value($para,$para2){//获取参数的值
  if( 'post'==$para2 ){
   return addslashes(isset($_POST[$para])?$_POST[$para]:'');
  }else{
   return addslashes(isset($_GET[$para])?$_GET[$para]:'');
  }
 }
 
 function alert($str,$para){//提示设置函数,
  if( ''== $para){
   exit("<script>alert('$str');history.back();</script>");
  }else{
   exit("<script>alert('$str');location='$para';</script>");
  }
 }
 
  function get_real_ip(){
    $ip=false;
    if(!empty($_SERVER["HTTP_CLIENT_IP"])){
     $ip = $_SERVER["HTTP_CLIENT_IP"];
    }
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
     $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
     if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
     for ($i = 0; $i < count($ips); $i++) {
      if (!eregi ("^(10|172.16|192.168).", $ips[$i])) {
       $ip = $ips[$i];
       break;
      }
     }
    }
    return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
  }
?>

其实方法很多也很简单的,如

$_FILES['userfile']['type']就是在文件上传之前判断一下.

还有一个getimagesize -- 取得图像大小而getimagesize 返回和参数如下.

返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。

也是昨天用到了一个php 在线问卷调查程序哦,客户要在新浪投放广告,所以要统计用户相关信息,好了我们先看看效果页面

<html>
<head>
<title>问卷调查</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
body {
 background-color: #330104;
 text-align: center;
 background-image: url(images/bg.jpg);
 background-repeat: repeat-x;
 color: #fee0a8;
 margin: 0px;
 padding: 0px;
}
* {
 margin: 0px;
 padding: 0px;
}
#poll {
 width: 650px;
 margin-left: 100px;
}
#poll h1 {
 font-size: 12px;
 font-weight: normal;
 padding-top: 30px;
 line-height: 22px;
 height: 22px;
}
table.pollt {
 line-height: 24px;
 height: 24px;
 margin-top: 22px;
}
input.inputt {
 border: 1px solid #FEE0A8;
 background-color: #FFF9EC;
}
input.btn {
 background-image: url(images/btn.gif);
 display: block;
 height: 32px;
 width: 97px;
 color: #FEE0A8;
 border-top-width: 0px;
 border-right-width: 0px;
 border-bottom-width: 0px;
 border-left-width: 0px;
 border-top-style: none;
 border-right-style: none;
 border-bottom-style: none;
 border-left-style: none;
 background-color: #240002;
}
-->
</style>
<script>
<!--

function check() {
   var flag1=0;
  var flag2=0;
  var flag3=0;
  var flag4=0;
  var flag5=0;
  var flag6=0;
  var radio1=document.getElementsByName("v1");
   for(var i=0;i<radio1.length;i++)
   {
         if(radio1.item(i).checked==true)
             {
     flag1=1;
                  break;

       }
   }
   var radio2=document.getElementsByName("v2");
   for(var i=0;i<radio2.length;i++)
   {
         if(radio2.item(i).checked==true)
             {
     flag2=1;
                  break;
       }
   }
   var radio3=document.getElementsByName("v3");
   for(var i=0;i<radio3.length;i++)
   {
         if(radio3.item(i).checked==true)
             {
     flag3=1;
                  break;
       }
   }
   var radio4=document.getElementsByName("v4");
   for(var i=0;i<radio4.length;i++)
   {
         if(radio4.item(i).checked==true)
             {
     flag4=1;
                  break;
       }
   }
   var radio5=document.getElementsByName("v5");
   for(var i=0;i<radio5.length;i++)
   {
         if(radio5.item(i).checked==true)
             {
     flag5=1;
                  break;
       }
   }
   var radio6=document.getElementsByName("v6");
   for(var i=0;i<radio6.length;i++)
   {
         if(radio6.item(i).checked==true)
             {
     flag6=1;
                  break;
       }
   }

     if(!flag1||!flag2||!flag3||!flag4||!flag5||!flag6){
              alert("对不起,请回答完其他的问题?");
              return false;
     }
  
 if (add.name.value=="") {
     alert("请输入用户名!");
  add.name.focus();    
  return false;
 }
 if (add.name.value.length<2 || add.name.value.length>14)  {
  alert("姓名应该在2-14个字符之间!");
  add.name.focus();
  return false;
 } 
  if (add.tel.value==""){
    alert("请输入电话或手机号码!");
  add.tel.focus();    
  return false;
 } 
 if (add.email.value==""){
    alert("请输入电子邮件地址!");
  add.email.focus();    
  return false;
 } 
 var filter=/^s*([A-Za-z0-9_-]+(.w+)*@(w+.)+w{2,3})s*$/;
    if (!filter.test(document.add.email.value)) {
     alert("邮件地址不正确,请重新填写!");
        document.add.email.focus();
        document.add.email.select();
        return (false);
    } 
 if (add.address.value == ""){
  alert("请输入你的联系方式")
  add.email.focus();
  return false;
 }
 

}

//-->
</SCRIPT>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<!-- ImageReady Slices (问卷调查.psd) -->
<table id="__01" width="1002" height="1100" border="0" cellpadding="0" cellspacing="0">
 <tr>
  <td colspan="2">
   <img src="images/index_01.jpg" width="1002" height="57" alt=""></td>
 </tr>
 <tr>
  <td colspan="2">
   <img src="images/index_02.jpg" width="1002" height="107" alt=""></td>
 </tr>
 <tr>
  <td height="811" colspan="2" valign="top" background="images/index_03.jpg">
     <div id="poll">
     <form action="post.php" method="post"  name="add" enctype="multipart/form-data" onSubmit="return check();" >
<h1>1、泸州老窖特曲有多少年的历史?</h1>
<input name="v1" type="radio" value="300年">300年            
<input name="v1" type="radio" value="400年">400年              
<input name="v1" type="radio" value="1000年">1000年

<h1>2、浓香型白酒又被称为什么香型?</h1>
<input name="v2" type="radio" value="酱香型">酱香型          
<input name="v2" type="radio" value="奇香型">奇香型             
<input name="v2" type="radio" value="泸型">泸型

<h1>3、泸州老窖特曲曾代表中国获得最早什么国际大奖?</h1>
<input name="v3" type="radio" value="巴拿马万国博览会金奖">巴拿马万国博览会金奖
<input name="v3" type="radio" value="巴西博览会金奖">巴西博览会金奖        
<input name="v3" type="radio" value="巴拿马糖烟酒会金奖">巴拿马糖烟酒会金奖

<h1>4、泸州老窖特曲曾获得什么称号?</h1>
<input name="v4" type="radio" value="物质文化遗产">物质文化遗产     
<input name="v4" type="radio" value="非物质文化遗产">非物质文化遗产

<h1>5、此次泸州老窖特曲推出的赠品名称为?</h1>
<input name="v5" type="radio" value="金奖珍藏">金奖珍藏       
<input name="v5" type="radio" value="传世浓香">传世浓香         
<input name="v5" type="radio" value="传世珍藏">传世珍藏

<h1>6、在此次泸州老窖特曲促销活动中,您买多少瓶特曲就能获得“传世珍藏”大礼?</h1>
<input name="v6" type="radio" value="2瓶">2瓶              
<input name="v6" type="radio" value="4瓶">4瓶                  
<input name="v6" type="radio" value="6瓶">6瓶
     <table class="pollt" width="489" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="108">您的姓名</td>
    <td width="381"><label>
      <input type="text" class="inputt" name="name" id="name">
    </label></td>
  </tr>
  <tr>
    <td>您的电话</td>
    <td><input type="text" class="inputt" name="tel" id="tel"></td>
  </tr>
  <tr>
    <td>您的E-mail</td>
    <td><input type="text" class="inputt" name="email" id="email"></td>
  </tr>
  <tr>
    <td>您的联系方式</td>
    <td><input name="address" type="text" class="inputt" id="address" size="50"></td>
  </tr>
</table>
<table border="0" align="center" cellpadding="0" cellspacing="20">
  <tr>
    <td align="center"><input name="" type="submit" class="btn" value="提交"></td>
    <td align="center"><input name="重置" type="reset" class="btn" value="重新作答"></td>
  </tr>
</table>
</form>


          </div>
        </td>
  </tr>
 <tr>
  <td>
   <img src="images/index_04.jpg" width="17" height="125" alt=""></td>
  <td>
   <img src="images/index_05.jpg" width="985" height="125" alt=""></td>
 </tr>
</table>

<!-- End ImageReady Slices -->
</body>
</html>

<?php
 include("inc/connect.php"); //数据库连接
 include("inc/base_function.php"); //这里有get_value函数
 
 $buy =get_value('buy',post);
 $month =get_value('month',post);
 $day =get_value('day',post);
 $time =get_value('time',post);
 $sum =get_value('sum',post);
 $name =get_value('name',post);
 $sex =get_value('sex',post);
 $mo  =get_value('mo',post);
 $caption=get_value('caption',post);
 $dtime =$month.'月'.$day.'日'.$time.'时';
 if( empty($name) || empty($sum) || empty($mo) ){
  
   alert('对不起,请认真填写你的定餐信息,以及我们及时与您取得联系!','');
   
 }else{
 
   $sql="Insert into gx_buy(buy,sum,name,sex,caption,mdt,mo) value('$buy','$sum','$name','$sex','$caption','$dtime','$mo')";
   
   mysql_query($sql) or die(mysql_error());
   
   alert('恭喜你,定餐成功,我们会在最短的时间与您取得联系!',$_SERVER['HTTP_REFERER']);
  
 }
 
 ?>

php 保存远程服务器上图片,其实这也叫采集了,把远程服务器的图片保存到自己服务器上来,和采集文章差不多,采集图片就加一个header('content-type:image/png');申明文章的内容的类型,而文章就没必要了.

<?php
header('content-type:image/png');
echo file_get_contents("http://www.111cn.net/blog/upload/image/20080615055512.png");
?>

呵呵,你可以拿上面的代码去试一下哦,其实php功能很强大了,只是看你如何去使用了,如果用asp的话,那就相当的麻烦了.

本站原创转载请注明:  www.111cn.net 

[!--infotagslink--]

相关文章

  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • C#使用Process类调用外部exe程序

    本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
  • 微信小程序 页面传值详解

    这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • uniapp微信小程序:key失效的解决方法

    这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • PHP常用的小程序代码段

    本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。 User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键...2015-11-24
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • 微信小程序 网络请求(GET请求)详解

    这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
  • 微信小程序如何获取图片宽度与高度

    这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
  • 微信小程序自定义tabbar组件

    这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
  • 微信小程序二维码生成工具 weapp-qrcode详解

    这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
  • PHP编程 SSO详细介绍及简单实例

    这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
  • Python爬取微信小程序通用方法代码实例详解

    这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29
  • 微信小程序(应用号)开发新闻客户端实例

    这篇文章主要介绍了微信小程序(应用号)开发新闻客户端实例的相关资料,需要的朋友可以参考下...2016-10-25