Autor | Zpráva | ||
---|---|---|---|
sir_lamoid Profil |
#1 · Zasláno: 15. 7. 2011, 21:05:44
Ahoj mám zas problém.
mám formular: <form action="clanky_e.php" method="post"> <div id="formular"> <textarea name="nadpis"></textarea><textarea class="ckeditor" name="text"></textarea> <select size="1" name="kategorie"> <option value="clanky">Články</option> <option value="videa">Videa</option> <option value="fotky">Fotky</option> <option value="odkazy">Odkazy</option> </select> <input type="submit" value="ODESLAT"></div> </form> a skript clanky_e.php: <form action="clanky_e.php" method="post"> <div id="formular"> <textarea name="nadpis"></textarea><textarea class="ckeditor" name="text"></textarea> <select size="1" name="kategorie"> <option value="clanky">Články</option> <option value="videa">Videa</option> <option value="fotky">Fotky</option> <option value="odkazy">Odkazy</option> </select> <input type="submit" value="ODESLAT"></div> </form> A co byto mnelo delat ? Clovek si napise nadpis, text, a vybere kategorii do ktré to vloží. Skript to pak vloží do databáze. Ale problém je že se tam vůbec nevloží.. Kontroloval jsem i velká a malá písmena radsi prikládám i struktůru: V každé tabulce ty mají název clanky, videa, odkazy, fotky,. Jsou sloupce: Nadpis, Text, Datum(to se samgo generuje pomocí MySQL funkce timestamp.).........Kde je prosím chyba... |
||
Sir Tom Profil |
#2 · Zasláno: 15. 7. 2011, 21:08:16
sir_lamoid:
Ahoj, asi jsi se přepsal, protože oba dva kódy jsou stejné... Potřebujeme ten SQL kód. |
||
panther Profil |
#3 · Zasláno: 15. 7. 2011, 21:08:25
sir_lamoid:
„Kde je prosím chyba...“ njevětší chyba, kterou jsi udělal, že jsi sem nevložil obsah souboru clanky_e.php .
|
||
sir_lamoid Profil |
#4 · Zasláno: 15. 7. 2011, 21:09:30
sry :D XD
<?php $kategorie=$_POST['kategorie']; $nadpis=$_POST['nadpis']; $text=$_POST['text']; include('../Login/DB_connect.php'); mysql_select_db($DBname); mysql_query("insert INTO $kategorie (Nadpis, Text) VALUES ('$nadpis, $text')"); Header('Location: ../admin/admin.php'); ?> Blbne my KLAVESNICE |
||
sir_lamoid Profil |
#5 · Zasláno: 15. 7. 2011, 21:10:58
+ SQL jestli
-- phpMyAdmin SQL Dump -- version 3.3.9 -- http://www.phpmyadmin.net -- -- Počítač: localhost -- Vygenerováno: Pátek 15. července 2011, 19:09 -- Verze MySQL: 5.1.53 -- Verze PHP: 5.3.4 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Databáze: `lamoviny` -- -- -------------------------------------------------------- -- -- Struktura tabulky `adresy` -- CREATE TABLE IF NOT EXISTS `adresy` ( `adresa` text NOT NULL, PRIMARY KEY (`adresa`(100)) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Vypisuji data pro tabulku `adresy` -- INSERT INTO `adresy` (`adresa`) VALUES ('127.0.0.1'); -- -------------------------------------------------------- -- -- Struktura tabulky `clanky` -- CREATE TABLE IF NOT EXISTS `clanky` ( `Nadpis` text NOT NULL, `Text` longtext NOT NULL, `Datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Vypisuji data pro tabulku `clanky` -- -- -------------------------------------------------------- -- -- Struktura tabulky `fotky` -- CREATE TABLE IF NOT EXISTS `fotky` ( `Nadpis` text NOT NULL, `Text` longtext NOT NULL, `Datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Vypisuji data pro tabulku `fotky` -- -- -------------------------------------------------------- -- -- Struktura tabulky `hlavni` -- CREATE TABLE IF NOT EXISTS `hlavni` ( `text` longtext CHARACTER SET utf8 NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin2; -- -- Vypisuji data pro tabulku `hlavni` -- INSERT INTO `hlavni` (`text`) VALUES ('<h3>\r\n <img src="../image/MY.png" style="margin-right: 10px; float: left; width: 203px; height: 117px;" />Vítej</h3>\r\n<p>\r\n Ahojky. Drahý uživately právì ses dostal na stránky hráèe s nick name: sir_lamoid. Èasem tady budou pøibývat videa, fotky atd. z minecraftu. Pùjde zejména o návody jak sprovoznit server, ale i o LET's play videa z rùzných serverù. Jsem rád že jsi sem zavítal.</p>\r\n'); -- -------------------------------------------------------- -- -- Struktura tabulky `odkazy` -- CREATE TABLE IF NOT EXISTS `odkazy` ( `Nadpis` text NOT NULL, `Text` longtext NOT NULL, `Datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Vypisuji data pro tabulku `odkazy` -- INSERT INTO `odkazy` (`Nadpis`, `Text`, `Datum`) VALUES ('ěščřžýáíéúů', 'ĚŠČŘŽÝÁÍÉÚŮ', '2011-07-15 19:56:13'); -- -------------------------------------------------------- -- -- Struktura tabulky `videa` -- CREATE TABLE IF NOT EXISTS `videa` ( `Nadpis` text NOT NULL, `Text` longtext NOT NULL, `Datum` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- Vypisuji data pro tabulku `videa` -- |
||
panther Profil |
#6 · Zasláno: 15. 7. 2011, 21:11:28 · Upravil/a: panther
sir_lamoid:
vypiš si mysql_error() a budeš moudřejší. Máš v dotazu syntaktickou chybu.
Jinak máš špatný návrh DB, vše jde řešt jednou tabulkou. Každá kategorie nemusí mít svojí. S přidáním další kategorie nebude třeba zásah do DB, ale i se bude s daty lépe pracovat. |
||
sir_lamoid Profil |
#7 · Zasláno: 15. 7. 2011, 21:22:10
Mam kod
<?php $kategorie=$_POST['kategorie']; $nadpis=$_POST['nadpis']; $text=$_POST['text']; include('../Login/DB_connect.php'); mysql_select_db($DBname) or die(".mysql_error()"); mysql_query("insert INTO $kategorie (Nadpis, Text) VALUES ('$nadpis, $text')"); ?> Ale nevipisuje mi to chybu LOL |
||
panther Profil |
#8 · Zasláno: 15. 7. 2011, 21:26:02
sir_lamoid:
máš chybu v dotazu, který vkládá do databáze, ne v dotazu, kterým se k DB připojuješ. Navíc, mysql_error() je funkce, i tady máš chybu (syntakticky je to správně, ale vždy ti to vypíše jen zadaný string). |
||
sir_lamoid Profil |
#9 · Zasláno: 15. 7. 2011, 21:26:41
BÁDÁM....
<?php $kategorie=$_POST['kategorie']; $nadpis=$_POST['nadpis']; $text=$_POST['text']; include('../Login/DB_connect.php'); mysql_select_db($DBname) or die(".mysql_error()"); mysql_query("insert INTO 'lamoviny'.'$kategorie' ('Nadpis, Text, Datum') VALUES ('$nadpis, $text, CURRENT_TIMESTAMP')"); ?> |
||
sir_lamoid Profil |
#10 · Zasláno: 15. 7. 2011, 21:28:50
píše i to:
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 ''clanky' ('Nadpis, Text, Datum') VALUES ('fdsfs, sfsf , CURRENT_TIMES' at line 1 |
||
sir_lamoid Profil |
#11 · Zasláno: 15. 7. 2011, 21:29:46
JINAK
<?php $kategorie=$_POST['kategorie']; $nadpis=$_POST['nadpis']; $text=$_POST['text']; include('../Login/DB_connect.php'); mysql_select_db($DBname); mysql_query("insert INTO '$kategorie' ('Nadpis, Text, Datum') VALUES ('$nadpis, $text, CURRENT_TIMESTAMP')"); echo mysql_error(); ?> |
||
panther Profil |
#12 · Zasláno: 15. 7. 2011, 21:33:25 · Upravil/a: panther
sir_lamoid:
zjistit si syntaxi INSERTu tě nenapadlo? mysql_query ("INSERT INTO " . $kategorie . " VALUES ('" . mysql_real_escape_string($nadpis) . "', '" . mysql_real_escape_string($text) . "', NOW())") Kolem názvů tabulek se dělají zpětné apostrofy, když už nějaké (stejně jako kolem názvů sloupců), hodnoty se ukládají každá do vlastních apostrofů (stejně jako všechny stringy). |
||
sir_lamoid Profil |
#13 · Zasláno: 15. 7. 2011, 21:48:42
pročto
mysql_real_escape_string $kategorie=$_POST['kategorie']; $nadpis=$_POST['nadpis']; $text=$_POST['text']; |
||
panther Profil |
#14 · Zasláno: 15. 7. 2011, 21:51:48
sir_lamoid:
přečti si něco o (ne)bezpečnosti neošetřených SQL dotazů. |
||
sir_lamoid Profil |
#15 · Zasláno: 15. 7. 2011, 21:53:59
aha takdik lidi....zase jsem o něco chytřejší
|
||
Časová prodleva: 14 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0