我找到了一个' HTML5 WYSISYG Inline Editor',我在我的localhost(Ubuntu 14.04)上工作。
目的是将其嵌入我的网站,并将其用作我网站的主要书写工具。我需要能够选择文件名或者在文件名的空白处添加-
。
这是我在其上写的用于保存其内容的代码
(CodePen from original author: HTML5 WYSISYG Inline Editor)
inline.php
<form action="effe.php" method="post">
<input type="text" name="author" value="" placeholder="Author">
<input type="text" name="header" value="" placeholder="header">
<input type="datetime" name="datetime" value="" placeholder="datetime">
<div id='editor' contenteditable contextmenu="mymenu" name='editor'>
<p>This is just some example text to start us off</p>
</div>
<div class="tags">
<input type="text" name="" value="" placeholder="tag">
<input type="text" name="" value="" placeholder="tag">
<input type="text" name="" value="" placeholder="tag">
</div>
<input type="submit" value="Submit">
</form>
save.php
<?php
if (!empty($_POST))
{
foreach ( $_POST as $key => $value )
{
if ( ( !is_string($value) && !is_numeric($value) ) || !is_string($key) )
continue;
?>
<?php echo htmlspecialchars( (string)$key ); ?>
<div class="article-meta">
<a class="author" rel="author" title="author" href="/about" target="_blank"><?php echo "$author";?></a>
<time datetime="<?php echo "$datetime";?>" title="<?php echo "$datetime";?>"><?php echo "$datetime";?></time>
</div>
<h1><?php echo "$header"; ?></h1>
<?php echo "$editor"; ?>
<div class="tags">
<span> <?php echo "$tag1"; ?> </span>
<span> <?php echo "$tag2"; ?> </span>
<span> <?php echo "$tag3"; ?> </span>
</div>
<?php
}
}
?>
结果:
我一直在这里度过了美好的一天,我只是没有看到做错了什么。请注意我的php
知识非常基础。
我知道使用db
是一种选择,但在我的头脑中,我在过去的一两年里只撰写了类似20+
的文章。当我点击100篇文章时,我会考虑切换到数据库。
答案 0 :(得分:0)
我不是100%确定你是什么;重新努力完成。我是你提到的那篇文章的作者,我很乐意提供帮助。
我不确定你的方法;重新尝试使用是实用的。这里最好的选择是建立一个数据库并在那里写内容。
使用php非常简单,我建议看一下PDO,即数据库抽象层。还有一些其他的,但是这个对你有一些与注射攻击有关的工作,所以这是一个很好的起点。
听起来你需要一个相当简单的数据库表,很可能是这样的:
create table articles (
article_id INT NOT NULL AUTO INCREMENT,
title VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
article_date DATE
PRIMARY KEY (tutorial_id)
);
当您从编辑表单中回发数据时,您可以执行以下操作:
$dbh = new PDO('mysql:host=localhost;dbname=articles', 'user', 'pwd');
$sth = $dbh->prepare('INSERT INTO articles (title, content, article_date) values (:title, :content, NOW())');
$sth->bindParam(':title', $_POST['title']);
$sth->bindParam(':content', $_POST['content']);
$sth->execute();
要回想起数据库,请使用以下内容: $ dbh = new PDO(&#39; mysql:host = localhost; dbname = articles&#39;,&#39; user&#39;,&#39; pwd&#39;); $ sth = $ dbh-&gt;查询(&#39; SELECT * FROM articles&#39;);
除此之外还有更多内容,例如,您希望添加try / catch块以避免错误,并且您可能想要选择特定的文章(即SELECT * FROM文章,其中article_id = 45)但我希望这能指出你正确的方向。
我认为试图避免使用数据库会导致很多额外的工作,一旦你开始使用类似MySQL的东西,你就可以立即启动并运行!