假设我有一个包含两个输入字段,标题和注释的表单.在用户填写两个字段并提交数据后,将自动创建一个页面,其中包含用户键入的标题和注释,位于根目录中的文件夹中,例如www.root.com/page/将包含自动生成的页面.
更新:
我希望将表单数据发送到SQL表行,并将自动生成的页面的url与标题和注释放在同一个SQL行中.
我如何通过PHP完成此操作?
解决方法:
//Template for basic page
$template = <<
EOD;
//handle the posted form
if(isset($_POST['title'])&&isset($_POST['comment'])){
//replace the areas of the template with the posted values
$page = str_replace('',htmlentities($_POST['title']),$template);
$page = str_replace('',htmlentities($_POST['comment']),$page);
//create a name for the new page
$pagename = md5($_POST['title']).'.html';
//db connect & select
$db=mysql_connect('localhost','user','pass');
mysql_select_db('yourdb');
//check if page already exists
$result = mysql_query('SELECT pagename from yourtable WHERE url="'.mysql_real_escape_string($pagename).'"');
if(mysql_num_rows($result)>=1){
$notice = '
Page already created ./pages/'.$pagename.'
';}else{
//inset new page into db
mysql_query('INSERT into yourtable (`id`,`title`,`comment`,`url`)VALUES("",
"'.mysql_real_escape_string(htmlentities($_POST['title'])).'",
"'.mysql_real_escape_string(htmlentities($_POST['comment'])).'",
"'.$pagename.'")');
//put the created content to file
file_put_contents('./pages/'.$pagename,$page);
//make a notice to show the user
$notice = '
New Page created ./pages/'.$pagename.'
';}
}
?>
Make page example//if the notice is set then display it
if(isset($notice)){echo $notice;} ?>
Title:
Comment:
标签:html,php,forms,directory
来源: https://codeday.me/bug/20190826/1735384.html