Autor | Zpráva | ||
---|---|---|---|
david2097 Profil |
#1 · Zasláno: 8. 5. 2012, 19:11:30
Dobrý den,
Promiňte že zas otravuju ale potřebuju zase radu. celý týden jsem se učil PHP scripty jen kvůli tomu abych si splnil takový velký sen a to vytvořit internetovou hru typu: travia.. darkorbit ikariam no a další. tak se teda učím jak z vašeho webu tak z různých jiných ale to co jsem potřeboval to jsem nenašel: návod na spolehlivou registraci a login uživatele + nevím jak zajistit aby přihlášenému uživateli se zobrazila jen jeho stránka jak jeho bod na mapě automaticky náhodně umístit kliknu na stavbu něčeho spustí se časomíra a po uplynutí časomíry se stránka znovu načte + se změní lvl dané budovy o 1 pěkně prosím poraďte mi a jestli nemáte jen tak čirou náhodou v PC uložený zdrojový kód nějaké online hry tak bych také prosil o propůjčení abych měl nějakou inspiraci ať mi vyhovíte nebo ne tak vám stejně děkuji |
||
Nox Profil |
#2 · Zasláno: 8. 5. 2012, 19:30:54
"Celý týden" není takové terno, "roky" už je úctyhodnější ;)
1) Tohle jsou dost základy, je fakt potřeba aby ses na to trochu koukl sám (taky je třeba kouknout na databáze, hledej mysql) 2) Po zadání "PHP registrace" do googlu ti vyjede spousta českých odkazů 3) Pro začátek doporučuji tahovku, ne real-time |
||
david2097 Profil |
#3 · Zasláno: 8. 5. 2012, 19:37:45
tak mi napiš pls nějaky odkazy protože ty registrace buď nefungovaly nebo nešli spustit
|
||
weroro Profil |
#4 · Zasláno: 8. 5. 2012, 19:43:22
|
||
david2097 Profil |
#5 · Zasláno: 8. 5. 2012, 19:43:40
Jo a ještě jedna poznámka ty si neviděl jak se já učím já si sednu a čtu a čtu a čtu chvíli spím a zase. je to taková smyčka
|
||
final Profil * |
#6 · Zasláno: 8. 5. 2012, 19:50:50
nič v zlom..ale len čítaním si nič nepomôžeš.treba to aj testovať v praxi..a keď máš také otázky tak evidentne vieš php na 0%
|
||
david2097 Profil |
#7 · Zasláno: 8. 5. 2012, 19:56:46 · Upravil/a: david2097
jedna rada jak mam vložit tohle
INSERT INTO users (id, username, password) VALUES ( NULL, 'admin', SHA1('secret') ); do ty tabulky když použivam phpmyadmin no na 0% rozhodně ne vim tak 30-40% víc ne jelikož jsem těch zbylejch 40% ztratil někde v paměti a 20% neneaučil |
||
David1256 Profil |
#8 · Zasláno: 8. 5. 2012, 20:22:26 · Upravil/a: David1256
Myslím, že tento kód budeš volat v nějakém registračním formuláři. Udělej si ten formulář a do
action si dej ten soubor, ve kterém budeš mít právě to tvoje INSERT INTO users (id, username, password) VALUES ( NULL, 'admin', SHA1('secret') ); Tady jsem ti ještě vyhrabal kód z jedné hry, co jsem kdysi dělal, snad ti to pomůže. <form method="post"> <tr><td>Váš nick: </td> <td><input type=text name="regusername" size=18 ></td></tr> <tr><td>Vaše heslo: </td> <td><input type=password name="regpassword" size=18></td></tr> <tr><td>Heslo pro kontrolu: </td> <td><input type=password name="password2" size=18></td></tr> <tr><td>E-mail: </td> <td><input type=text name="email" size=18 value="@"></td></tr> <tr><td>Pohlaví: </td> <td><input type=radio name=pohlavi value=muz checked> Muž <input class="zena" type=radio name=pohlavi value=zena> Žena</td></tr> <tr><th colspan=2><input type=submit value="Zaregistrovat se" class="tlacitkoreg"></th></tr> <?php $spojeni = MySQL_connect("databaze","jmenodb","pass"); mysql_select_db('jmenodb', $spojeni); if(isset($_POST["regpassword"])) {if(empty($_POST["regpassword"])or empty($_POST["password2"]) or empty($_POST["email"]) or empty($_POST["regusername"]) ) echo "<span class=\"nevyplneno\">Nevyplnili jste všechny potřebné údaje.<br></span>"; else {if($regpassword!=$password2) echo "<span class=\"nevyplneno2\">Vámi zadaná hesla se neshodují.</span>"; else { $ert = $_POST['regusername'] ; $result = mysql_query("SELECT username FROM users WHERE username = '$ert'"); if (mysql_result($result, 0)) echo "<span class=\"nevyplneno2\">Zadané jméno je již v databázi.</span>"; else {mysql_query("INSERT INTO users (id, username, password, pohlavi, email)VALUES ( NULL, '$regusername', SHA1('$regpassword'), '$pohlavi', '$email')"); header("HTTP/1.1 301 Moved Permanently"); header("Location: http://www.mafiani.wu.cz/index.php?str=1"); header("Connection: close"); }}} } ?> </form> |
||
david2097 Profil |
#9 · Zasláno: 8. 5. 2012, 20:36:57 · Upravil/a: david2097
odkaz by byl?
pripojeni_db.php co do toho mam napsat? |
||
David Klouček Profil |
david2097:
Hele, timhle lepenim kódu se nikam nedostaneš. Nejde si stáhnout několik různejch kódů a nějak univerzálně je dát dohromady, nebude to fungovat. Měl by ses začít učit PHP od základů a dávat si jen reálný cíle. Sice jde poměrně brzo naučit se základy a něco spatlat, ale ne zas tak rychle. Pokud nemáš základy PHP (proměnný, práce s řetezci a počítání, podmínky, cykly) a povědomí o funkcích, session a cookies, tak bych radši na práci s databází ani nemyslel. Třeba já se k databázi dostal až po 3 měsících učení PHP. |
||
David1256 Profil |
#11 · Zasláno: 8. 5. 2012, 21:01:15
$spojeni = MySQL_connect("databaze","jmenodb","pass"); mysql_select_db('jmenodb', $spojeni); odkaz - http://www.mafiani.wu.cz/ ale je to silně nedokončené |
||
david2097 Profil |
#12 · Zasláno: 8. 5. 2012, 21:02:53 · Upravil/a: david2097
dik a pěkna hra :)
$spojeni = MySQL_connect("jméno tý databáze v který je ta tabulka"," to nevim"," a to bude heslo ale když nemam heslo jsem přihlášen jak root@localhost"); mysql_select_db('ta zas nevim', $spojeni); |
||
David Klouček Profil |
#13 · Zasláno: 8. 5. 2012, 21:11:46
david2097:
www.linuxsoft.cz/article.php?id_article=336 |
||
david2097 Profil |
#14 · Zasláno: 8. 5. 2012, 21:16:22
menší chyba není tam registrace
Nejčastější potíže s PHP (FAQ) » Registrace uživatelů |
||
david2097 Profil |
#15 · Zasláno: 9. 5. 2012, 06:37:19 · Upravil/a: david2097
<?php require ("handle/config.php"); // zavést nastavení require ("handle/login.php"); // ověřit přístup uživatele ?> <html> <head> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <title>Upravit registraci</title> </head> <body bgcolor="tomato"> <script language="JavaScript" type="text/javascript" src="handle/cookies.js"></script> <script language="JavaScript" type="text/javascript"> <!-- function logout() { if (navigator.appName=='Microsoft Internet Explorer') document.body.style.filter='gray(enabled=1)'; logoutyes=confirm('Chcete se odhlásit?') if (logoutyes) { MyCookie.Write('loggedout',1); if (navigator.appName=='Microsoft Internet Explorer') top.opener="interval"; top.window.close(); } else if (navigator.appName=='Microsoft Internet Explorer') document.body.style.filter='gray(enabled=0)'; } // --> </script> <?php if ($_POST['update']==1) // byl odeslán formulář { $_POST['email'] = htmlspecialchars(StrToLower($_POST['email'])); // vyčistit předané údaje $_POST['url'] = htmlspecialchars(StrToLower($_POST['url'])); $_POST['title'] = htmlspecialchars(StrToLower($_POST['title'])); if (!empty($_POST['email']) && !empty($_POST['url']) && !empty($_POST['title'])) // ověřit, zda byly zadány povinné údaje { if (!empty($_POST['passw1']) || !empty($_POST['passw2'])) // pokud bylo zadáno alespoň jedno z hesel, ověřit, zda se shodují a přípFadně je očistit pro uložení { $_POST['passw1']=htmlspecialchars($_POST['passw1']); $_POST['passw2']=htmlspecialchars($_POST['passw2']); unset($passwupdate); // zničit SQL dotaz na změnu hesla if ($_POST['passw1']!=$_POST['passw2']) echo "<b>Zadaná hesla si neodpovídají, heslo nebude změněno!</b><br />"; else $passwupdate=", password = '".md5($_POST['passw1'])."'"; // připravit část SQL dotazu pro změnu hesla } if (StrToUpper($_POST['cloak']) == 'N') $cloak_stat= 'N'; else $cloak_stat= 'Y'; if (@mysql_query("UPDATE redirect SET email = '".$_POST['email']."', url = '".$_POST['url']."', title = '".$_POST['title']."', cloak = '$cloak_stat'$passwupdate WHERE id = '$uid' LIMIT 1")) // aktualizovat údaje v databázi { echo '<b>Údaje byly uloženy.<b><br />'; if (!empty($passwupdate)) echo '<b>Heslo bylo změněno.<b><br />'; // pokud bylo měněno i heslo, vypsat hlášení } else echo '<b>Chyba při ukládání údajů!</b><br />'; } else echo '<b>Nebyly zadány potřebné údaje!</b><br />'; ?> <form> <input type="button" class="tlac" value="opravit údaje" onclick="window.location='regedit.php'" /> // tlačítko pro vstup do formuláře po uložení údajů </form> <?php } else { // formulář nebyl odeslán, vyzvednout údaje z databáze a připravit do formuláře k editaci $data = @mysql_fetch_row(@mysql_query("SELECT user, email, url, title, cloak FROM redirect WHERE id = '$uid' LIMIT 1")); ?> <script language="JavaScript" type="text/javascript" src="handle/formcheck.js"></script> <fieldset> <legend> registrovat vlastní doménu <br /></legend> <form name="regform" action="regedit.php" method="POST" onSubmit="return zkontroluj_formular(this);"> <table border="0" cellspacing="5" cellpadding="0"> <tr> <td align="right"><input type="hidden" name="update" value="1" />titulek stránek:</td> <td><input type="text" class="sform" name="title" value="<?PHP echo StripSlashes($data[3]) ?>" size="30" autocomplete="off" /></td> </tr> <tr> <td align="right">URL:</td> <td><input type="text" class="sform" name="url" value="<?PHP echo StripSlashes($data[2]) ?>" size="30" autocomplete="off" /></td> </tr> <tr> <td align="right">e-mail:</td> <td><input type="text" class="sform" value="<?PHP echo StripSlashes($data[1]) ?>" name="email" size="30" /></td> </tr> <tr> <td align="right"> </td> <td><input type="checkbox" class="sform" value="N" name="cloak" <?PHP echo ($data[4] == "N") ? "checked" : "" ?> />neskrývat skutečnou adresu</td> </tr> </table> <br /> <table border="0" cellspacing="5" cellpadding="0"> <tr> <td align="right">uživatelské jméno (doména)*:</td> <td><?PHP echo StripSlashes($data[0]) ?></td> </tr> <tr> <td align="right">heslo:</td> <td><input type="password" class="sform" name="passw1" size="20" autocomplete="off" /></td> </tr> <tr> <td align="right">ověření hesla:</td> <td><input type="password" class="sform" name="passw2" size="20" autocomplete="off" /></td> </tr> <tr> <td colspan="2" align="right"> <input type="submit" class="tlac" value="uložit nastavení" /> </td> </tr> </table> </form> * pouze alfanumerické znaky bez diakritiky, bez mezer, podržítek a speciálních znaků </fieldset> <?php } ?> <form> <input type="button" class="tlac" value="odhlásit se" onclick="logout()" /> <!--[if IE]> <input type="button" class="tlac" value="jiný uživatel" onclick="document.body.style.filter='gray(enabled=1)'; window.location='http://nov%FD%20u%9Eivatel:XXX@<?php echo $_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'] ?>?logout=1'" /> <![endif]--> </form> </body> </html> < <?php require ("handle/config.php"); // zavést nastavení require ("handle/login.php"); // ověřit přístup uživatele ?> <html> <head> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <title>Upravit registraci</title> </head> <body bgcolor="tomato"> <script language="JavaScript" type="text/javascript" src="handle/cookies.js"></script> <script language="JavaScript" type="text/javascript"> <!-- function logout() { if (navigator.appName=='Microsoft Internet Explorer') document.body.style.filter='gray(enabled=1)'; logoutyes=confirm('Chcete se odhlásit?') if (logoutyes) { MyCookie.Write('loggedout',1); if (navigator.appName=='Microsoft Internet Explorer') top.opener="interval"; top.window.close(); } else if (navigator.appName=='Microsoft Internet Explorer') document.body.style.filter='gray(enabled=0)'; } // --> </script> <?php if ($_POST['update']==1) // byl odeslán formulář { $_POST['email'] = htmlspecialchars(StrToLower($_POST['email'])); // vyčistit předané údaje $_POST['url'] = htmlspecialchars(StrToLower($_POST['url'])); $_POST['title'] = htmlspecialchars(StrToLower($_POST['title'])); if (!empty($_POST['email']) && !empty($_POST['url']) && !empty($_POST['title'])) // ověřit, zda byly zadány povinné údaje { if (!empty($_POST['passw1']) || !empty($_POST['passw2'])) // pokud bylo zadáno alespoň jedno z hesel, ověřit, zda se shodují a přípFadně je očistit pro uložení { $_POST['passw1']=htmlspecialchars($_POST['passw1']); $_POST['passw2']=htmlspecialchars($_POST['passw2']); unset($passwupdate); // zničit SQL dotaz na změnu hesla if ($_POST['passw1']!=$_POST['passw2']) echo "<b>Zadaná hesla si neodpovídají, heslo nebude změněno!</b><br />"; else $passwupdate=", password = '".md5($_POST['passw1'])."'"; // připravit část SQL dotazu pro změnu hesla } if (StrToUpper($_POST['cloak']) == 'N') $cloak_stat= 'N'; else $cloak_stat= 'Y'; if (@mysql_query("UPDATE redirect SET email = '".$_POST['email']."', url = '".$_POST['url']."', title = '".$_POST['title']."', cloak = '$cloak_stat'$passwupdate WHERE id = '$uid' LIMIT 1")) // aktualizovat údaje v databázi { echo '<b>Údaje byly uloženy.<b><br />'; if (!empty($passwupdate)) echo '<b>Heslo bylo změněno.<b><br />'; // pokud bylo měněno i heslo, vypsat hlášení } else echo '<b>Chyba při ukládání údajů!</b><br />'; } else echo '<b>Nebyly zadány potřebné údaje!</b><br />'; ?> <form> <input type="button" class="tlac" value="opravit údaje" onclick="window.location='regedit.php'" /> // tlačítko pro vstup do formuláře po uložení údajů </form> <?php } else { // formulář nebyl odeslán, vyzvednout údaje z databáze a připravit do formuláře k editaci $data = @mysql_fetch_row(@mysql_query("SELECT user, email, url, title, cloak FROM redirect WHERE id = '$uid' LIMIT 1")); ?> <script language="JavaScript" type="text/javascript" src="handle/formcheck.js"></script> <fieldset> <legend> registrovat vlastní doménu <br /></legend> <form name="regform" action="regedit.php" method="POST" onSubmit="return zkontroluj_formular(this);"> <table border="0" cellspacing="5" cellpadding="0"> <tr> <td align="right"><input type="hidden" name="update" value="1" />titulek stránek:</td> <td><input type="text" class="sform" name="title" value="<?PHP echo StripSlashes($data[3]) ?>" size="30" autocomplete="off" /></td> </tr> <tr> <td align="right">URL:</td> <td><input type="text" class="sform" name="url" value="<?PHP echo StripSlashes($data[2]) ?>" size="30" autocomplete="off" /></td> </tr> <tr> <td align="right">e-mail:</td> <td><input type="text" class="sform" value="<?PHP echo StripSlashes($data[1]) ?>" name="email" size="30" /></td> </tr> <tr> <td align="right"> </td> <td><input type="checkbox" class="sform" value="N" name="cloak" <?PHP echo ($data[4] == "N") ? "checked" : "" ?> />neskrývat skutečnou adresu</td> </tr> </table> <br /> <table border="0" cellspacing="5" cellpadding="0"> <tr> <td align="right">uživatelské jméno (doména)*:</td> <td><?PHP echo StripSlashes($data[0]) ?></td> </tr> <tr> <td align="right">heslo:</td> <td><input type="password" class="sform" name="passw1" size="20" autocomplete="off" /></td> </tr> <tr> <td align="right">ověření hesla:</td> <td><input type="password" class="sform" name="passw2" size="20" autocomplete="off" /></td> </tr> <tr> <td colspan="2" align="right"> <input type="submit" class="tlac" value="uložit nastavení" /> </td> </tr> </table> </form> * pouze alfanumerické znaky bez diakritiky, bez mezer, podržítek a speciálních znaků </fieldset> <?php } ?> <form> <input type="button" class="tlac" value="odhlásit se" onclick="logout()" /> <!--[if IE]> <input type="button" class="tlac" value="jiný uživatel" onclick="document.body.style.filter='gray(enabled=1)'; window.location='http://nov%FD%20u%9Eivatel:XXX@<?php echo $_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'] ?>?logout=1'" /> <!--[endif]--> </form> </body> </html |
||
Oli Profil * |
#16 · Zasláno: 9. 5. 2012, 09:07:58
[#12] david2097 Jestli to mas na webu tak si to zmen v phpmyadmin. Na produkčním serveru se přes root nepřipojuje. v phpmyadmin si uděláš uživatele a přiřadíš mu databázi.
Pokud to je na tvém počítači (localhostu) tak přihlašování by mělo být $spojeni = MySQL_connect("localhost","root",""); mysql_select_db('tvoje_databaze', $spojeni); |
||
peta Profil |
http://peter-mlich.wz.cz/web/mysql/pr/minix.php
Soubory nahore jsou zdrojak. minix.php minix.sql Pokud si to spoustis u sebe, tak prihlaseni k databazi je $SQL['host'] = "localhost"; //server (host) $SQL['user'] = "root"; //MySQL user $SQL['psw'] = ""; //MySQL password $SQL['dbname'] = "minichat"; //MySQL DB name $SQL['prefix'] = "m_"; Pres http://localhost/ je nutne pustit si phpmyadmina, vytvorit databazi "minichat" a do ni pridat tabulky pro chat. Staci otevrit soubor "minix.sql", vyklikat v phpmyadminovi tvoji databazi minichat, kliknout na zalozku SQL, vlozit obsah souboru minix.sql a dat proved. Melo by to napsat Uspesne vytvoreno. Po te staci spustit minix.php a melo by to fungovat.
Do phpmyadmina se dostanes, pokud mas nainstalovany wamp server, pomoci adresy http://localhost/phpmyadmin/ , prihlasovaci udaje jsou obvykle root, zadne heslo, ok.
Registrace v tom teda neni, nemam prilis registraci rad :) , ale da se to pouzit na testovani. |
||
Martin02 Profil |
#18 · Zasláno: 9. 5. 2012, 13:29:03
david2097:
Tebou uvedený Travia.. se dá stáhnout na netu (nelegální ho provozovat). Napiš do googlu Travia.. Clone download a zkus hledat... :) |
||
david2097 Profil |
#19 · Zasláno: 9. 5. 2012, 17:18:40
takle ono to je T r a v i a n ale když to napíšu tak se mu to nelíb a píše at to mam odstranit jelikož to asi považuje za nevhodné slovo a tak skracuju na travia..
|
||
Nox Profil |
#20 · Zasláno: 9. 5. 2012, 17:53:21
Martin02:
To bych teda moc nepropagoval, jednak morálně, druhak pravidlo 5 a dotřetice pro david2097ovy lepící tendence |
||
Martin02 Profil |
#21 · Zasláno: 9. 5. 2012, 18:31:25
Nox:
„lepící tendence“ ??? |
||
jenikkozak Profil |
#22 · Zasláno: 9. 5. 2012, 18:34:17
Martin02:
„‚lepící tendence‘ ???“ Lepicí tendence je stav, kdy člověk má zájem pouze mnohdy chybným způsobem spojovat cizí kódy, aniž by chápal jejich význam. |
||
david2097 Profil |
#23 · Zasláno: 9. 5. 2012, 19:11:19 · Upravil/a: david2097
no nic já tedy s PHP scripty končím (alespoň na dobu neurčitou) jsou velice těžké a zároveň nemám čas ani náladu se je učit ani zkoušet je v pokusech. Asi tak za 2- 3 roky zase budu otravovat to se bát nemusíte. Je mi teprve 14 a doopravdy učit se do školy a zároveň php tak to doopravdy nejde!!! Tak se s Vámi loučím a zase na viděnou. :D
S pozdravem David Vlasák Tak už asi chápete proč sem tomu tolik nerozuměl. Ne tedy že bych byl naprosto ..... spíše naopak já jsem jedničkář a někdy dvojkař ale HTML mě naprosto zaujalo a tak jsem se začal učit doma CSS, Java scripty, PHP, a zkoušel jsem i C,C++ ale nenašel jsem knihovny (qcc asi) |
||
Han Profil |
#24 · Zasláno: 9. 5. 2012, 19:23:20
david2097:
Len dodám, že robím weby od 11 rokov, od 13 (teraz mám 14) robím PHP a pritom mám jednotky na osemročnom gymnáziu, de sa učím o rok menej :) Takže, dá sa to :) Treba xcieť |
||
Someone Profil |
#25 · Zasláno: 9. 5. 2012, 19:30:13
david2097:
„Je mi teprve 14 a doopravdy učit se do školy a zároveň php“ Mimo programování webových stránek jsem také studentem střední školy (gymnázia) a troufám si říci, že mám více učení než-li ty. Programováním si nejen krátím čas, ale také vydělávám tudíž zkombinovat školu a "práci" pro mě není tak jednoduché jako když si ty můžeš dát týden dva pauzu a nic se nestane. Proto si myslím, že argumentovat tím, že se musíš učit do školy je irelevantní. Když už nic tak se můžeš učit v pátek a sobotu. Tímto ti samozřejmě nesděluji ať necháš školy a jdeš radši programovat. Jen je to takové "všechno jde, když se chce.". |
||
david2097 Profil |
#26 · Zasláno: 9. 5. 2012, 21:06:01 · Upravil/a: david2097
jak si řek asi si budu muset dát pausu a ty PHP udělam treba o prazdninach
a ta hra to jsem chtěl nejdřív rozchodit: registrace odpočítávání mapa no prostě jsem to chtěl nejak zhruba rozchodit až by to fakčilo tak bych teprve makal na grafice atd... a bohužel maminka mi pořád říká at nevisedávám u PC ale né né né |
||
Časová prodleva: 11 let
|
0