Php 选择性MySQL行?
我正在为一个朋友开发一个定制的CMS系统,它几乎完成了。它尽可能简单,管理面板包含一个侧栏,其中包含所有可供编辑的页面,每个编辑页面包含一个带有wysiwyg编辑器的文本区域。所有页面都有相同的代码,大多数页面工作起来就像做梦一样 然而,有些页面无法正常工作。当你输入简单的文本时,它们都会保存下来,并且在页面上显示出来。这个网站在我开始构建CMS之前就已经存在了,所以它有很多包含大量文本的页面,所以我只是从包含标签的原始代码中复制了所有文本,等等。就像我说的,它大部分像梦一样工作,但有些部分不是。例如,这个无序列表不适合任何表行,我不知道为什么:Php 选择性MySQL行?,php,mysql,Php,Mysql,我正在为一个朋友开发一个定制的CMS系统,它几乎完成了。它尽可能简单,管理面板包含一个侧栏,其中包含所有可供编辑的页面,每个编辑页面包含一个带有wysiwyg编辑器的文本区域。所有页面都有相同的代码,大多数页面工作起来就像做梦一样 然而,有些页面无法正常工作。当你输入简单的文本时,它们都会保存下来,并且在页面上显示出来。这个网站在我开始构建CMS之前就已经存在了,所以它有很多包含大量文本的页面,所以我只是从包含标签的原始代码中复制了所有文本,等等。就像我说的,它大部分像梦一样工作,但有些部分不是
<h1>Kursseja ja opintoja joita olen suorittanut:</h1>
<ul class="lista">
<li>Koiranomi koulutus, (ohjaaja / kouluttaja Paula Speer) 8/2008-12/2009</li>
<li>Luento ’ Koirien käyttäytyminen uusimman tutkimustiedon valossa’ (luennoitsija Tuire Kaimio, järj. Suuret Laumanvartijarodut ry) 2.9.2008</li>
<li>Gerard O'Shean näyttelyesittämiskurssi 23.-24.9. 2008</li>
<li>PDTE yhdistyksen viikonloppu seminaari 27-28.9.2008</li>
<li>Koiran luonnonmukainen ruokinta perusluento (luennoitsija Malin Ekblom) 11.11. 2008
</li>
<li>Koiran luonnonmukainen ruokinta syventävä luento (luennoitsija Malin Ekblom) 3.12. 2008</li>
<li>HETI:n Jalostuksen ABC -luentopäivä 10.1.2009</li>
<li>SKL toko koulutusohjaaja kurssi 3/2009 </li>
<li>Mejä -leiri, järjestäjä Ulla Honkanen 16-17.5.2009</li>
<li>Esa K Viitala: Etsintäkoiraleiri 6/2009</li>
<li>Koulutuspäivä "Postiivisen vahvisteen tekniikka sekä siihen liittyvät välineet” (koulutusneuvoja Tommy Wiren) 8/2009</li>
<li>Trainers Choice koulutustekniikan peruskurssi eli kanakurssi I 23.25.10.2009</li>
<li>SKL kasvattajan peruskurssi 14-15.11.2009</li>
<li>Liikkuminen ja kivun vaikutus koiran käytökseen (luennoitsija Leena Piira) 13.2.2010</li>
<li>James Serpell seminaari 15.5.2010</li>
<li>KIVA-teamin rotutuntemusviikonloppu (kouluttaja David Selin) 29.-30.5.2010</li>
<li>Naksutin koulutus seminaari (kouluttaja Morten Egtvedt) 12.6.2010</li>
<li>Trainers Choice koiulutustekniikan peruskurssi eli kanakurssi II 2-4.7.2010</li>
<li>KIVA TEAM tunne koirasi kurssi 11.-12.9 / 9.-10.10. / 6.-7.11 2010 </li>
<li>Trainers Choice koulutustekniikan peruskurssi eli kanakurssi III 25-28.11.2010</li>
</ul>
以下是更新数据库的文件:
<? $pagename = 'Location:http://edit.xxx.fi/pages/'.$_POST[PageName];?>
<?php
include 'mysqlconnection.php';
mysql_query("UPDATE Content SET Content='$_POST[edit]' WHERE PageName='$_POST[PageName]'");
mysql_close($con);
?>
<?php
header($pagename);
?>
下面是管理面板部分,其中包含更新内容的文本区域:
<div class="content">
<?php include 'sidebar.php';
$pagename = basename($_SERVER['REQUEST_URI']);?>
<form action="save.php" method="post" style="margin-left:400px; height:600px; overflow:hidden; width:530px; margin-top:-1px;">
<p>Editoi sivun <strong><? echo $pagename; ?></strong> sisältöä<br>
<small style="font-size:10px;">Huom: Tällä sivulla oleva koulutuslista estää sivun tallentumisen tietokantaan jostain syystä, eli koulutuslista on tallennettu suoraan Susanna sivun lähdekoodiin. Sinne pitää lisätä tiedot käsin. </small></p>
<textarea class="editor"
name="edit" style="width:500px; height:300px;"><?php
include 'mysqlconnection.php';
$result = mysql_query("SELECT * FROM Content WHERE PageName='$pagename'");
while($row = mysql_fetch_array($result))
{
echo $row['Content'];
}?></textarea>
<input type="hidden" value="<? echo basename($_SERVER['REQUEST_URI'])?>" name="PageName">
<input type="submit" value="Tallenna" class="submit">
</form>
<br>
<div style="height:600px; width:500px; border:1px solid black; margin-left:400px; position:absolute; left:300px; top:500px; overflow:auto;">
<?php
include 'mysqlconnection.php';
$result = mysql_query("SELECT * FROM Content WHERE PageName='$pagename'");
while($row = mysql_fetch_array($result))
{
echo $row['Content'];
}?>
</div>
我正在使用htaccess重写页面名来删除文件扩展名,所以不要对此产生误解
我在这件事上可能做错了什么?使用phpmyadmin时,数据会更新到数据库,但ä和ö不能正常工作,仅显示以下内容:�. 试试看
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
并确保数据库存储的字符字段排序规则设置为utf8_swedish_ci或类似
如果没有,那么
设置字符集utf8
设置名称utf8�'由于字符集问题而显示。避免这种情况的最好方法是将所有内容更改为UTF-8编码
正如达维兰多姆所说,若部分文本被截断,问题可能出在错误的列类型中。我还建议您在将所有字符插入数据库之前对其进行转义。您是否将其存储在受65535字节行长度限制的VARCHAR中?尝试将列更改为TEXT/MEDIUMTEXT/LONGTEXT类型,或者如果您希望它是charset不可知的,则为BLOB/MEDIUMBLOB/LONGBLOB…是的,它是文本。我注意到你的存储字符集设置为拉丁语1_瑞典语ci-尝试utf8_general_ci?我更改了它,仍然没有保存我在任何一行中提到的无序列表。实际上,你的问题可能是没有逃避输入的简单问题,我在HTML中看到一个',尝试将行更改为mysql_queryUPDATE Content SET Content='.mysql_real_escape_string$_POST['edit'.'其中PageName='.mysql_real_escape_string$_POST['PageName'.];这不是charset。。。我知道。如果它只是保存内容,它总是保存内容,而它不会保存的页面并不比任何其他页面长� 仅当我从phpmyadmin保存数据时才会显示,如果我从textarea保存数据,则它们工作正常。
header('content-type: text/html; charset: utf-8');