php 简单留言板教程二

 更新时间:2016年11月25日 15:15  点击:1262

好了现在我们来看login.php文件的程序代码吗.

<?php
 session_start();
 include("global.php");
 
 if(isset($_POST['username']) && isset($_POST['pwd']))
 {
  $result = mysql_query("SELECT * FROM xx_admin");
  if($info = mysql_fetch_array($result))
  {
   if($_POST['username'] == $info['username'] && $info['password'] == md5($_POST['pwd']))
   {
    $_SESSION[user] = $info['username'];
    echo("login OK!");
    die("<script>window.location.href='index.php';</script>");
   }
   else echo("<script>window.alert('登陆失败!');window.location.href='".$_SERVER['PHP_SELF']."';</script>");
  }
 }
?>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>管理员登陆</title>
<style type="text/css">
<!--
body {
 background: #EAF4FF;
 font-size: 12px;
}
-->
</style>
</head>

<body>
<table width="240" border="0" cellspacing="0" cellpadding="0" align="center">
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="login" id="login">
    <tr>
      <td height="25"></td>
      <td height="25"><strong>管理登录</strong></td>
    </tr>
    <tr>
      <td width="59" height="25" align="right">用户名:&nbsp;</td>
      <td width="181" height="25"><label>
        <input name="username" type="text" class="loginput" id="username" value="" />
      </label></td>
    </tr>
    <tr>
      <td height="25" align="right">密 码:&nbsp;</td>
      <td height="25"><label>
        <input name="pwd" type="password" class="loginput" id="pwd" />
      </label></td>
    </tr>
    <tr>
      <td height="25">&nbsp;</td>
      <td height="25"><label>
        <input name="Submit" type="submit" class="botton" value="登 录" />
      </label></td>
    </tr>
  </form>
</table>
</body>
</html>
登陆后就可以看到留言的了就会用mreplay.php进行回答网友的问题.代码如下.

<?php
 session_start();
 include("global.php");
 if(!$_SESSION[user])
  die("<script>window.alert('请先登陆!');window.location.href='login.php';</script>");
 
 if(isset($_GET['act']) && $_GET['act']=='reply')
 {
  
  $content = $_POST['reply'];
  $content = str_replace("","&nbsp;",$content);
  $content = str_replace(" ","&nbsp;",$content);
  $content = str_replace("\n","<br />",$content);
     $sql = "UPDATE xx_guestbook SET reply = '{$content}',replytime = '".date('Y-m-d H:i:s')."' WHERE mid = ".intval($_GET['mid']);
     //echo $sql;
     $row=mysql_query($sql);
  if($row)
  {
   echo("reply OK!");
   die("<script>window.location.href='lyb.php';</script>");
  }
  else echo("false");
     
 }else
 
 if(isset($_GET['act']) && $_GET['act'] == 'edit')
 {
  if(isset($_GET['mid']))
  {
   $mid = intval($_GET['mid']);
   $row=mysql_query("SELECT * FROM xx_guestbook WHERE mid = {$mid}");
   if($row)
   {
    $rs=mysql_fetch_array($row);
    //print_r($rs); DEBUG
    //echo "<meta http-equiv=\"refresh\" content=\"1; url=index2.php\">";
    $reply = $rs['reply'];
    $reply = str_replace("<br />","\n",$reply);
    //$reply = str_replace("&nbsp;","",$reply);
    //$reply = str_replace("&nbsp;","",$content);
    //$reply = str_replace("<br />","",$reply);
   }
   else echo("false");
  }
 
 
?> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>编辑回复留言</title>
</head>

<body>
<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">
  <form action="<?php $_SERVER['PHP_SELF']; ?>?act=reply&amp;mid=<?php echo("{$rs['mid']}");?>" method="post" name="message" id="message">
    <tr>
      <td height="25" align="center"><strong>回复留言<?php echo $_GET['mid']; ?></strong></td>
    </tr>
    <tr>
      <td height="25" align="center"><label>
        <textarea name="reply" cols="70" rows="15" class="input" id="reply"><?php echo $reply; ?></textarea>
      </label></td>
    </tr>
    <tr>
      <td height="25" align="center"><label>
        <input name="Submit" type="submit" class="botton" value="回复留言" />
      </label></td>
    </tr>
  </form>
</table>
</body>
</html>
<?php
 }
?>

好了,其它的都快完了我们就来看看index.php文件显示留方的页面吧.

<?php
 @session_start();
 include("global.php");
 
 if(isset($_GET['act']) && $_GET['act'] == 'del')
 {
  if(isset($_GET['mid']))
  {
   $mid = intval($_GET['mid']);
   if(mysql_query("DELETE FROM xx_guestbook WHERE mid={$mid}"))
   {
    echo("delete OK!");
    die("<script>window.location.href='{$_SERVER['PHP_SELF']}';</script>");
    //echo "<meta http-equiv=\"refresh\" content=\"1; url=index.php\">";
   }
   else echo("false");
  }
 }
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>求职留言本</title>
<style type="text/css">
<!--
body {
 background: #C7EDDD;
 text-align: center;
 margin: 0px;
 padding: 0px;
 font-size: 12px;
}
a {
 text-decoration: none;
 margin: 0px;
 padding: 0px;
}
.messagebox img {
 margin: 0px;
 padding: 0px;
}
.all {
 margin: 0px auto;
 padding: 0px 0px 10px;
 width: 780px;
 background: #C7EDCC;
 text-align: left;
}
.header {
 margin: 0px;
 padding: 0px;
 height: 90px;
 background: #DDDDDD;
 border-top: 5px solid #660066;
 border-right: 1px solid #660066;
 border-bottom: 1px solid #660066;
 border-left: 1px solid #660066;
}
.header h1 {
 font-size: 36px;
 font-weight: bold;
 margin: 0px;
 padding: 5px 10px 0px;
}
.header #menu {
 margin: 0px;
 padding: 25px 10px 0px;
 height: 20px;
 font-size: 14px;
 font-weight: bold;
 text-align: right;
}
.messagebox {
 margin: 20px 10px 0px;
 padding: 0px 0px 5px;
 width: 760px;
 border: 1px solid #33FFFF;
 background: #C7EDCC;
}
.messagebox a {
 text-decoration: none;
 margin: 0px;
 padding: 0px;
}
.messagebox-top {
 border-bottom: 1px dashed #00FFFF;
 margin: 0px;
 padding: 3px 0px 0px;
 height: 20px;
 background: #CCFFFF;
}
.messagebox-topl {
 margin: 0px 0px 0px 10px;
 padding: 0px;
 float: left;
}
.messagebox-topr {
 margin: 0px 5px 0px 0px;
 padding: 0px;
 float: right;
}
.messagebox-topc {
 margin: 1px;
 padding: 0px 20px;
}
.messagebox-show {
 margin: 5px 10px 0px;
 padding: 3px 3px 5px;
 overflow: hidden;
 border: 1px solid #00FFCC;
}
.messagebox-reply {
 border-top: 1px dashed #00FFCC;
 border-right-width: 1px;
 border-bottom-width: 1px;
 border-left-width: 1px;
 border-right-style: dashed;
 border-bottom-style: dashed;
 border-left-style: dashed;
 margin: 2px 10px 0px;
 padding: 2px 2px 5px;
 background: #E0EDDC;
}
.messagebox-replyt {
 font-weight: bold;
 color: #0000FF;
 margin: 0px 0px 5px;
 padding: 0px;
}
.pages {
 background: #00FFFF;
 margin: 5px 20px 0px;
 padding: 0px 0px 5px;
}
.foot {
 background: #E0EDDC;
 margin: 5px 0px 0px;
 padding: 5px;
 text-align: center;
}
-->
</style>

</head>

<body>
<div class="all">
<div class="header">
 <h1>求职留言本</h1>
    <div id="menu"><a href="index.php">首页</a>    <a href="madd.php">发表留言</a><?php
  if(!$_SESSION[user])
   echo "<a href=\"login.php\">登陆</a>";
  if($_SESSION[user])
   echo "<a href=\"logout.php\">退出</a>";
 ?>
    </div>
    <!-- menu -->
</div><!-- header -->
<?php
 $page = isset($_GET['page'])?intval($_GET['page']):1;
 $num=10;
 $total=mysql_num_rows(mysql_query("select * from xx_guestbook"));
 $pagenum=ceil($total/$num);
 
 if($page>$pagenum || $page<=0 || empty($page))
 {
     //header("location:index.php?page=1"); DEBUG
  $page = 1;
 }
 
  $offset=($page-1)*$num;
 
 $sql = "SELECT * FROM xx_guestbook ORDER BY posttime DESC LIMIT {$offset},{$num}";
 $query = mysql_query($sql);
 while($info = mysql_fetch_array($query))
 {
?> 

  <div class="messagebox">
    <div class="messagebox-top"><span class="messagebox-topl"><strong><a href="#"><a href="#"><?php echo("{$info['username']}"); ?> </a></strong>发表于 <?php echo("{$info['posttime']}"); ?></span> <span class="messagebox-topr"><a href="#"><img src="images/city.gif" alt="IP:<?php echo("{$info['ip']}"); ?>" /></a> <a href="mailto:<?php  echo("{$info['email']}"); ?>"><img src="images/email2.gif" alt="给TA发email:<?php  echo("{$info['email']}"); ?>" /></a> <a href="tencent://message/?uin=<?php  echo("{$info['oicq']}"); ?>&amp;Site=web&amp;Menu=yes"><img src="images/qq.gif" alt="QQ:<?php  echo("{$info['oicq']}"); ?>" /></a> <a href="<?php echo("{$info['weburl']}"); ?>" target="_blank"><img src="images/web.gif" alt="主页:<?php echo("{$info['weburl']}"); ?>" /></a></span>
    <?php
  if($_SESSION[user])
  {
 ?>
 <span class="messagebox-topc"><strong><a href="mreply.php?act=edit&amp;mid=<?php echo("{$info['mid']}"); ?>">编辑回复</a>&nbsp;&nbsp;&nbsp;&nbsp; <a onclick="var r=confirm(&quot;确认删除吗?&quot;)
  if (r==true)
    {
    window.location.href='<?php $_SERVER['PHP_SELF']; ?>?act=del&mid=<?php echo("{$info['mid']}"); ?>';
    }
  else
    {
    window.location.href='<?php $_SERVER['PHP_SELF']; ?>';
    }" href="#">删除</a></strong></span>
  <?php
        }
        ?>
  </div>
    <!-- messagebox-top -->
    <div class="messagebox-show"><?php echo("{$info['content']}"); ?></div>
    <!-- messagebox-show -->
    <?php
  if(!empty($info['reply']))
  {
  ?>
      <div class="messagebox-reply">
     
        <div class="messagebox-replyt">admin回复于:<?php echo("{$info['replytime']}"); ?></div>
      <?php echo("{$info['reply']}"); ?></div>
        <?php
        }
        ?>
    <!-- messagebox-reply -->
  </div>
  <!-- messagebox -->

<?php
 }
  $prepage = $page - 1;
  $nextpage = $page + 1;
 
?>

 

  <div class="pages">共 <strong><?php echo("$pagenum"); ?></strong> 页 当前第 <strong><?php echo("$page"); ?></strong> 页 <a href="index.php?page=1">第一页</a> <a href="index.php?page=<?php echo("$prepage"); ?>">上一页</a> <a href="index.php?page=<?php echo("$nextpage"); ?>">下一页</a> <a href="index.php?page=<?php echo("$pagenum"); ?>">最后一页</a> </div><!-- pages -->
 
  <div class="foot">
  菜根 <br />
  Copyright &copy; 菜根  xanxin <a href="http://phpvc.com">http://phpvc.com</a>  </div>
  <!-- foot -->
</div>
<!-- all -->
</body>
</html>
显示了当然会有留言页面喽,如下.

<?php
 @session_start();
 include("global.php");
 
 //获得IP地址 来自sablogX 1.6
 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
  $onlineip = getenv('HTTP_CLIENT_IP');
 } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
  $onlineip = getenv('HTTP_X_FORWARDED_FOR');
 } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
  $onlineip = getenv('REMOTE_ADDR');
 } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
  $onlineip = $_SERVER['REMOTE_ADDR'];
 }
 $onlineip = addslashes($onlineip);
 
 if($_POST['add'] == 'add')
 {
  $username = $_POST['username'];
  $username = htmlspecialchars($username);
  $username = trim($username);
  $qq = $_POST['qq'];
  $email = $_POST['email'];
  $email = htmlspecialchars($email);
  $weburl = $_POST['weburl'];
  $weburl = htmlspecialchars($weburl);
  $content = $_POST['content'];
  $ip = $onlineip;//$_SERVER['REMOTE_ADDR'];
  $posttime = date('Y-m-d H:i:s');
  
  $content = htmlspecialchars($content);
  $content = str_replace("","&nbsp;",$content);
  $content = str_replace(" ","&nbsp;",$content);
  $content = str_replace("\n","<br />",$content);
  
  $sql = "INSERT INTO xx_guestbook(username,email,weburl,oicq,content,posttime,ip) VALUES('$username','$email','$weburl','$qq','$content','$posttime','$ip')";
  if(mysql_query($sql))
  {
   echo("post OK!");
   die("<script>window.location.href='lyb.php';</script>");
   //echo "<meta http-equiv=\"refresh\" content=\"1; url=index2.php\">";
  }
  else
  {
   echo"false!";
  }
 }
 else
 {
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>发表留言</title>
<style type="text/css">
<!--
body {
 font-size: 12px;
 background: #FAFCFF;
}
-->
</style>
<script language=JavaScript>
function FrontPage_Form1_Validator(theForm)
{
  if (theForm.username.value == "")
  {
    alert("请填写昵称!");
 history.back();
    theForm.username.focus();
    return (false);
  }
  if (theForm.username.value.length<3)
  {
    alert("昵称至少应为3个字符!");
    theForm.username.focus();
    return (false);
  }
  if (theForm.username.value.length>15)
  {
    alert("昵称不能大于15个字符!");
    theForm.username.focus();
    return (false);
  }
  if(theForm.email.value!=""){
              var email1 = theForm.email.value;
              var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
              flag = pattern.test(email1);
              if(!flag){
              alert("邮件地址格式不对!");
     theForm.email.focus();
           return false;
     }
  }
 if(theForm.qq.value!="")
 {
       
  for (i=1;i<theForm.qq.value.length;i++){
      ct=theForm.qq.value.charAt(i);
       if (!(ct>='0'&&ct<='9'))
       {
     alert("QQ号码只允许输入0-9数字");
     theForm.qq.focus();
       return(false);
       }
  }
  }

  if (theForm.content.value == "")
  {
    alert("留言内容不能空!");
    theForm.content.focus();
    return (false);
  }
  if (theForm.content.value.length<5)
  {
    alert("留言内容最少5个字符!");
    theForm.content.focus();
    return (false);
  }
  if (theForm.weburl.value != "")
  {
   var weburl = theForm.weburl.value;
 var Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/;
 var objExp = new RegExp(Expression);
 if(objExp.test(weburl) != true)
 {
  alert("url地址格式不对!");
      theForm.weburl.focus();
        return false;
 }
  }
 
   return (true);
}
</script>
</head>

<body>
<table width="681" border="0" cellspacing="0" cellpadding="0" align="center">
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="message" id="message" onsubmit="return FrontPage_Form1_Validator(this)">
    <tr>
      <td height="25" colspan="2" align="center"><strong>发表留言(带*为必填)</strong></td>
    </tr>
    <tr>
      <td width="109" height="25" align="right">呢称:&nbsp;</td>
      <td width="572" height="25"><label>
        <input name="username" type="text" class="input" id="username" value="<?php
   if($_SESSION[user])
       echo "{$_SESSION[user]}";
 ?>" />
        <font color="#000000">*</font>(<font color="#ff6600">*</font>为必填项)</label></td>
    </tr>
   
   
    <tr>
      <td height="25" align="right">QQ:&nbsp;</td>
      <td height="25"><label>
        <input name="qq" type="text" class="input" id="qq" />
      (纯数字)</label></td>
    </tr>
    <tr>
      <td height="25" align="right">E-mail:&nbsp;</td>
      <td height="25"><label>
        <input name="email" type="text" class="input" id="email" size="30" />
      (必须含有@)</label></td>
    </tr>
    <tr>
      <td height="25" align="right">个人主页(blog):&nbsp;</td>
      <td height="25"><label>
        <input name="weburl" type="text" class="input" id="weburl" size="30" />
      (以http://开关)</label></td>
    </tr>
    <tr>
      <td height="25" align="right">内容:&nbsp;</td>
      <td height="25"><label>
        <textarea name="content" cols="70" rows="15" class="input" id="content"></textarea>
        <font color="#000000">*</font></label></td>
    </tr>
    <tr>
      <td height="25">&nbsp;</td>
      <td height="25"><label>
        <input name="submit" type="submit" class="botton" id="submit" value="发表留言" />
        &nbsp;
        <input name="reset" type="reset" class="botton" value="重新填写" id="reset" />
        <input name="add" type="hidden" id="add" value="add" />
      </label></td>
    </tr>
  </form>
</table>
</body>
</html>
<?php
 }
?>

OK了简单的留言系统就OK了.

作留言板我们来看看下面图片上的文件是指那些吧,

global.php是全局文件有数据链接代码.index.php是显示文件不用多说了下面有讲解的,login.php登录文件,logout.php退出登录,madd.php 增加留言,mreplay.php回答留言,好了我们先来看看global.php文件的代码吧.

<?php
 @header("content-Type: text/html; charset=UTF-8");
 $dbhost = 'localhost';//数据库服务器
 $dbuser ='root';//数据库用户名
 $dbpwd = '';//数据库密码
 $dbname = 'demo_gb';//数据库名
 
 $db=mysql_connect($dbhost,$dbuser,$dbpwd) or die('为能连接数据库。');
 mysql_select_db($dbname,$db) or die('不能连接数据库。');
 mysql_query("set names 'utf8'");
?>

这全是数据库连接函数哦.

现在看logout.php这里把sesson删除就OK了.代码如下.

<?php
 @header("content-Type: text/html; charset=UTF-8");
 session_start();
 if(session_destroy())
 {
 echo("out OK!");
 //window.alert('退出成功!')
 die("<script>;window.location.href='index.php';</script>");
 }
 else echo "out false please go back";
 //header("location:index2.php");
?>

我刚才仔细看了下上面的代码,发现了一个错误,我把性别判断写到循环之外去了。在这里跟大家道歉了,现在已经及时更正。呵呵,低级错误。但发现错误是好事哦,可以总结经验教训……好了好了,不找借口了,低头认错,呵呵。

  OK,我们开始写编辑和删除功能吧。我们先来改一下show.php页面,让它有个操作区,并且添加[编辑]和[删除]的连接。让用户去操作,具体代码我帖出来先,我已经把格式尽量弄得方便看了,如何各位还看不明白的话,可以对比上面的show.php看哦。



input.php 文件代码:(更新版)

复制内容到剪贴板
代码:
[<a href="input.php">继续添加</a>]
<?php
//这里是PHP代码
$sql = "SELECT * FROM `addr_list`";//需要执行的SQL语句(这里是浏览数据功能)
require('conn.php');               //调用conn.php文件,执行数据库操作
?>

        <!---这里HTML代码,创建一个表格--->
        <table width="100%" border="1">
         <tr>
             <th width="13%" bgcolor="#CCCCCC" scope="col">姓名</th>
             <th width="13%" bgcolor="#CCCCCC" scope="col">性别</th>
             <th width="13%" bgcolor="#CCCCCC" scope="col">手机</th>
             <th width="13%" bgcolor="#CCCCCC" scope="col">邮箱</th>
             <th width="29%" bgcolor="#CCCCCC" scope="col">地址</th>

             <th width="19%" bgcolor="#CCCCCC" scope="col">操作</th>

         </tr>


<?php
//这里是PHP代码
//判断性别
while($row = mysql_fetch_row($result)) //循环开始
{
        if($row[2]==0)
        {
                $sex = '女士';
        }
        else
        {
                $sex = '先生';
        }
?>

        <!---被循环的HTML表格中带有PHP代码--->
            <tr>
              <td><?php echo $row[1]; ?></td>
              <td><?php echo $sex;      ?></td>
              <td><?php echo $row[3]; ?></td>
              <td><?php echo $row[4]; ?></td>
              <td><?php echo $row[5]; ?></td>

                          <td><div align="center">
                          [<a href="edit.php?id=<?php echo $row[0]; ?>">编辑</a>]
                          [<a href="del.php?id=<?php echo $row[0]; ?>">删除</a>]
                          </div></td>

            </tr>


<?php
}
?>

</table>

说明:我们的两个链接[编辑]和[删除]指向的 edit.php 和 del.php 页面,现在这两个页还没做,我们先来搞清楚为什么要这样写它。我们可以看到它的形式为:edit.php?id=xxx,那么xxx是什么?前面讲过,不能忘记哦,$row[0]代表调用id嘛,我们用PHP语句写到链接里,所以它就长成那样子了,呵呵。转换出来后,它应该会在地址栏里显示类似 edit.php?id=1 的地址,这是一种传值方式,如果你要研究下,呵呵,google咯,我这里就不多讲了。好,那么我们试看它们到底有没有把值传到 edit.php 和 del.php 页面了,所以我们先来写这两个页面测试,记得是测试哦,所以不是完整版了,呵呵。



edit.php 文件代码:(不完整)

复制内容到剪贴板
代码:
<?php
echo $id;
?>

del.php 文件代码:(不完整)

复制内容到剪贴板
代码:
<?php
echo $id;
?>

说明:两个双胞胎长一模一样,呵呵。好,大家可以测试一下了,运行show.php,点[编辑]或[删除],看看$id的值是否能显示或变换,如果成功的话,我们就可以继续咯。



  OK,现在我们来正式写edit.php和del.php,如果前面你已经搞清楚post.php和show.php怎么写,那么这两个也就不成问题了,大同小异,所以不要太紧张。先来写edit.php吧。

edit.php 文件代码:(完整版)

复制内容到剪贴板
代码:
<?php
$sql = "SELECT * FROM `addr_list`
                WHERE `id`='$id'";         //需要执行的SQL语句(这里是浏览数据功能)
                                                    //要注意ID哦,这个语句和show.php有些不同
               
require('conn.php');                       //调用conn.php文件,执行数据库操作
$row = mysql_fetch_row($result);   //将SQL执行语句的结果集保存为数组(排队咯)
?>

<!---我们把input.php的表单扣来加入PHP代码就可以了,只有性别部分要做特殊处理--->
<form id="form1" name="form1" method="post" action="edited.php">
  <p>姓名:<input name="name" type="text" id="name"  value="<?php echo $row[1]; ?>" /></p>
  <p>
  
<?php
//特殊处理性别,如果是0就选中女士,否则选种先生,checked="checked"就是选中哦
if($row[2]==0)
{
        echo '性别:<input type="radio" name="sex" value="0" checked="checked" />女士 
                         <input type="radio" name="sex" value="1" />先生';
}
else
{
        echo '性别:<input type="radio" name="sex" value="0" />女士 
                         <input type="radio" name="sex" value="1" checked="checked" />先生';
}
?>

  </p>
  <p>手机:<input name="mobi"  type="text" id="mobi"  value="<?php echo $row[3]; ?>" /></p>
  <p>邮箱:<input name="email" type="text" id="email" value="<?php echo $row[4]; ?>" /></p>
  <p>地址:<input name="addr"  type="text" id="addr"  value="<?php echo $row[5]; ?>" /></p>
  <p>
        <input type="submit" name="Submit" value="添加" />
        <input type="reset" name="Submit2" value="重写" />
  </p>
</form>

说明:其实就是把input.php复制过来修改一下了,呵呵,这里要注意的就是$sql语句,这里有个SQL的条件句,用来识别ID的,还有就是性别处理部分。checked="checked"表示单选按钮已被选中,知道这些,这部分就搞顶了。我们还要做一个edited.php页面用来发送处理修改的数据,它的功能跟post.php差不多了。呵呵,我们抓紧做吧,就快完工咯!



edited.php 文件代码:

复制内容到剪贴板
代码:
<?php
//需要执行的SQL语句(这里是修改数据功能)
$sql = "UPDATE `addr_list` SET
               
                `name`  = '$name',
                `sex`     = '$sex',
                `mobi`   = '$mobi',
                `email`   = '$email',
                `addr`    = '$addr'
               
                WHERE `addr_list`.`id` =12 ";

//调用conn.php文件,执行数据库操作               
require('conn.php');

//显示操作提示,注意$result也是conn.php里的哦
if($result)
{
        echo '恭喜,修改成功!<p>';
}
?>
[<a href="show.php">查看通讯录</a>] [<a href="input.php">继续添加</a>]

说明:这里要注意的也是$sql的SQL语句,我这里缩进处理了,方便大家看清楚,大家自己写的时候没有必要这么写了,呵呵。跟post.php八九不离十了,所以也不用多讲咯,大家测试一下吧。最后剩下del.php了,胜利就在眼前!呵呵。



del.php 文件代码:(完整版)

复制内容到剪贴板
代码:
<?php
//需要执行的SQL语句(这里是删除数据功能)
$sql = "DELETE FROM `addr_list` WHERE `id`='$id'";

//调用conn.php文件,执行数据库操作               
require('conn.php');

//显示操作提示,注意$result也是conn.php里的哦
if($result)
{
        echo '恭喜,删除成功!<p>';
}
?>
[<a href="show.php">查看通讯录</a>] [<a href="input.php">继续添加</a>]

说明:这个也是一个模子里造出来的,呵呵,很简单,就是$sql的SQL删除语句有点不同,不管怎么说,还是建议大家去学一下SQL语法,很有用处的,因为它运用的很广泛嘛。

  好了,到这里,这篇文章就全部结束啦。我就不上传源代码让大家下载咯,免得某些人跟我一样喜欢偷懒,呵呵,这招比较绝,逼着想学的人去看,有好处的了。

  那么,还是用老的闭幕式来结束吧,呵呵:

  重要说明,一定要看哦,这个只是最简单、最基础的东西,只是用来学习的,不能投入使用哦,不然出什么问题可不要怪我啊,呵呵。如果你要自己用的话,还要进行大量完善,比如加入些验证功能、优化代码之类的,还是那句话:有什么不足的地方,欢迎各位指正,让大家见笑了。

  写这篇文章最根本的目的:希望能给需要的人一些微薄的帮助。我PHP也是自学的,知道其中的辛苦,所以自己虽然很菜菜,但是也要懂得去分享,也希望每个人都能这样:共同学习、共同进步

革命尚未胜利~我们接着来。需要对上面进行点补充:要先创建一个数据库才能导入哦!

  为了区分和方便讲解,我把数据库命名为list,把数据表命名为addr_list,还是把完整的SQL语句写出来吧。

  首先创建数据库 list:

复制内容到剪贴板
代码:
  CREATE DATABASE `list` ;

  然后创建数据表 addr_list:

复制内容到剪贴板
代码:
  CREATE TABLE `addr_list` (
    `id`      int(10) unsigned NOT NULL auto_increment,
    `name` varchar(10) NOT NULL,
    `sex`    tinyint(1) NOT NULL,
    `mobi`  varchar(11) NOT NULL,
    `email`  varchar(50) NOT NULL,
    `addr`   varchar(50) NOT NULL,
    PRIMARY KEY  (`id`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  好,我们现在来做网页+写程序吧:



input.php 文件代码:

复制内容到剪贴板
代码:
<form id="form1" name="form1" method="post" action="post.php">
  <p>姓名:<input name="name" type="text" id="name" /></p>
  <p>
  性别:<input type="radio" name="sex" value="0" />女士 
           <input type="radio" name="sex" value="1" />先生
  </p>
  <p>手机:<input name="mobi"  type="text" id="mobi"  /></p>
  <p>邮箱:<input name="email" type="text" id="email"  /></p>
  <p>地址:<input name="addr"  type="text" id="addr"  /></p>
  <p>
        <input type="submit" name="Submit" value="添加" />
        <input type="reset" name="Submit2" value="重写" />
  </p>
</form>

说明:因为只有HTML代码,所以你要存成html格式的话也是可以的。不要被那些乱七八糟的<p></p>迷惑哦,我们要看的关键字是form还 有input。form主要看method和action,method是方法,有post和get等,关于这个你可以自己去了解一下;action是动作,也就是传送值得的目标页。通俗一点就是点按钮会跑到的页面。那么,input要注意的是name和id,要定义一些好记的名字。为了方便记忆,我把表单名和数据库的字段名定义成一样的了,这并不是必须的,但还是很有必要的。最后注意的是sex,别想歪了,我说的是性别了。一定要注意它的name是一样的,但是value不同哦。我们前面已经说过,用0表示女,用1表示男。这个表单建议用些工具去做,比如DW等,几秒种就可以搞定了。用手写的话,需要有一定的html语言基础。如果使用utf8,一定要记得用工具把所有网页都另存为utf8的哦。



post.php 文件代码:(不完整)

复制内容到剪贴板
代码:
<?php
//设置表单变量
$name  = $_POST['name'];
$sex     = $_POST['sex'];
$mobi   = $_POST['mobi'];
$email   = $_POST['email'];
$addr    = $_POST['addr'];

//测试是否传值
echo $name  . '<br>';
echo $sex     . '<br>';
echo $mobi   . '<br>';
echo $email   . '<br>';
echo $addr    . '<br>';
?>

说明:这是一个不完整的post.php代码,我们先写一些简单的脚本来测试input.php的值是否成功的传到post.php页。“设置表单变量”不是必须的,但也是很有必要的,以免发生意外状况,呵呵。你现在所看到的变量,如$name,就是前面input.php里的name了。比如说:<input name="mobi"  type="text" id="mobi"  />  (input.php页),里面的name="mobi",  就是这里的$mobi  (post.php页 )这个应该没什么问题吧?那么就运行input.php页,随便填写些信息,然后按“添加”,如果按了“添加”之后,转到了post.php页,并且正确的显示了你所填写的内容,那么就表示传值就成功了,我们就可以接着网下做了。小提示:echo为打印输出,类似$name以$开头的都是变量,<br>换行。echo是一个语言结构,并非函数,这点要记得哦。



  OK,传值成功了,那么我们要做的就把值写进数据库吧。在改进post.php之前,我们的先写一个conn.php文件,并且调用它进行数据库的一些操作。那么我们来看看这段简陋的代码吧:

conn.php 文件代码:

复制内容到剪贴板
代码:
<?php
//设置数据库变量
$db_host   = 'localhost';  //数据库主机名称,一般都为localhost
$db_user   = 'root';        //数据库用户帐号,根据个人情况而定
$db_passw = '123456';   //数据库用户密码,根据个人情况而定
$db_name  = 'list';         //数据库具体名称,以刚才创建的数据库为准

//连接数据库
$conn = mysql_connect($db_host,$db_user,$db_passw) or die ('数据库连接失败!');

//设置字符集,如utf8和gbk等,根据数据库的字符集而定
mysql_query("set names 'utf8'");

//选定数据库
mysql_select_db($db_name,$conn) or die('数据库选定失败!');

//执行SQL语句(查询)
$result = mysql_query($sql) or die('数据库查询失败!');
?>

说明:这段代码本身并没有什么作用,因为它要经常用到,所以只是为了减少工作量不必重复写它,所以把它专门放在一个文件里,这样就可以随时调用了。这里并不需要多讲解什么,你只需要根据个人情况改一下“设置数据库变量”和“设置字符集”的部分就可以了。不要尝试单独的运行conn.php这个脚本,肯定会出错的,因为我们还没开始设置$sql呢



  OK,数据库的基本操作搞定了。我们来开始写完整版的post.php吧,呵呵。

post.php 文件代码:(完整版)

复制内容到剪贴板
代码:
<?php
//设置表单变量
$name  = $_POST['name'];
$sex     = $_POST['sex'];
$mobi   = $_POST['mobi'];
$email   = $_POST['email'];
$addr    = $_POST['addr'];

//需要执行的SQL语句(这里是插入数据功能)
$sql = "INSERT INTO `addr_list`
                ( `id` , `name` , `sex` , `mobi` , `email` , `addr` )
                VALUES
                (NULL , '$name', '$sex', '$mobi', '$email', '$addr')";

//调用conn.php文件进行数据库操作
require('conn.php');

//提示操作成功信息,注意:$result存在于conn.php文件中,被调用出来
if($result)
{
        echo '恭喜,操作成功!<p>';
}
?>
[<a href="show.php">查看通讯录</a>] [<a href="input.php">继续添加</a>]

说明:终于见到post.php的完整版了,够简陋了吧?呵呵。这里需要注意的是$sql中的SQL语句,如果不会SQL语句的话,可以用phpMyadmin去扣,具体怎么扣,就请各位自己google一下咯,有时间的话再另写了。建议还是学学SQL语法比较好一些。接着看$sql,id对应NULL,前面说过,id建立以后就不用管了,所以可以留空值,接下,数据库的name字段对应$name变量,以此类推就可以咯。写出你需要执行的语句,然后调用conn.php执行就可以了。就这么简单。为了使界面人性化一点,我们应该加些操作提示和相关链接。这样我们的post.php就算完成了,呵呵,超简陋。不过用来学习,应该追求简陋比较好,呵呵。



  OK,现在我们就来做show.php,显示页吧。已经完成奖将近一半的工作咯,再坚持下就大功告成了。

show.php 文件代码:

复制内容到剪贴板
代码:
[<a href="input.php">继续添加</a>]
<?php
//这里是PHP代码
$sql = "SELECT * FROM `addr_list`";//需要执行的SQL语句(这里是浏览数据功能)
require('conn.php');               //调用conn.php文件,执行数据库操作
?>

        <!---这里HTML代码,创建一个表格--->
        <table width="100%" border="1">
         <tr>
             <th bgcolor="#CCCCCC" scope="col">姓名</th>
             <th bgcolor="#CCCCCC" scope="col">性别</th>
             <th bgcolor="#CCCCCC" scope="col">手机</th>
             <th bgcolor="#CCCCCC" scope="col">邮箱</th>
           <th bgcolor="#CCCCCC" scope="col">地址</th>
         </tr>


<?php
//这里是PHP代码
while($row = mysql_fetch_row($result)) //循环开始
{

                //判断性别
        if($row[2]==0)
        {
                $sex = '女士';
        }
        else
        {
                $sex = '先生';
        }
?>

        <!---被循环的HTML表格中带有PHP代码--->
            <tr>
              <td><?php echo $row[1]; ?></td>
              <td><?php echo $sex;      ?></td>
              <td><?php echo $row[3]; ?></td>
              <td><?php echo $row[4]; ?></td>
                <td><?php echo $row[5]; ?></td>
            </tr>


<?php
}
?>

</table>

说明:这段代码就极度扯蛋了,因为这里我们不可能讲到诸如Smarty和PHPlib之类的模板引擎,所以只能是PHP夹着HTML丢在同一个文件里面了,但是真正开发的时候可千万不能这么干啊,不然我就成千古罪人了。形势所迫,形势所迫,大家将就一下吧。也不是很难看懂,抓住一个原则 <?php 这里里面的就是PHP代码 ?>,反之,外面的就是HTML代码咯。着重讲一下while($row = mysql_fetch_row($result)) 吧,在这里mysql_fetch_row($result)将我们执行SQL语句获得结果集保存为数组。当然你不需要急着去了解什么叫做数组,你只需要知道,它帮我们的字段排好队了,记得从0开始排的哦:0->id;  1->name;  2->sex;  3->mobi;   4->email;   5->addr   这样一目了然了,我们需要调用的时候就用$row[X]来调用,X就是队列号,比如调用name,就是$row[1],因为我们不要求显示id,所以上面的代码中没有$row[0],那为什么多了$sex呢?因为我们不能用数字来显示性别吧,所以加了个条件句:如果$row[2]等于0,那么就显示"女士",否则就显示"先生"。当然你可以随便改这个性别的称呼了,比如0显示夏娃,1显示亚当,呵呵。



  OK,那么就先到这里吧。还剩下两部分:修改和删除,我们下次搞定它们。看起来快,写起来就不是那么容易了,我手都快脱臼了,呵呵。

[!--infotagslink--]

相关文章

  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • 美图秀秀制作隔离区聊天背景教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下制作隔离区聊天背景的教程,各位想知道具体方法的,那么下面就快来跟着小编一起看一看吧。 给各位美图秀...2016-09-14
  • MySQL中的联合索引学习教程

    联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24
  • Lua语言新手简单入门教程

    这篇文章主要给大家介绍的是关于Lua语言新手入门的简单教程,文中通过示例代码一步步介绍的非常详细,对各位新手们的入门提供了一个很方便的教程,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。...2020-06-30
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
  • photoshop素材合成古典园林场景制作教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说说用素材合成古典园林场景教程,各位想知道到底该怎么制作的,那么就快来一起看一下吧。 给各位photoshop...2016-09-14
  • php类的使用实例教程

    php类的使用实例教程 <?php /** * Class program for yinghua05-2 * designer :songsong */ class Template { var $tpl_vars; var $tpl_path; var $_deb...2016-11-25
  • node.js+express留言板功能实现示例

    本文介绍基于nodejs+express+art-template的留言板功能。包含列表界面、添加界面和发送留言功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-21