Autor Zpráva
fives
Profil *
Dobrý den, mam formulář, kde něco napíšu a uloží se to do databáze. Mám problém ten,že se mi to nechce ukládat do databáze.
<head>
<!-- TinyMCE -->
<script type="text/javascript" src="./tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
	mode : "textareas",
	theme : "simple",
	extended_valid_elements : "img[class=myclass|!src|border:0|alt|title|width|height]",
	invalid_elements : "strong,b,em,i"
});
</script>
</head>

<?   
if (isset($_GET['edit_text'])){
  if($_SESSION['right_admin'] AND $_SESSION['idses']){
 item2("edit ask futu");
	if (isset($_POST['odeslano'])){
		if ($_POST['odeslano']==1){
			$edittext = $_POST["edittext"];
                	$zapis = MySQL_Query("UPDATE contact SET  text = '$edittext' ");
                    if (!$zapis){
                    	error("$lng_error");
                    } else {
                    	info("$lng_posted");
       }
     }
   }
if (isset($_GET['edit_text'])){
 $search = MySQL_Query("SELECT * FROM contact ");
    $row = MySQL_Fetch_Array($search);	
?>
<table>
<form method="post" action="index.php?vwmodule=admin_kontakt&edit_text" name="edit">
<tr><td>Text:<tr><td>
<div>
			<textarea name="edittext" rows="15" cols="80" width="100"></textarea>
		</div>
<tr><td>
<input type="hidden" name="odeslano" value="1">
<input type="submit" value="OK">
</form>
</table>
<?
}
 } else { stop(); }

}	
?>


nevíte kde mám chybu aby se mi to ukládalo?
AM_
Profil
myslím, že se ti to do databáze ukládá, jen ti tam chybí to zobrazit
<textarea ...><?php echo $row['edittext']; ?></textarea>

by to moho rozchodit.
fives
Profil *
bohužel neukládá a pořád nefunguje :(
AM_
Profil
Tak třeba máš chybu v dotazu? co mysql_error()? dostane se to vůbec k vykonání toho dotazu? zkoušel jsi to?
fives
Profil *
A to zjístím jak? přidáním kodu mysql_error($zapis) ?
Alphard
Profil
fives:
echo mysql_error($zapis);


Neřeším ty podmínky, pokud dotaz úspěšně proběhne, provede se funkce info("$lng_posted"), můžete to potvrdit? Ať je z čeho vyjít.
fives
Profil *
Ano můžuto potvrdit, žádné chyby to nevypíše
AM_
Profil
Tabulka Contact má jen jeden řádek?
fives
Profil *
ano,pouze text
AM_
Profil
ptal jsem se na řádky, ne sloupce.
fives
Profil *
jj má jeen řádek
Alphard
Profil
fives:
Tak jinak, tvrdíš nám, že dotaz proběhne správně, ok.
A že se záznam neupdatuje, jste si tím jist? Na stránce nemáte žádný výpis, kontrolujete to v phpMyAdminu nebo něčem podobném?

Ještě si zkontrolujte, jestli ta proměnná opravdu obsahuje to, co má.

 $zapis = MySQL_Query($q="UPDATE contact SET  text = '$edittext' ");
 echo $q;
                    if (!$zapis){
                        error("$lng_error");
                    } else {
                        info("$lng_posted");
fives
Profil *
ano kontroluji poocí phpmyadmin...
vypsalo to UPDATE contact SET text = ''
AM_
Profil
Jo, už si vzpomínám, když z TinyMCE ukládáš pomocí vlastního submit tlačítka, musíš tam volat nějakou metodu, něco jako UpdateTextArea() nebo tak nějak, taky jsem na to kdysi narazil... Protože to, co vidíš v editoru, je ve stránce jako samostatný element a ve skutečnosti není průběžně doplňováno do skutečné textarea s tinyMCE svázané, toto doplnění musíš vynutit.
fives
Profil *
aha, a kam to mám napsat nebo tak něco?
AM_
Profil
do onsubmitu toho formuláře nebo onclicku toho submitu... podívej se, jaká přesně funkce to je, už si to vážně nepamatuju, ale nějak tak to bylo, myslím, že je to metoda třídy tinymce
Alphard
Profil
fives:
UPDATE contact SET text = ''
proměnná, která by měla obsahovat data z formuláře, je prázdná, to je ten problém (nedělám si ambice, že jsem teď objevil Ameriku, jen rekapituluji)

je to problém javascriptu, jestli sám nenajdete řešení dle rady od AM_, zeptejte se v javascriptové sekci, někto tam třeba bude TinyMCE znát
tohle téma už nechci přesouvat, je zde hodně příspěvků týkajících se PHP

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: