针对类似淘宝商户注册时用模板生成自己商铺网页的操作

很多人对商户通点击过商户开店模板点击提交后就生成相对应的自己商铺界面 

那该怎么办呢?

首先纠正一个误区,,,就是你在商铺模板上设置的信息不是直接保存在当前页面上,其实那就相当于一个表单框界面,只是引导商家填写正确的信息。

其内置原理就是将商户填写的信息按【确认】提交后写进数据库,而在此时后台通常也会对商铺模板文件进行复制操作,(会生成对应的example.html)生成的文件供你浏览,

而商铺中需要填写信息的部分可以先用特殊字符串代替,

例如下方简单的代码:

addinfo.html(填写类似消息)

<html>
<head>
	<title>注册页面</title>
	<meta charset="utf-8">
</head>
<body>
	<h1>用户注册</h1>
	<form action="./add.php" method="post">
		<table>
			<tr><td>你的名字:</td><td><input type="text" name="name"/></td></tr>
			<tr><td>你的性别:</td><td><input type="text" name="sex"/></td></tr>
			<tr><td>文章标题:</td><td><input type="text" name="title" /></td></tr>
			<tr><td>文章内容:</td><td><textarea  name="article" style="width:300px;height:300px"></textarea> </td></tr>
			<tr><td colspan="2"><input type="submit" value="提交"></td></tr>
		</table>
	</form>
</body>
</html>
example.html (这个就是将上述填写的信息生成到模板中,产生类似商铺界面的界面)

<html>
<head>
	<title>--title--</title>
	<meta charset="utf-8">
</head>
<body>
	<h1></h1>
	What's your name?<p>--name-- </p><br />
	What's your sex?<p>--sex--</p><br />
	News title <p>--title--</p><br />
	article neirong<p>--neirong--</P>
</body>
</html>
通过后台文件操作进行复制、替换并生成

add.php(实质是文件的复制及字符串的替换,类似smarty的功能,由于我的例子比较小,就没用到数据库,采纳思路就好)

<?php
	$name=$_POST['name'];
	$sex=$_POST['sex'];
	$title=$_POST['title'];
	$article=$_POST['article'];
	$count = fopen('user.txt','r+');
	$users = intval(fgets($count));
	$users++;
	$moban=array();
	$html = $users.".html";
	rewind($count);
	fwrite($count,$users);
	fclose($count);
	copy('show.html',$html);
	$file = file_get_contents($html);
	$pre=array('--name--','--sex--','--title--','--neirong--');
	$after = array($name,$sex,$title,$article);
	$file=str_replace($pre,$after,$file);
	$htmlarr = fopen($html,'w');
	fwrite($htmlarr,$file);
	fclose($htmlarr);
	include ($html);
?>

我在这里建立的是用user.txt中的内容数字来记录商铺的数量,并把他们当作商铺页面的名字(如果想设置自己喜欢的商铺名字,可以在填写信息的模板处添加商铺代码名称,生成相应的文件即可)

我在这里说的只是思路,上述代码并不是完美的,注册商铺应该适当的增加以下细节:

1.注册后防止用户因刷新而生成一个相同的文件或者文件夹(加一段防止刷新代码:将一个bool属性的值以session的形式保存起来,当注册后对其进行更改,以免刷新产生错误)

2.对用户的个人信息进行加密保存到数据库中,不要以明文进行保存

3.界面间传递参数时应该用base64等双向加密算法进行加密,以免对用户信息产生泄露,也可以通过session进行保存(建议后者)。


以上只是本人的一点点小建议,如果有什么纠正的或则补充的地方还希望指出,谢谢



发布了12 篇原创文章 · 获赞 7 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章