Autor | Zpráva | ||
---|---|---|---|
berny123 Profil |
Dobrý den,
Mám problém se souborem s kterým si už nevím rady.. Problém - vždy když dám přidat do rezervace, tak mi to napíše úspěch, ale není zvýrazněný, že je uložený a když se kouknu do mysql, tak tam není nic... Pokusil jsem se vyplnit ručně v mysql a už to bylo zvýrazněno na webu.. Tak problém je, že se mi data nezapisují do mysql.. Soubor: <? include "config.php"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Skrivy.net - Rezervace</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="keywords" content="rezervace counter-strike serveru" /> <meta name="description" content="Rezervace Counter-Strike 1.6 serveru" /> <meta name="author" content="Rezervace" /> <meta name="robots" content="index, follow" /> <link rel="stylesheet" href="layout/css.css" type="text/css" /> </head> <body> <h1>PĹ™idat rezervace</h1> <? if ( $_POST['submit'] ) { for ( $i = 0 ; $i != $_POST['delka'] ; $i ++ ) if ( ! mysql_query( "INSERT INTO rezervace SET heslo='" . $_POST['heslo'] . "', ip='" . $_SERVER['REMOTE_ADDR'] . "', datum='" . $_POST['datum'] . "', hodina='" . ( $_POST['hodina'] + $i ). "', typ='" . ( $i == 0 ? "start" : "running" ) . "'" ) ) break; if ( $i != $_POST['delka'] ) echo "<p class='error'>Nepovedlo se zarezervovat všech " . $_POST['delka'] . " hodin!</p>"; else echo "<p class='true'>Vaše rezervace probÄ›hla ĂşspěšnÄ›.</p>"; } ?> <form method="post" action=""> <span>Datum: </span> <input type="text" name="datum" value="<?= $_GET['datum']; ?>" readonly /><br /> <span>Hodina: </span> <input type="text" name="hodina" value="<?= $_GET['hodina']; ?>" readonly /><br /> <span>Na jak dlouho: </span> <input type="text" name="delka" size="1" /><br /> <span>Heslo: </span> <input type="password" name="heslo" /><br /> <input type="hidden" name="submit" value="1" /> <input type="submit" value="odeslat" class="send" /> </form> </body> </html> Informace o připojení mám v configu.. Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na
![]() |
||
motik Profil |
#2 · Zasláno: 23. 7. 2011, 18:09:59
berny123:
vkládej kód do <>!!! a kolik tam chceš přidat řádků? jestli jsem to dobře pochopil, tak jeden >> proč máš ten dotaz v cyklu??? INSERT INTO kam (co, co, co) VALUES (neco, neco, neco) |
||
berny123 Profil |
#3 · Zasláno: 23. 7. 2011, 18:42:12
5 řádku a sry stačilo mi, že mi to řekl jeden člověk ( jsem zvyklý na [code][/code] a tohohle jsem si nevšiml <>) a tohle jsem taky zkoušel, ale bez úspěchů (možná jsem to špatně vložil, ale fakt nevím čím to bude, ale nepsalo mi to žádnou chybu)..
|
||
panther Profil |
#4 · Zasláno: 23. 7. 2011, 20:05:35
|
||
DarkMeni Profil |
#5 · Zasláno: 23. 7. 2011, 20:19:27
berny123:
„ "INSERT INTO rezervace SET heslo='" . $_POST['heslo'] . "'"... S SQL si ještě moc nerozumim, možná to de i takle, ale nemá tam být místo SET, VALUES? "INSERT INTO rezervace VALUES heslo='" . $_POST['heslo'] . "'"... |
||
berny123 Profil |
#6 · Zasláno: 23. 7. 2011, 20:20:04
ok děkuji vyzkoušeno, ale napíše mi jen tohle: "0: 0:" (bez uvozovek)
|
||
berny123 Profil |
#7 · Zasláno: 23. 7. 2011, 20:25:05
Taky vyzkoušeno, díky, ale pořád stejná chyba..
Zkusím sem přiložit příkaz na tvoření tabulky (možná to někomu pomůže): CREATE TABLE `rezervace` ( `id` int(11) NOT NULL auto_increment, `rcon` varchar(255) collate utf8_czech_ci NOT NULL, `heslo` varchar(255) collate utf8_czech_ci NOT NULL, `ip` varchar(15) collate utf8_czech_ci NOT NULL, `datum` date NOT NULL, `hodina` int(11) NOT NULL, `typ` enum('start','running') collate utf8_czech_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `datum` (`datum`,`hodina`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=5 ; |
||
motik Profil |
#8 · Zasláno: 23. 7. 2011, 21:19:47
berny123:
„`rcon` varchar(255) collate utf8_czech_ci NOT NULL,“ v dotazu to nevidím.. |
||
berny123 Profil |
#9 · Zasláno: 24. 7. 2011, 10:52:05
rcon, tam nepotřebuji dávat,p protože si nemůžou vybírat rcon základní heslo..
|
||
Ugo Profil * |
#10 · Zasláno: 25. 7. 2011, 13:14:50
Tady opravdu nechapu co tomu vadi, nevim jakou mas verzi mysql, ten zapis insertu se set neni tusim uplne kompatibilni a nedoporucuje se, ale fungovat by mel. (lepsi je INSERT INTO `x` (`id`,`a`) VALUES('1','bla')
jediny co muzu doporucit je: - naucit se psat, ten kod je prasarna na prelamani prstu :) - pro tabulku a sloupce pouzivej zpetny apostrofy `rezervace` , kdyz tam budes mit jednou nazev kterej bude rezervovany slovo, tak se z toho zblaznis proc to nejde - osetruj data (mysql_real_escape_string tusim) - zmen si podminku ve for, napriklad na $i<(int)$_POST['delka'] . takhle je to casovanej nekoncici cyklus - pokud mozno nepouzivej radkovej zapis IF (kdyz ? tak : nebo), nevyhodnocuje se postupne, ale naraz a tudiz zdrzuje. v tomhle pripade je to fuk Promin ze pisu takhe OT, ale tvar toho kodu me uplne boda do oci. Kde je chyba ... bohuzel tady chyba neni, jedine jestli ses spravne pripojenej k DB a jestli vyslednej sql dotaz je ok (me se zda ze fakt je) a jestli ti db bere tenhle typ zapisu. Trosku podebuguj treba tim mysql_error() , tim ze si nejprv das dotaz do stringu kterje si vypises atp. Docela bych byl rad kdybys pak napsal kde byla chyba at se muzu prastit do cela :) |
||
Časová prodleva: 14 let
|
0