发新话题
打印

实例学习PHP之留言程序

实例学习PHP之留言程序

大部份的网站,都会考虑到和用户之间的互动关系。这时,用留言板的功能,可让用户留下到此一游,或者是一些和网站的互动信息。
在设计上,可以很简单的只留下用户的短篇留言,也可以设计到依性质分门别类很复杂的 Web BBS 系统。当然,要如何打造一个属于自己网站的留言板,须依网站的性质以及 Web 网站开发人员的巧思。

这里介绍的范例,是简单的列示所有留言的内容。供用户可以一次看到多条留言的资料。系统的后端存放留言是用 Oracle 7.x 版的数据库系统。范例中的数据库 (database) 名称为 WWW,连接的用户帐号为 user38、密码为 iam3849。要直接使用本例,必须先执行下面的 SQL 指令,建立 guestbook 的数据表格。


CREATE TABLE guestbook (
serial varchar2(255) not null,
ref varchar2(255) null,
id char(8) not null,
alias varchar2(32)not null,
ip varchar2(1024) null,
msgdatedate not null,
email varchar2(1024) null,
msg varchar2(2000) not null,
flagchar(1) default 1,
primary key(serial)
);


上面的 SQL 各字段说明及详细资料见下表

序号 字段 名称 记录类型 记录长度 字段说明 限制 Key
0 流水号 serial varchar2 255 NN PK
1 参照流水号 ref varchar2 255 暂保留。供回覆留言功能用
2 帐号 id char 8 用户帐号 NN
3 匿名 alias varchar2 32 显示的名字 NN
4 网址 ip varchar2 1024 上网 IP
5 时间 msgdate date NN
6 电子邮件 email varchar2 1024
7 留言内容 msg varchar2 2000 NN
8 显示标志 flag char 1 0: 不显示
1: 显示 (默认)


在本节的留言板相关程序中,若加入了用户认证功能,则可以在 guestbook 数据表的帐号栏中留下用户的认证帐号,方便 Webmaster 日后找寻不当的发信者。在这儿先留下字段,让需要的读者们实习了。

要使用本节的程序,首先要先装好 Oracle 7.x 版,并确定 Web Server 端的 SQL*net 可以顺利连上 Oracle 数据库。之后还要在编译 PHP 时加入 --with-oracle=/home/oracle/product/7.3.2 的选项,当然改成其它的路径也没关系,只要该路径真的是 Oracle 的路径即可。有关 Oracle 装设及使用上的细节请参考相关书籍。

下面的程序是将用户的留言信息加到 guestbook 留言数据表中。若要配置用户认证功能,可在程序刚开始时检查,发留言者就可以确认身份,而读取留言就不必身份检查。这种配置可以防止不当发言,却又不会让留言功能只有少数人使用。


<?php
//---------------------------
// 新增留言程序 addmsg.php
// Author: Wilson Peng
// Copyright (C) 2000
//---------------------------
//
// 可自行在这儿加入身份检查功能
//
if (($alias!="") and ($msg!="")) {
putenv("ORACLE_SID=WWW");
putenv("NLS_LANG=american_taiwan.zht16big5");
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");
putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");
putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");

$handle=ora_logon("user38@WWW","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);

$serial=md5(uniqid(rand()));
$ref="";
$id=$PHP_AUTH_USER;
$ip=$REMOTE_ADDR;
$msg=base64_encode($msg);
$flag="1";
$query="INSERT into guestbook(serial, ref, id, alias, ip, msgdate, email, msg, flag) values('$serial', '$ref', '$id', '$alias', '$ip', sysdate, '$email', '$msg', '$flag')";

ora_parse($cursor, $query) or die;
ora_exec($cursor);

ora_close($cursor);
ora_logoff($handle);

Header("Location: ./index.php");
exit;

} else {
?>
<html>
<head>
<title>填写留言</title>
</head>
<body bgcolor=ffffff>
<form method=POST action="<? echo $PHP_SELF; ?>">
<table border=0 cellpadding=2 width=395>
<tr>
<td nowrap><font color=004080>代号小名</font></td>
<td width=20%><input type=text name=alias size=8></td>
<td nowrap><font color=004080>电子邮件</font></td>
<td width=50%><input type=text name=email size=18></td>
</tr>
<tr>
<td nowrapvalign=top><font color=004080>内容</font></td>
<td width=80% colspan=3><textarea rows=5 name=msg cols=33></textarea></td>
</tr>
<tr>
<td width=100% colspan=4 align=center>
<input type=submit value="送出留言">
<input type=reset value="擦掉留言">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>


上面的程序在执行时,先检查变量 alias 和 msg 是否有资料,若无资料则送出填写留言的表格到用户端,供用户填写留言。

若用户填好留言,按下 "送出留言" 的按钮后,则执行程序的前半部份。

程序大概分成五部份

配置 Oracle 需要的环境变量
连上 Oracle 数据库
整理资料,送入 Oracle 中
结束与 Oracle 的连接
结束程序,显示最新的留言资料
在配置 Oracle 环境的部份,用 PHP 的函数 putenv(),可配置操作系统层的环境变量。要使用中文要记得加入下面这行

putenv("NLS_LANG=american_taiwan.zht16big5");

之后就使用 Oracle 函数库的功能: ora_logon() 等等。详见 Oracle 数据库函数库。利用这个函数库,可以很轻易的操作 Oracle 数据库。

再来就是整理资料,以便置入 Oracle 数据库中

$serial=md5(uniqid(rand()));
$ref="";
$id=$PHP_AUTH_USER;
$ip=$REMOTE_ADDR;
$msg=base64_encode($msg);
$flag="1";
$query="INSERT into guestbook(serial, ref, id, alias, ip, msgdate, email, msg, flag) values('$serial', '$ref', '$id', '$alias', '$ip', sysdate, '$email', '$msg', '$flag')";

$serial 变量为独一无二的字符串,程序先随机产生一个独特的字符串,再用 md5 编码,将字符串弄乱,形成类似哈稀处理后的无意义字符串。由于字符串长,又变得很乱,可防止用户,尤其是黑客或飞客利用序号来破解系统。 $ref 变量目前是无效的。$id 变量为用户认证用,若在程序开始处加入了用户认证的程序,则 $PHP_AUTH_USER 会变成用户的帐号,传入 $id 变量中。

至于用户写的字符串,为了防止数据库或处理时的复杂性干脆将它用 BASE64 编码。可以让中文字符的奇怪字符一起消失,当然这是锯箭法,不过对 Web 程序而言,执行快速、修改方便才是最重要的,实在没有必要再浪费精力去处理这些中文的冲码问题了。值得注意的是使用 BASE64 编码,会让字符串膨胀大约 1/3,若数据库的储存空间有限,可能就不适合用这个方法了,话又说回来,现在硬盘便宜,随便就是十几 GB 以上,应该不会考虑数据库空间有限的问题才对。

最后,将变量整理成 $query 字符串,供数据库执行 SQL 指令使用就可以了。

ora_parse($cursor, $query) or die;
ora_exec($cursor);
ora_close($cursor);
ora_logoff($handle);

要执行 Oracle 的 SQL 指令前,要先经过 parse 的步骤。若在前面加上 @ (如: @ora_prase();),可以不让用户看到错误信息。在执行 query 指令后,就可以关闭与 Oracle 之间的连接了。

Header("Location: ./index.php");
exit;

这二行让浏览器重定向到 index.php。让用户看到他的新留言,就完成了留言的步骤。

之后来看看留言的内容显示程序。


<html>
<head>
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
<title>留言板</title>
</head>
<body bgcolor=ffffff>
<?php
//---------------------------
// 留言显示程序 index.php
// Author: Wilson Peng
// Copyright (C) 2000
//---------------------------

$WebmasterIPArray = array(
"10.0.1.30", // 管理人员甲的机器 IP
"10.0.2.28" // 管理人员乙的机器 IP
);

$WebmasterIP=false;
for ($i=0; $i<Count($WebmasterIPArray); $i++) {
if ($REMOTE_ADDR == $WebmasterIPArray[$i]) $WebmasterIP=true;
}

putenv("ORACLE_SID=WWW");
putenv("NLS_LANG=american_taiwan.zht16big5");
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");
putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");
putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");

$handle=ora_logon("user38@WWW","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);

$query="SELECT serial, ref, id, alias, ip, TO_CHAR(msgdate, 'yyyy/mm/dd hh:mi:ss'), email, msg FROM guestbook where flag='1' order by msgdate desc";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
$i=0;
while(ora_fetch($cursor)) {
$guestbook[$i][0] = ora_getcolumn($cursor,0);
$guestbook[$i][1] = ora_getcolumn($cursor,1);
$guestbook[$i][2] = ora_getcolumn($cursor,2);
$guestbook[$i][3] = ora_getcolumn($cursor,3);
$guestbook[$i][4] = ora_getcolumn($cursor,4);
$guestbook[$i][5] = ora_getcolumn($cursor,5);
$guestbook[$i][6] = ora_getcolumn($cursor,6);
$guestbook[$i][7] = ora_getcolumn($cursor,7);
$i++;
}
ora_close($cursor);
ora_logoff($handle);

echo "<a href=addmsg.php>新增留言....</a><p>\n";

if ($QUERY_STRING!="") {
$page = $QUERY_STRING;
} else {
$page = 0;
}

$i=count($guestbook);
$msgnum=20; // 每页二十条
$start = $page * $msgnum;
$end = $start + $msgnum;
if ($end > $i) $end=$i;
$totalpage=$i/$msgnum;

$pagestr="";
if ($page>0) $pagestr=$pagestr."<a href=index.php?".($page-1).">&lt;上页</a> - ";
$pagestr=$pagestr."[第 ";
for ($i=0; $i<$totalpage; $i++) {
if ($i!=$page) {
$pagestr = $pagestr."<a href=index.php?$i>".($i+1)."</a> ";
} else {
$pagestr = $pagestr.($i+1)." ";
}
}
$pagestr=$pagestr." 页] ";
if ($page<($totalpage-1)) $pagestr=$pagestr."- <a href=index.php?".($page+1).">下页&gt;</a> ";

$pagestr="<div align=center>$pagestr</div>";
echo "<p>".$pagestr."<hr><p>\n";

for ($i=$start; $i<$end; $i++) {
echo "<p><hr><p>\n";
echo "<p>\n<font color=e06060>".$guestbook[$i][5]."</font>   ";
if ($guestbook[$i][6]!="") echo "<a href=mailto:".$guestbook[$i][6].">";
echo "<strong>".$guestbook[$i][3]."</strong>";
if ($guestbook[$i][6]!="") echo "</a>";
echo "<br>\n";
if ($WebmasterIP) echo "<a href=erase.php?".$guestbook[$i][0].">删除本篇!!</a> (".$guestbook[$i][2].")   ";
echo "<font size=-1 color=c0c0c0>from: ".$guestbook[$i][4]."</font><p>\n";
$msg=base64_decode($guestbook[$i][7]);
$msg=nl2br($msg);
echo $msg;
echo "<p>\n";
}

echo "<p><hr><p>\n";
echo $pagestr;

?>
</body>
</html>

在显示留言的部份,考虑到留言内容若很多,加上网络慢的话,可能会让用户在线路慢的时候拖累整个数据库,因此,尽快的连上数据库,取得需要的资料后,马上关闭数据库,再慢慢送给用户,应是最好的对策。

程序分成四部份

初始化
取数据库中的资料
计算要显示的页数
送出资料


$WebmasterIPArray = array(
"10.0.1.30", // 管理人员甲的机器 IP
"10.0.2.28" // 管理人员乙的机器 IP
);

$WebmasterIP=false;
for ($i=0; $i<Count($WebmasterIPArray); $i++) {
if ($REMOTE_ADDR == $WebmasterIPArray[$i]) $WebmasterIP=true;
}
// 之后初始化 Oracle 程序略

显示程序和留言程序的初始化部份都差不多,但显示程序多加了一个功能,配置 Webmaster 的电脑。将 Webmaster 使用的 IP Address 加在 $WebmasterIPArray 数组变量中,可以在显示留言时,显示删除留言的字符串,方便处理不当的留言。

$handle=ora_logon("user38@WWW","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);

$query="SELECT serial, ref, id, alias, ip, TO_CHAR(msgdate, 'yyyy/mm/dd hh:mi:ss'), email, msg FROM guestbook where flag='1' order by msgdate desc";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
$i=0;
while(ora_fetch($cursor)) {
$guestbook[$i][0] = ora_getcolumn($cursor,0);
$guestbook[$i][1] = ora_getcolumn($cursor,1);
$guestbook[$i][2] = ora_getcolumn($cursor,2);
$guestbook[$i][3] = ora_getcolumn($cursor,3);
$guestbook[$i][4] = ora_getcolumn($cursor,4);
$guestbook[$i][5] = ora_getcolumn($cursor,5);
$guestbook[$i][6] = ora_getcolumn($cursor,6);
$guestbook[$i][7] = ora_getcolumn($cursor,7);
$i++;
}
ora_close($cursor);
ora_logoff($handle);

在初始化后,就可以连上 Oracle 数据库,将留言的资料取出放在 $guestbook 数组中。取得资料后,就赶紧将数据库关闭,再来处理 $guestbook 数组的资料了。

if ($QUERY_STRING!="") {
$page = $QUERY_STRING;
} else {
$page = 0;
}

这一段程序判断是要显示第几页,默认值是显示第一页。要显示第三页的页面,需要使用 http://xxxxxx/index.php?2 的格式,也就是传入 $QUERY_STRING,余类推。之后的数行程序,都是用来处理显示的页数及条数的资料。

$msgnum=20; // 每页二十条

要改变每页的显示条数,可以改 $msgnum 变量。程序的默认值为 20 条。

for ($i=$start; $i<$end; $i++) {
echo "<p><hr><p>\n";
echo "<p>\n<font color=e06060>".$guestbook[$i][5]."</font>   ";
if ($guestbook[$i][6]!="") echo "<a href=mailto:".$guestbook[$i][6].">";
echo "<strong>".$guestbook[$i][3]."</strong>";
if ($guestbook[$i][6]!="") echo "</a>";
echo "<br>\n";
if ($WebmasterIP) echo "<a href=erase.php?".$guestbook[$i][0].">删除本篇!!</a> (".$guestbook[$i][2].")   ";
echo "<font size=-1 color=c0c0c0>from: ".$guestbook[$i][4]."</font><p>\n";
$msg=base64_decode($guestbook[$i][7]);
$msg=nl2br($msg);
echo $msg;
echo "<p>\n";
}

这一段程序就是真正显示留言资料给用户看的程序了。利用 for 循环,将 $guestbook 数组的资料按照配置的页数取出,显示给用户看。值得一提的是,若看留言的机器 IP 为 $WebmasterIPArray 变量数组中的一个元素的话,则会在留言者的匿称后显示 "删除本篇!!" 的字符串,供管理人员删除不当留言。

以下即为删除留言的程序。


<?php
//---------------------------
// 留言删除程序 erase.php
// Author: Wilson Peng
// Copyright (C) 2000
//---------------------------
putenv("ORACLE_SID=WWW");
putenv("NLS_LANG=american_taiwan.zht16big5");
putenv("ORACLE_HOME=/home/oracle/product/7.3.2");
putenv("LD_LIBRARY_PATH=/home/oracle/product/7.3.2/lib");
putenv("ORA_NLS=/home/oracle/product/7.3.2/ocommon/nls/admin/data");
putenv("ORA_NLS32=/home/oracle/product/7.3.2/ocommon/nls/admin/data");

$handle=ora_logon("user38@WWW","iam3849") or die;
$cursor=ora_open($handle);
ora_commitoff($handle);

$query="UPDATE guestbook set flag='0' where serial='".$QUERY_STRING."'";
ora_parse($cursor, $query) or die;
ora_exec($cursor);

ora_close($cursor);
ora_logoff($handle);

Header("Location: ./index.php");
?>


其实这个程序很简单,只要打开 Oracle 数据库,将要删除的序号那条资料的 flag 字段设成 0 就可以了,不用将资料真的从数据库上移除。

TOP

电机配件

礼品行业骗子太多了
      大家以后千万不要跟卖礼品的打交道,更不要买他们的东西,一毛钱的手表,他们敢以进口礼品的名义,卖上几千甚至上万元钱。我今天给客户买了一套邮票,18600,没想到客户从自己的柜子里拿出来了一套一模一样的邮票,然后仔细给我一对照之后,发现我买的礼品邮票竟然是假的!气死我了!眼现大了。我恨不得钻进耗子窟窿。单子没了,还白白花了一万多,而且还现了眼。明天找几个哥们去找他们,死活给个说法,而且还得赔偿我损失。





















电机配件 衬布 万网三辊研磨机三辊研磨机

TOP

给大家推荐一个美女多的游戏

惊艳美女云集<美女三国> 千元大礼包人人有份
                                                       -------------三国类网页游戏的终极大作

   让人翘首以盼的由游戏盒子倾力打造的一款全新即时策略性网页游戏《美女三国之小乔出嫁》盛装开幕了。

   

    从《美女三国》sanguo.boxgm.com开区的预告发出,就有众多网友,来函来电咨询,问:美女三国 什么时候开始测试啊,什么时候正式开放啊。在此对一直支持我们的众多网友,和游戏盒子的120万老朋友们表示真挚的感谢!感谢你们对游戏盒子对《美女三国》的关注,支持和厚爱。   仅《美女三国之小乔初嫁》开服不足一个小时,便如潮水般涌进了近千的网友,开服次日注册用户就已突破万人。我们简单做了一下调查,其中以女性玩家人数最多,比例达到2/3 .

   金秋十月 丹桂飘香 ;金秋时月,暗香袭人,众多佳丽的加入,无疑也成了美女三国的一道亮丽的风景线。

  英雄榜也在不断的刷新,众多家族联盟也都踊跃的进入了美女三国。英雄的队伍也在不断的增长,在美女三国,有一展宏图,实现自己的统一霸业的为目标的霸业系玩家,还有誓复汉室一匡天下的忠义系玩家,也有是偏居一隅,求得安乐的 安乐系玩家。都在努力建立着自己的王国憧憬着自己的梦想。其逢乱世,究竟谁能成就霸业,谁能一匡天下,谁能称霸一方那。乱世造就几多悲歌,也成就几多英雄。自古美女爱英雄,英雄怜美女。金秋的十月,广邀天下英雄美女,共赴美女三国。建建千秋功业,留万古英明。那风华绝对,倾国倾城的美女,就是你!

   游戏盒子为了感谢众多网友对《美女三国》的厚爱和支持,决定让开区优惠活动延长至10月6日24时,每天参与答题边可获意外惊喜。美女三国伴你度过一个美好的假期。

   笔者也时尚了一把,带着对希望遇见美女一点憧憬,开始了我的美女三国之旅,上班时间也可以玩!好不惬意,哇进游戏一看这么多的免费道具真是好爽啊。

   你还等什么呢,赶快注册!建立自己的王国。

游戏盒子《美女三国》官方网站 http://pass.boxgm.com/Box_UserReg.asp?Lid=100006
游戏盒子通行证注册地址http://pass.boxgm.com/Box_UserReg.asp?Lid=100006

立即注册开始游戏吧!

友情提示:注册盒子通行证 可以通行游戏盒子所有游戏!并且有免费的加速器软件可以用啊  简单简单加速器http://www.jdjsq.com (终身免费)





如何优雅的解决你面临的网站推广问题?群发软件论坛群发网站推广又将何去何从?

TOP

因为一个软件,我们分手了

跟我一起相处五年的男友就因为一个软件,和我分手了。我从来没想过我们之间的结局会因为一个软件而终结,但事情就是这样真真实实的发生了。

我跟男友认识五年了,他长相很一般,家里也没什么钱。大学我们就认识了,还相处过一年的时间,我的第一次也献给了他,当时还天真的要和他结婚过一辈子。

后来他退学,离开了校园,说是因为家里的原因不得不退学去外面找份工作供弟弟上学,女人最容易被感情冲昏头脑,我曾经一度要闹着退学跟他一起,一起工作。家里死活都是不同意,妈妈还放出话要和他小子在一起就等她死,同学也劝我仔细想想,是啊我的自身条件也不差父母都在国企有稳定工作,我168,长相也还算对得起观众,找什么男人不好,非要找一个缀学的穷光蛋。

我又在学校待了1年,我们分开后他没有给我打过一次电话,我忍不住拨通了他的号码,那熟悉的一串数字却传来了对方已停机的叫声,好长一段时间我情绪很是失落,他怎么这么没有良心,后来我交了好几个男朋友,想要自己忘记,多到自己都数不过来了。当然还有一些Z爱的事情,也只有那个时候心情才会完全放松。大学就这样堕落的结束了。

毕业后他给我打电话说,他和几个朋友对钱在A城刚了一个小贸易公司,我是学网络营销的,想让我去帮帮忙。我一口就答应了,毕竟我还是最放不下他的。

见面那天他说现在资金紧缺就不请我在外面吃饭了,他在家做给我吃,顺便介绍一下公司的情况。我到了他家,他一把抱住我说他还是爱我的,这一年他每天都在想我,却不敢给我打电话,觉得自己配不上我。他一直在算着我毕业的时间,毕业尝试着拨通我的号码,没想到竟然接通了。我一下子就哭了,这些年我的号码一直舍不得换,也不很少关机,就算没钱也要借钱把电话欠费交了。我们那天聊得很少,大部分时间都是看着对方什么也没有说。然后我们脱掉对方的衣服,做了那个事情,我很顺从,感觉这好像是理所应当的一样。但这次他那家伙变得更长、更粗、更有力量了。

第二天我去他公司看了看,真的很小的一个公司,整个公司只有三张桌子几个电话,其他什么都没有。我了解到他公司的困境后,虽然我也只是刚毕业没有工作经验,但还是坚信我一定能帮到他的。我利用学校里学的,竭尽所能的工作着,公司网络营销的全部都是我来做的。我为他公司制作了网站,在论坛发帖子、把供应信息发送到供求等网站。没想到的是网络竟让成了他公司客户的主要来源。

一年后,他的业务慢慢好了起来,但还不至于说赚到大钱,而我每天的工作依然是发发帖子、发布一些信息、在维护维护公司的网站。他曾经开玩笑的跟我说:原来营销这么简单啊,每天上网发发信息就可以了,人人都会。

后来公司有招聘了两个员工,和我的工作一样,就是在网上发布信息。他整天忙着在外面拜访客户、请客户吃饭,我整天呆在公司。一天也只有早上半个小时也晚上能够在一起,他晚上回家很晚经常在十点以后,回家后倒床就睡,有时候甚至整夜都不回家,问他在干什么,他就说陪客户玩了一晚上。我问他有没有跟客户去找小姐,他说工作需要有时候为了做成生意要请客户去那地方消费,但自己绝对不碰小姐的。

虽然我相信他,但是事实就是这样,我们之间的距离越来越远,我有时候晚上想他了给他打电话,他总是匆忙说两句就挂电话,说是正在和客户谈生意不方便。

生意越做越大,员工也越来越多,公司也搬迁换更大的地方了。我每天的工作还是发帖、发信息,重复、乏味,让人心烦。

后来我无意中发现一个叫“推广小助手”的群发软件可以自动在网上发帖、发布供应信息,心想这下好了,有了这个论坛群发软件,再也不用做哪些让人头疼的发帖工作了。我把软件拿给他看,他很快就决定购买一套,说是送给我的礼物。

谁知道这就是我们分手的导火索,我越来越清闲,每天打开那个软件就什么也不用管了,而且发送的数量远远比之前手工发送的多太多了。没天能发送几万个帖子。那段时间他生意好的不得了。我整天上班还可以看看新闻、看看电影什么的。

几个月后,公司再次搬迁,搬到了一个非常豪华的办公楼,面积也很大,他终于有了自己的办公室,而我则和其他员工一样坐在大厅里,我和他之间的共同语言越来越少。

和他在一起这么久了,我也到了结婚的年龄,但他重来不跟我谈结婚的事情,我又一次小心翼翼的问他说我们结婚吧,他却笑道,这么早啊,他还小,还要闯事业,他的意思是30岁以后再结婚。但我等不了了,等他30岁我不就高龄产妇了,他根本就不考虑我的感受。

都说男人一有钱了就会学坏,他还是那样天天回家很晚,甚至连续几天不回家。我一个人在家,忍不住去想他是不是在外面有人了,为什么不考虑一下我的感受。

我偷偷拿到他的手机,发现里面和一个叫青青的女孩的短信都很恶心,短信里还说他现在女朋友(也就是说我)整天闲着没事,吃白饭,老是缠着他,很烦,那女孩叫他老公别烦我和你在一起很开心。我一下子就傻了,头都大了,怎么也不相信自己的眼睛。

整整一个星期我心痛如刀割一样,脑子里不断回响着“整天闲着没事,吃白饭,老是缠着他”这句话。有时候躲在公司的卫生间里偷偷的哭。晚上睡不好觉。

他冷冷的问我怎么了,这几天脸色这么难看,我也只好说昨天失眠没睡好。他要离开我了怎么办,难道就是因为那个推广小助手的破软件,让他觉得我已经不重要了吗?

我决心一定要向他问明白,我问他手机里的短信到底是怎么回事,他却火了,说我没事儿翻他手机干什么。知道什么叫隐私吗。我又问他那个叫青青的女孩是谁,他一巴掌打在我脸上,后面的事情我真的写不下去了,我的心在滴血,他把我赶出家门…………

最终我们还是分手了,虽然我极力想要去挽留,我们之间的关系就像是一缕青烟,当你本能的伸手想要去抓住,挥动手臂带来的气流却把这缕纤细的烟雾完全冲散。

我什么都没做错,为什么会这样,他永远都不知道我在他手机上看到了什么内容,而那些内容又多么伤人。就是那个推广小助手软件惹的祸,要不他也不会说我整天闲着没事儿,吃白饭,那个软件的网址是http://www.tgxzs.com 有没有黑客能把它给黑掉,不要让他再害人了。

TOP

AA69帮您代孕生子

不错,说的挺好
顶一个



















-----------------------------------------------------------------------------------
代孕有试管婴儿和人工授精俩种方式。本代孕网具有完备严谨的流程和身份验证机制可确保志愿者和需求者的安全和利益不受任何损失,并能达到高度保密。爱心代孕是指在需求女方完全丧失生育能力的前提下,将其卵子与丈夫的精子结合成受精卵,在代孕妈妈子宫完成整个孕育过程并顺利生产的爱心助孕行为,双向选择,彼此自愿。

TOP

发新话题