Autor | Zpráva | ||
---|---|---|---|
fifa Profil |
Zdravim,Zkouším udělat obyčejnou nijak náročnpou webovou hru a potřeboval bych udělat aby se u jednotlivích uživatelů zapamatovávali peníze. Je možné to připojit na databází na kteréje přihlašovací systém .Zdrojáky přih. systému jsou zde Zjištění dat z Mysql mohla by se tam vytvořit ještě jedna kolonka která by jsi pamatovala peníze popřípadě aby šlo přidávat/ubírat peníze
Předem děkujii za odpovědi a zdrojáky. Moderátor Alphard: Nevkládejte odkazy do [pre], potom nejsou klikatelné.
|
||
Dan Charousek Profil |
#2 · Zasláno: 31. 1. 2015, 14:20:39
fifa:
„mohla by se tam vytvořit ještě jedna kolonka která by jsi pamatovala peníze“ Ano. „Předem děkujii za odpovědi a zdrojáky.“ Nastínil jsi problém a sám sis na něj odpověděl. Nikdo to za tebe psát nebude. Pokud narazíš při programování na nějaký problém, věřím, že ti zdejší diskutéři mile rádi pomohou. |
||
fifa Profil |
#3 · Zasláno: 31. 1. 2015, 14:48:40
V podstate to chapu ale nevim jak pricitat nebo odctitat z databaze
|
||
Dan Charousek Profil |
#4 · Zasláno: 31. 1. 2015, 14:51:03
UPDATE tabulka SET penize = penize - 10 WHERE id = 1 |
||
fifa Profil |
#5 · Zasláno: 31. 1. 2015, 15:37:56
Neudelal by mi nekdo zivou ukazku kde by se normal zadali udaje do databaze a tlacitkem by se ulozily data. Kdo by mi udelal zivou ukazku by byl uveden jako pomocny vyvojar ve hre .
Predem dekuji a omlouvam se za diraktiku |
||
Fisir Profil |
Reaguji na fifu:
<?php if(!isset($_POST['howmuch'])){ ?> <form action="" method="post"> <label>Kolik odečíst: <input type="number" name="howmuch"></label><br> <label>Komu: <input type="number" name="user"></label><br> <input type="submit"> </form> <?php } else { $db = new mysqli('localhost', 'root', '', 'hra'); $statement = $db->prepare('UPDATE users SET money = money - ? WHERE id = ?'); $statement->bind_param('ii', $_POST['howmuch'], $_POST['user']); if($statement->execute()){ echo('Bylo odečteno: '.intval($_POST['howmuch']).' peněz uživateli '.intval($_POST['user']).'.'); } else { echo('Odečítání se nezdařilo.'); } } ?> |
||
fifa Profil |
#7 · Zasláno: 31. 1. 2015, 17:05:14
Dík zkusim kdyžtak pod jakym menem uvést jako pomocného vývojáře?
|
||
Fisir Profil |
#8 · Zasláno: 31. 1. 2015, 17:09:55
Reaguji na fifu:
Jestli máš tu potřebu, tak Fisir. Nicméně tenhle kód je jenom hrubý nástřel, který si budeš muset upravit sám. |
||
fifa Profil |
#9 · Zasláno: 31. 1. 2015, 17:29:32
Nějak my to nejde nemůže by někdo přechroustat chybu
Warning: mysqli::mysqli(): (28000/1045): Access denied for user ' u429097033_poku'@'10.1.2.16' (using password: YES) in /home/u429097033/public_html/pokus.php on line 11 Warning: mysqli::prepare(): Couldn't fetch mysqli in /home/u429097033/public_html/pokus.php on line 12 Fatal error: Call to a member function bind_param() on a non-object in /home/u429097033/public_html/pokus.php on line 13 nevim proč tam je to poku ve zdrojaku je pokus |
||
Keeehi Profil |
#10 · Zasláno: 31. 1. 2015, 17:39:21
fifa:
„Access denied“ To ti říká, že s tebou zadanými údaji ten script nebyl schopen se připojit k daabázi. akže zadej správné údaje. Ten následný „Fatal error“ je důsledkem nepovedeného připojení. |
||
fifa Profil |
#11 · Zasláno: 31. 1. 2015, 17:44:29
Ale já ve Zdrojáku mám u429097033_pokus a tam je napsáno u429097033_poku proč se to hádá
koukněte jestli to mám dobře:? $db = new mysqli('hostitel', 'jméno k db', 'heslo k bd', 'hra'); a co je nakonci ta hra to je tabulka nebo co ? |
||
Keeehi Profil |
#12 · Zasláno: 31. 1. 2015, 17:56:31
fifa:
„Ale já ve Zdrojáku mám u429097033_pokus a tam je napsáno u429097033_poku proč se to hádá“ MySQL má limit na délku jména. Z dokumentace jsem zjistil, že by to nejčastěji mělo být 16 znaků. Pokud si mám tipnout tak někde něco počítá do této délky i ten nulový ukončující byte pro řetězce a proto se to krátí jen na 15 znaků. Pokud si změníš přihlašovací jméno na něco dlouhého 15 znaků, mohlo by to problém vyřešit. „a co je nakonci ta hra to je tabulka nebo co ?“ Kdyby ses podíval do manuálu, tak bys zjistil, že to je jméno databáze. |
||
fifa Profil |
#13 · Zasláno: 31. 1. 2015, 18:36:18 · Upravil/a: fifa
Dik to by mohlo byt on skusim
Pořád stejný a to jsem upravil jméno Warning: mysqli::mysqli(): (28000/1045): Access denied for user ' u429097033_tet'@'10.1.2.16' (using password: YES) in /home/u429097033/public_html/pokus.php on line 11 Warning: mysqli::prepare(): Couldn't fetch mysqli in /home/u429097033/public_html/pokus.php on line 12 Fatal error: Call to a member function bind_param() on a non-object in /home/u429097033/public_html/pokus.php on line 13 ale jmeno už je alespoň celé jak tady Fisir přidával formulář musim tomu zajistit řádek v db popřípadě jaký ? |
||
Keeehi Profil |
#14 · Zasláno: 31. 1. 2015, 19:27:50
Výborně, doufám, že máš přístup do daabáze i někde bokem. Je bylo by dobrá zjistit, zda máš přístup tam kam chceš. Takže v phpMyAdmin, admineru nebo něčem podobném spusť následující příkaz a to by ti mělo vypsat, kam všude má ten uživatel právo.
SHOW GRANTS FOR ' u429097033_tet'@'10.1.2.16'; |
||
fifa Profil |
#15 · Zasláno: 31. 1. 2015, 21:55:09
Php my admin napsal tohle
- Access denied for user 'u429097033_tet'@'localhost' to database 'mysql' |
||
Keeehi Profil |
#16 · Zasláno: 31. 1. 2015, 22:38:56
Že mě to nenapadlo dříve, podle toho uživatelského jména budeš asi někde na hostingu, takže nemáš dostatečná oprávnění. Jak už nějakou dobu webhosting nepoužívám, tak zapomínám že ostatní nemusejí mít na používanými systémy úplnou kontrolu.
Aspoň víme, že přihlásit se můžeš. Doufám, že tam taky vidíš i nějaké databáze. Pro testovací účely si vyber jednu ke které máš přístup (vidíš co je v ní za tabulky atd.) Na řádku 11 v [#6] použij jedno nebo druhé mysqli('localhost', 'u429097033_tet', 'tvoje-heslo', 'jmeno-vybrane-databaze'); mysqli('10.1.2.16', 'u429097033_tet', 'tvoje-heslo', 'jmeno-vybrane-databaze'); Alespoň jedna varianta by měla fungovat. Pokud ne, je to spíš pak dotaz na technickou podporu webhostingu s jakými údaji se máš k databázi připojovat. |
||
fifa Profil |
#17 · Zasláno: 1. 2. 2015, 01:46:55
Ja mam vytvorene 4 řádky a do stejne databaze se přihlašuje ješte přih. System
|
||
Fisir Profil |
#18 · Zasláno: 1. 2. 2015, 10:05:02
Reaguji na fifu:
Použij místo toho skript: <?php require_once(__DIR__.'/config.php'); if(!isset($_POST['howmuch'])){ ?> <form action="" method="post"> <label>Kolik odečíst: <input type="number" name="howmuch"></label><br> <label>Komu: <input type="number" name="user"></label><br> <input type="submit"> </form> <?php } else { $db = new mysqli(SQL_HOST, SQL_UZIVATEL, SQL_HESLO, SQL_DATABAZE); $statement = $db->prepare('UPDATE users SET money = money - ? WHERE id = ?'); $statement->bind_param('ii', $_POST['howmuch'], $_POST['user']); if($statement->execute()){ echo('Bylo odečteno: '.intval($_POST['howmuch']).' peněz uživateli '.intval($_POST['user']).'.'); } else { echo('Odečítání se nezdařilo.'); } } ?> |
||
fifa Profil |
#19 · Zasláno: 1. 2. 2015, 15:13:52
Těd prozměnu nefunkční hostitel MySql
Warning: mysqli::mysqli(): (HY000/2005): Unknown MySQL server host 'mysqlmoxocz' (1) in /home/u436088760/public_html/okcom.php on line 12 Warning: mysqli::prepare(): Couldn't fetch mysqli in /home/u436088760/public_html/okcom.php on line 13 Fatal error: Call to a member function bind_param() on a non-object in /home/u436088760/public_html/okcom.php on line 14 Ve zdrojáku ale mám mysql.moxo.cz |
||
Keeehi Profil |
#20 · Zasláno: 1. 2. 2015, 15:47:21
fifa:
Zá se mi, že tam chybějí tečky. Teoreticky je možné aby to byla správná adresa, ale velmi nepravděpodobné. Pokud je to však správně, pak s ím nic neuděláš a budeš muset kontaktovat toho u koho máš hosting. |
||
fifa Profil |
#21 · Zasláno: 2. 2. 2015, 13:37:47
Ale ve zdrojaku tečky jsou jakto?
|
||
patlal Profil |
#22 · Zasláno: 2. 2. 2015, 13:43:43
Takto?
define("SQL_HOST", "mysql.moxo.cz"); |
||
fifa Profil |
Ano takhle to je ve zdrojaku
|
||
Časová prodleva: 10 let
|
0