Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 01.11.12 Prihlásený: 25.12.14 Príspevky: 40 Témy: 13 | 13 |
Zdravím. Už dlhšiu dobu pripravujem webovú hru (tú obyčajnú klikačku) a vždy ma nejaká takáto vec zastaví. Problém je v registrácií. Pri overovaní údajov a zapisovaní je chyba. Prešiel som to asi 7 - 9 krát, nikde som nič nenašiel. Proste ten script sa nenačíta. Ukážka: http://www.arthom.6f.sk/register.phpZdroják: Kód: if (isset($_POST["register"])) { $vysledok = mysql_query("SELECT * FROM `users` ORDER BY ID"); while($zaznam = mysql_fetch_array($vysledok)) { if (isset($_POST["suhlasim"])) { if (strlen($_POST["nick"]) < 14 || strlen($_POST["nick"]) > 4 || strlen($_POST["email"]) < 29 || strlen($_POST["email"]) > 4 || strlen($_POST["pass"]) < 25 || strlen($_POST["pass"]) > 4 || strlen($_POST["confirmpass"]) < 25 || strlen($_POST["confirmpass"]) > 4) { $zhodanick = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `username` = '".mysql_real_escape_string($_POST["nick"])."'")); if ($zhodanick != 0) { if (checkmail($_POST["email"])) { if ($_POST["pass"] == $_POST["confirmpass"]) { $kontrola = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `ip` = '$_SERVER['REMOTE_ADDR']'")); if (!$kontrola) { $idd = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `username` = '".mysql_real_escape_string($_POST["nick"])."' LIMIT 1")); mysql_query("INSERT INTO `users` (`id`, `username`, `password`, `ip`, `email`, `zaregistrovany`) VALUES ('$idd['id']', '".mysql_real_escape_string($_POST["nick"])."', '".mysql_real_escape_string(md5($_POST["pass"]))."', '$_SERVER['REMOTE_ADDR']', '".mysql_real_escape_string($_POST["email"])."', '".date("d.m.Y s.i.H")."')"); } else echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Prepáčte, ale pravdepodobne už jeden účet vlastníte, pretože IP sa zhoduje. Ak to nie je pravda, <a href='../contact.php?type=zhodaip' class='alert-link'>kontaktujte nás</a></div>"; } else echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Prepáčte, ale heslá nie sú zhodné. Skúste to znovu !</div>"; } else echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Zadaný E-Mail }je napísaný v nesprávnom tvare !</div>"; } else echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Prepáčte, ale niekto pod takým nickom u nás je registrovaný !</div>"; } else echo "<div class='alert alert-danger alert-dismissable'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>Prepáčte, ale zadali ste krátke alebo dlhé údaje !</div>"; } } } vedeli by ste mi pomôcť? ďakujem
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 | 30 Bydlisko: Bratislava |
Fuj, ten kód sa mi ani len nechce čítať. Ale keďže sa ti tam nič nezobrazí (a predpokladám, že tam mal byť aspoň formulár), tak to vyzerá na nejakú syntaktickú chybu (chýbajúca bodkočiarka napr.).
A ak to je celý kód, tak ti tam napr. chýba pripojenie na db (+ je tam kopa nezmyslov, ako dĺžka emailu a pod.).
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 | 66 Bydlisko: Žilina |
Citácia: mysql_real_escape_string(md5($_POST["pass"])) Naozaj escapuješ hash? Ku zvyšku sa radšej nevyjadrím, ale aspoň toto si preboha oprav a prestaň používať MD5, ktorý dnes crackneš už aj tabletom... Ja sa teším, že si si našiel o bezpečnosti aspoň niečo, ale programovanie je téma, pri ktorej nemôžeš zaspať pri postupoch zpred 10tich rokov a viac sa tým už nezaoberať. Napr mysql_ funkcie by sa nemali využívať už vôbec... Čo sa týka konkrétneho problému, treba používať editor so zvýrazňovaním syntaxe a automatickou detekciou chýb... Potom si nájdeš chybu veľmi rýchlo určite aj sám
_________________ C#, PHP, ... |
|
Registrovaný: 01.11.12 Prihlásený: 25.12.14 Príspevky: 40 Témy: 13 | 13 |
nj to je sila zvyku som stará škola, používam notepad++, všetko pekne zvýraznené ale chyba nikde ...
|
|
Registrovaný: 28.04.11 Prihlásený: 30.12.24 Príspevky: 296 Témy: 27 | 27 Bydlisko: Martin/Brno |
1. Nerozumiem preco to mas cele vo while a robis to pre kazdeho uzivatela. 2. if ($zhodanick != 0) takze chces aby tam uz niekto taky existoval ?
|
|
Registrovaný: 01.11.12 Prihlásený: 25.12.14 Príspevky: 40 Témy: 13 | 13 |
to je kvôli podmienke ak niekto s takým menom neexistuje aby išlo ďalej .. preto !=
|
|
Registrovaný: 28.04.11 Prihlásený: 30.12.24 Príspevky: 296 Témy: 27 | 27 Bydlisko: Martin/Brno |
no ale ak dobre vidim ty to mas naopak. Predsa ak sa to nerovna 0 tak niekto taky musi existovat nie? A co ten while ?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
V uvedenom skripte nevidno ziadnu logiku, preto to ani fungovat nemoze. Pocnuc nezmyselnym while cyklom, cez kontrolu dlzky zadanych udajov, ktora vlastne nic spravne neskontroluje, opakovany vyber rovnakych dat z jednej tabulky, kontrolu ipcky, ... a konciac vyberom idcka neexistujuceho usera, ktore chces pouzit na insert noveho. Cele zle. Najlepsie spravis, ked to cele vymazes a zacnes pekne od zaciatku. Mozno ta toto trosku usmerni: Kód: if($_POST) { //...
if(($status = checkformdata(...)) === TRUE) { $res = mysql_query("SELECT 1 FROM `users` WHERE `username` = '".$nick."'"); if(mysql_num_rows($res) == 0) { //INSERT } } else { echo $status; } }
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 21 | 973 | 19.10.2010 14:24 dessert | | v Správy pre vedenie fóra | 8 | 1231 | 28.01.2008 22:25 _DanWer_ | | v PHP, ASP | 4 | 558 | 11.07.2010 20:30 Flety | | v PHP, ASP | 9 | 1363 | 13.05.2006 20:37 shaggy | | v HTML, XHTML, XML, CSS | 28 | 1278 | 02.02.2008 12:43 jato | | v PHP, ASP | 20 | 977 | 18.09.2010 12:58 emer | | v PHP, ASP | 10 | 655 | 11.05.2010 18:09 dessert | | v PHP, ASP | 2 | 410 | 08.03.2014 21:30 DessertBA | | v Sieťové a internetové programy | 5 | 725 | 12.04.2008 13:31 Enermax | | v Assembler, C, C++, Pascal, Java | 3 | 531 | 08.08.2011 9:16 matwej | | v Domény | 6 | 872 | 14.12.2009 12:59 Blackshadow | | v PHP, ASP | 24 | 1129 | 04.07.2008 21:01 Blackshadow | | v Herné konzoly | 4 | 737 | 18.12.2011 20:04 Luks | | v Obchody, reklamácie a právo | 3 | 520 | 18.08.2010 13:42 Jeffo | | v Operačné systémy Microsoft | 2 | 570 | 30.09.2008 16:02 Nexus | | v Notebooky a netbooky | 5 | 676 | 12.08.2009 19:23 banzai |
|