Autor | Zpráva | ||
---|---|---|---|
marek888 Profil |
#1 · Zasláno: 11. 6. 2013, 19:04:02 · Upravil/a: Moderátor (editace znemožněna) 13. 6. 2013, 22:12:32
Dobrý den. Nevěděl jsem, ke kterému tématu se to nejvíce vztahuje, tak jsem to založil zde. Čerpám kódy z této stránky: Přidávání článků do databáze. Na stránce www.pandorafields.xf.cz/prispevky.html mám první část kódu. Když se vyplní všechny informace co požaduji, kliknutí na odeslat příspěvek mě přesměruje na stránku, kde mám druhou část kódu. Na stránce se pouze objeví: Článek byl přidán. Když se podívám do databáze, kam by se tyto informace udajně měly zapisovat, tak zjistím, že je databáze prázdná. Možná je to i tím, že nemám nastavenou cestu k databázi. Děkuji všem za odpovědi. Pokoušel jsem se podívat, zdali pak nemám něco chybně zapsáno. Ale vše je tak, jak má být.
|
||
ts_istudio Profil |
#2 · Zasláno: 11. 6. 2013, 19:40:35
marek888:
„Možná je to i tím, že nemám nastavenou cestu k databázi.“ Ano, to je chyba dost zásadní. Databázi si vytvoř, jestli ji vytvořenou nemáš. Pak se k ní musíš připojit, což budeš potřebovat na všech stránkách, které s db jakkoli pracují, proto bych doporučil vše kolem připojování dát do extra souboru, řekněme config.php a ten si includovat na začátku index.php. Co v tom config.php bude: najdi si tady v diskusi mysql_connect, určitě najdeš spoustu příkladů, kde se někdo k db připojoval. |
||
marek888 Profil |
#3 · Zasláno: 11. 6. 2013, 21:08:05
Díky za odpověď. Koukal jsem se na http://cs.wikibooks.org/wiki/PHP_prakticky/P%C5%99ipojen%C3%AD_k_datab%C3%A1zi a já mám takový to kod :
<? $spojeni = mysql_connect(localhost,"-Mojejméno-","-Mojeheslo-" ); mysql_select_db(prizpevky, $spojeni); $vysledek = mysql_query("insert into prizpevky values(0, '$autor','$datum', '$titulek', '$obsah')", $spojeni); echo "článek byl přidán"; ?> Nevím jestli je to název té databáze, či zdali pak je to to, díky čemu se to připojí k té databázi. |
||
peta Profil |
#4 · Zasláno: 13. 6. 2013, 10:09:29
"Když se podívám do databáze"
Jak se podivas do databaze? Pouzivas na to nejakeho phpmyadnina? Jakymi udaji se v nem prihlasujes? Stejne udaje se pouzivaji pro pripojeni. echo "článek byl přidán"; Tento radek je sam o sobe spatne. Chybi tam podminka, jestli dotaz prosel nebo neprosel (aspon if ($vysledek) {} else {}). Bez podminky se to vypise pokazde. mysql_select_db("prizpevky", $spojeni); Tady nemas uvozovky nebo apostrofy kolem retezce a neukladas vysledek pripojeni do promenne. Tez tam nikde nevidim die nebo error_reporting. Treba ja pro takovy jednoduchy test pouzivam... <?php @ini_set('error_reporting', E_ALL|E_STRICT); @ini_set("display_errors", "1"); error_reporting(E_ALL|E_STRICT); $SQL = array(); $SQL['host'] = "localhost"; //server (host) $SQL['user'] = "root"; //MySQL user $SQL['psw'] = ""; //MySQL password $SQL['dbname'] = "minichat"; //MySQL DB name function showError($str) {echo $str;} $SQLserver = mysql_connect($SQL['host'],$SQL['user'],$SQL['psw']) or showError('Err: connect DB server!' . mysql_error()); $SQLdb = mysql_select_db($SQL['dbname'],$SQLserver) or showError('Err: connect DB!' . mysql_error()); showError((bool)$SQLserver); showError((bool)$SQLdb); ?> |
||
marek888 Profil |
#5 · Zasláno: 13. 6. 2013, 21:18:43
Díky. Tento script jsem zkusil dát místo mého kodu. Vyplnil jsem všechny udaje ale píše to ani ne chby, ale spíše varování. Tu to je:
Strict Standards: mysql_connect() [function.mysql-connect]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /3w/xf.cz/p/pandorafields/pridat.php on line 20 Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /3w/xf.cz/p/pandorafields/pridat.php on line 20 Err: connect DB server!Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) Strict Standards: mysql_select_db() [function.mysql-select-db]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /3w/xf.cz/p/pandorafields/pridat.php on line 21 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /3w/xf.cz/p/pandorafields/pridat.php on line 21 Err: connect DB!Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) |
||
Davex Profil |
#6 · Zasláno: 13. 6. 2013, 22:13:09
marek888:
Jak jsi přišel na to, že by mělo být jméno databázového serveru zrovna localhost ?
Viz instrukce Webzdarma: Jak nastavit své připojení k SQL serveru. |
||
peta Profil |
Vidis to, dalsi chyba v puvodnim kodu, uvozovky kolem localhost, pac to je string. Nehlede na to, ze pro wz.cz tam ma byt uplne jiny text, viz davex. Ale aspon vidis, ze tam nejake chybky pise. Proti bile strance je to na testovani o moc lepsi stav.
mysql_connect("localhost","-Mojejméno-","-Mojeheslo-" ); |
||
marek888 Profil |
#8 · Zasláno: 14. 6. 2013, 18:39:06
Díky moc! Akorát mě mrzí, že vás otravuji mímy blbými otázkami. Vše jsem trochu přepsal a na databázi jsem si vytvořil novou tabulu a v ní vše potřebné. Když jsem PHP nahrál na stránky a skusil jsem přidat nějaký ten příspěvek, byl jsem zcela šokován. Místo aby tam byl dlouhý text, objevila se tam 11. To jsem pochopil jako Error, ale nevím jaký.
|
||
Tori Profil |
marek888:
„objevila se tam 11“ To bylo zřejmě toto: showError((bool)$SQLserver); showError((bool)$SQLdb); edit: čili chyba to není. Zobrazilo se i něco jiného, kromě těch "11", anebo jinak stále bílá stránka? |
||
marek888 Profil |
Dík. Takže bych jsem to teoreticky měl mýt vyřešený. Je tam pouze 11. Jenom by se mi hodilo, aby mohla bejt také možnost vybrat si barvu textu. Nevíte jak na to ?? Ty stránky mají černé pozadí. Jinak by mi to bylo uplně jedno.
|
||
peta Profil |
|||
marek888 Profil |
#12 · Zasláno: 18. 6. 2013, 16:36:37
ze je vse ok, co se pripojeni k db serveru a db tyce. Díky za informace. Nevíte náhodou jak se do tohoto kodu dá vložit, napsat další kod, který bi spolupracoval s tou stránkou http://www.pandorafields.xf.cz/prispevky.html ? Pokoušel jsem se to tam nějak napsat, aby se to zapsalo, jenže jsem si poté řekl, když to nefungovalo, že to nemá cenu. Neví prosím někdo z vás jak se to dá vyřešit?
|
||
Silver8000 Profil |
#13 · Zasláno: 18. 6. 2013, 18:46:30
marek888:
Nevíte náhodou jak se do tohoto kodu dá vložit, napsat další kod, který bi spolupracoval s tou stránkou http://www.pandorafields.xf.cz/prispevky.html ? |
||
marek888 Profil |
#14 · Zasláno: 18. 6. 2013, 19:16:47
No vhodné by bylo, že kdyby se vyplnily potřebné informace, tak by se ten text zpracoval a třeba že by se autor poslal do sloupce autor v databázi, a třeba obsah by se odeslal do sloupce obsah. No prostě udělat, že by se to zapsalo do databáze, třeba i z datem.
|
||
Časová prodleva: 6 dní
|
|||
peta Profil |
#15 · Zasláno: 24. 6. 2013, 14:17:48
A nedelal to tvuj puvodni program? [#3] marek888. Ted, kdyz uz mas spravene to pripojeni, tak by ten kod mohl fungovat, ne?
|
||
Časová prodleva: 3 dny
|
|||
marek888 Profil |
#16 · Zasláno: 27. 6. 2013, 11:44:44
peta:
Ten kod jsem zkoušel ale text se mi nikdy nezapsal. Nevím, zda li pak do jde i nějak zkombinovat. To jsem také nějak zkouel ale hodilo mi to errory. Díky |
||
Časová prodleva: 11 let
|
0