Autor | Zpráva | ||
---|---|---|---|
Nosnx Profil |
#1 · Zasláno: 25. 4. 2012, 18:43:45
Jelikož se mi zde dostalo pomoci ohledně kodování emailu, který jsem řešil o pár řádku níže, zkusím poprosit o pomoc ještě jednou..
Má problém s editací postnutých novinek. Potřebuji umožnit adminovi webu měnit dodatečně obsah novinky, kterou postnul na webu. Do jisté míry mi to funguje, novinky vypíšu z databáze, přes ikonku edit se dostanu do "editoru" a tady už je problém, do "editoru" se mi nepřenese žádný text.. i když tozlišování id novinky funguje (dle šedého stavového řádku v chromu dole vlevo, se id mění po přejetí myši)..snad mne chápete... zkoušel jsem proměnou vypsat, ale je prázdná.. Dokázal by my někdo pomoci? Tady je script výpisu novinek: <?php include ("zahlavi.php"); $sql="SELECT *,DATE_FORMAT(datum,'%e.%c.%Y | %H:%i:%s') AS datum FROM aktuality ORDER BY id_aktualita DESC"; if ($vysledek = mysql_query("$sql")) { while ($radek = mysql_fetch_array ($vysledek)) { echo "<div class='nadpisaktualita'>".$radek['nadpis']."<a href='delete.php?id=".$radek['id_aktualita']."'title='Odstranit záznam' onClick=\"if(!confirm('Opravdu chcete smazat aktualitu č:$radek[id_aktualita]?')) return false;\"><img src='images/delete.png' width='15px'></a> <a href='update_aktualita.php?id=".$radek['id_aktualita']."'title='Aktualizovat záznam' onClick=\"if(!confirm('Opravdu chcete aktualizovat záznam č:$radek[id_aktualita]?')) return false;\"><img src='../twa/upload/update icon.gif'></a></div>"; echo "<div class='img'><img src='obrazky_aktualita/".$radek['obrazek']."' width = '80'></div>"; echo "<div class='textaktualita'>".$radek['text']."</div>"; echo "<div class='datumaktualita'>Vloženo: ".$radek['datum']."</div>"; } } include ("zapati.php"); ?> <?php include ("zahlavi.php"); if (isset($_GET['id_aktualita'])) { $sql = "SELECT nadpis, text FROM aktuality WHERE id_aktualita=$_GET[id_aktualita]"; if ($vysledek = mysql_query("$sql")) { $nadpis=mysql_result($vysledek,0,'nadpis'); $text=mysql_result($vysledek,0,'text'); }else{ echo mysql_error(); } } if(isset($_POST['submit'])){ $sql="UPDATE aktuality SET nadpis='$_POST[nadpis]', text='$_POST[text]' WHERE id_aktualita=$_POST[id_aktualita] LIMIT 1"; if ($vysledek = mysql_query("$sql")) { echo "Záznam byl uspěšně aktualizován </br>"; echo "<a href='vyberovy_dotaz.php'>Zpět</a>"; /**header("location:editace_aktualit.php");**/ }else{ echo mysql_error(); } } ?> <form action= "<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data" style="margin-left:5px; margin-top:10px;"> <p class="nadpispraveokno">Upravit aktualitu</p> <table border="0"> <tr><td>Nadpis: </td><td> <input type="text" name="nadpis" value="<?php echo $nadpis;?>" style="width:28em;"> <input type="hidden" value="<?php echo $_GET['id_aktualita'];?>" name="id_aktualita"/></td></tr> <tr><td>Text: </td><td> <textarea name="text" style="width:28em;" rows="10" id="text"></textarea> <input type="hidden" value="<?php echo $text;?>" name="text"/></td></tr></tr> <tr><td width="50"> </td><td align="right"> <input type="submit" value="Uprav" name="submit"></td></tr> </table> </form> <?php include ("zapati.php"); ?> Když zkusím formulář vyplnit a odeslat, ukazuje to chybu: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 4" Díky za rady, popřípadě typy, kde co upravit... |
||
mimochodec Profil |
#2 · Zasláno: 25. 4. 2012, 19:06:08
Co z toho výše uvedeného je ten řádek 4, který je špatně?
|
||
Tori Profil |
#3 · Zasláno: 25. 4. 2012, 19:31:04
Nosnx:
„dle šedého stavového řádku v chromu dole vlevo, se id mění po přejetí myši“ A zrovna tam jste si mohl všimnout, že se mění hodnota atributu id (viz ř.16 v prvním kódu), kdežto ve skriptu pro editaci očekáváte $_GET['id_aktuality'] . Z toho vzniknou všechny další chyby - skryté pole formuláře zůstane prázdné a do SQL dotazu na ř.21 nepřijde žádná hodnota.
Data, která vkládáte do DB, ve vlastním zájmu escapujte (mysql_real_escape_string pro řetězce, např. intval pro celá čísla). Ve všech voláních mysql_query je zbytečné dávat proměnnou do uvozovek. |
||
Nosnx Profil |
#4 · Zasláno: 26. 4. 2012, 15:03:57
Nevšiml jsem jsi z toho důvodu, že i mazání příspěvku to funguje... ale děkuji, funguje to, ale tak napul.. Nadpis se mi načte, ale text ne-e, pokud ale změním text z <textarea> na <input type="text"> tak se načte i text...
Napadá Vás něco? |
||
Nosnx Profil |
Vyřešeno, jsem to ale vůl :D :D Díky za rady!!
|
||
Časová prodleva: 12 let
|
0