Autor Zpráva
bismakrxie
Profil
Dobrý den, už několik dní se snažím rozchodit editor. Částečně se mi to už podařilo. Hodnota z DB se mi do tagu
<iframe></iframe>
už načte, ale když ji upravím, tak se mi znovu už do DB neuloží. Pomůžete mi někdo prosím. Přikládám malou část editoru a snahu o řešení.


 <?php 
include "pages/databaze.shtm";
$sql=mysql_query("SELECT * FROM tabulka ORDER BY tabulka.ID DESC LIMIT 0,1");
$zaznam = @mysql_fetch_array($sql);
?>

<html>
<head>
  <title>WYSIWYG Editor</title>
  <script language="javascript" src="pages/editor.js"></script>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="stylesheet" href="wysiwyg.css">
</head>

<body onLoad="Init()">
<table id="tblCtrls" style="width: 550px; background-color: #D6D3CE">
  <tr>
    <td class="tdClass">
      <img alt="Vyjmout" class="butClass" src="ikony/cut.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="edit('Cut')">
      <img alt="Kopírovat" class="butClass" src="ikony/copy.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="edit('Copy')">
      <img alt="Vložit" class="butClass" src="ikony/paste.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this)" onMouseUp="selUp(this)" onClick="edit('Paste')">
      <img src="ikony/separator.gif" alt="">
    </td>
  </tr>
</table>
<iframe id="iView" style="width: 550px; height:205px" onLoad="Set();"></iframe>

<form method="get" name="editor" onSubmit="document.editor.obsah.value=iView.document.body.innerHTML;">
<input type="hidden" name="ID" value="<?php echo($zaznam['ID']);?>">
<input type="hidden" name="obsah" value="<?php echo($zaznam['obsah']);?>">
<br>
<input type="submit" name="uprav" value="Uprav">
</form>
<?php if (isset($_GET['uprav'])){
	 $obsah=ereg_replace("http:\/\/[[:alnum:]]+([-_\.]?[[:alnum:]])*(\.[[:alpha:]]{2,6})*(\/Stranky\/{1})+","",$_GET['obsah']);		//reseni obecne URL adresy az po adresar
	 mysql_query("UPDATE tabulka SET obsah='{$obsah}' WHERE ID={$_GET['ID']}");
	 	}
?>
</body>
</html> 


Myslím si, že problém bude ve funkci ereg_replace, jelikož sem s ní pracoval poprvé.
panther
Profil
bismakrxie:
tak se podívej, co je v proměnné $obsah, případně si vypiš dotaz, mysql_error()...
Kajman_
Profil *
Mezi řádky 35 a 36 by mělo být ještě něco jako
$obsah=mysql_real_escape_string($obsah);
Kajman_
Profil *
A prvně dělejte případný update... pak teprve select, ať se zobrazí i nová data.
bismakrxie
Profil
panther:
v proměnný obsah je právě ta hodnota, kterou jsem upravil, v url to zobrazí, ale do DB už ne.
bismakrxie
Profil
Kajman:
dal jsem tam ten váš kód a nic..sice sem mu dal jinou proměnou, aby se to netlouklo, ale pořád nic.
bismakrxie
Profil
takhle vypadá URL adresa po odeslání a úpravě.

admin.php?ID=1&obsah=ahojiiiiiiik&uprav=Uprav
Kajman_
Profil *
Možná si znovu přečtěte rady číslo 2 a 4 a využijte je.

A časem asi zjistíte, že přes GET je možné posílat jen krátké texty, tak přejděte na metodu POST.
bismakrxie
Profil
Ano to samozřejmě vím a omlouvám se, protože jsem si nevšiml, že jsem to tam ponechal. Getem jsem si zobrazoval url a hodnoty proměnných. Děkuji za "vrácení na správnou cestu".

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0