ребят, пишу проектик типо БК. столкнулся с такой штукой, когда в верхнем фрейме перехожу куда то и нажимаю обновить, то он меня возвращает на первоночальный фрейм. Если подкинете пару мыслей как это лечить, буду благодарен.
поздновато уже, ну да впринципе и переделать можно. вот только вопрос на что? задача у меня написать диплом на тему "разработка многопользовательской браузерной онлайн игры в жанре ММО РПГ" если ссылки не запрещены могу поделиться тем что уже наработанно! а сроки)) в общем 7 дней есть)
аяксом... я не профи и для меня аякс какое то страшное слово. ну я конечно загуглил и все дела, но с веб программирование я не на "ты" да и вообще за 3 года на заочке нас мало чему научили. если можно более расширенную модель представления !?
жесть. ссылку пости, интересно ж ajax это просто когда браузер из js делает запрос, а ответ даёт обратно в js.
ок, https://terrawar.ru --- Добавлено --- там пока верстка только. завтра проснусь начну, что то исполнять!
Убери плз тень у шрифтов. Она размывает надписи и грузит глаза. Да, в CSS есть много всяких крутых плюх, которые хочется задействовать, но ложка хороша к обеду. Javascript отправляет запрос к серверу в фоне. Через специальный API. Ничего костылить не надо, это не хак и не костыль, это вполне себе стандартизированная технология. И потом принимает ответ. И может с ним сделать что угодно. Если ответ - готовый HTML, можно прям взять и воткнуть в страницу ничтоже сумнящась. Бояться там нечего. Гугли примеры, да и все. С точки зрения сервера - разницы нет никакой. К нему просто придет запрос, совершенно обычный. С теми же заголовками браузера, с этим вот всем. С тем же POST/GET. Ты его просто обработаешь и просто отдашь ответ, как при обычном запросе. Разница, по сути, только на клиенте.
добрый день, я проснулся! Щас погугляю за аякс. тени сниму) а на какой странице больше всего напрягают они!?
if ($err<>1) - как понять такую запись? --- Добавлено --- что то я теряю логику, вроде более менее проверил. дайте совет у кого опыт есть. мне бы все это на доп проверку пперед отправкой поставить. PHP: $login=trim(htmlspecialchars(strip_tags($_POST['login']))); $pass=htmlspecialchars($_POST['pass']); $pass2=htmlspecialchars($_POST['pass2']); $mail=htmlspecialchars($_POST['email']); $sex=htmlspecialchars($_POST['sex']); $cities=htmlspecialchars(strip_tags($_POST['cities'])); $deviz=htmlspecialchars(strip_tags($_POST['deviz'])); $about=htmlspecialchars(strip_tags($_POST['about'])); $pravila=htmlspecialchars($_POST['pravila']); $bday =htmlspecialchars($_POST['dd'].".".$_POST['mm'].".".$_POST['gg']); if (isset($_POST['submit'])) { if (empty($login) && (strlen($login) <3)){ echo "логин не корректен"; } else { // подключаемся и ищем логин в базе // если результат 0 то логин можно регать иначе выводим ошибку } if (strlen($pass ) <3) { echo "пароль не доблжен быть короче 3 символов"; } if($pass!=$pass2){ echo"пароли не совпадают!"; } else { $pass=md5(md5($pass)); } if (strlen($mail)<5) { echo"пароль должен быть более 5 символов"; } if (!preg_match("/[a-z0-9][a-z0-9\._-]*[a-z0-9]*@([a-z0-9]+([a-z0-9\-]*[a-z0-9]+)*\.)+[a-z]+/i",$mail)) { echo "не корректный формат email, вашапочта@домен.зона"; } if (strlen($cities) > 34) { echo " ну ты и забрался бродяга"; } if (strlen($deviz) > 140) { echo " девиз не может превышать 140 символов"; } if ((empty($pravila))&& (strlen($pravila)<2)) { echo "pravila off"; } }
не равно --- Добавлено --- trim обрезает пробельные символы, которые человек мог случайно ввести в начале или в конце логина. Это полезно, потому что позволяет выводить логины и точно знать, что они выглядят красиво, к ним не прилипают энтеры, табуляции и прочая несуществующая хрень. Но нафига ты его шарашишь вот этим htmlspecialchars(strip_tags(? всего у тебя таких строк десять. десять действий, смысл которых от тебя ускользнул. Это значит, что нужно слазить в доку и улучшить свои знания по этим двум функциям. Чтобы всегда точно знать где и зачем их применять. что такое &&? "некорректен" тогда уж, но звучит жутко официально херня на постном масле вот это юзай и больше ничего https://php.ru/manual/function.password-hash.html --- Добавлено --- тебе не всё равно? ты ж не проверяешь существование города. Зачем эти ограничения? так пароль или почта? длинее или короче? и strlen() не меряет длинну на самом деле. Она меряет число байтов, что в мультибайтных кодировках даёт хрень, а не число символов. https://php.ru/manual/function.mb-strlen.html вот это юзай в почтовых адресах, как и в адресах интернетных возможно использование всяких символов кроме a-z0-9. вот например http://lurkmore.to/Копипаста:Стоп-лист_доменной_зоны_РФ и на этих доменах может быть почта. и это нормально. Важно понимать, что в этом мире есть куча других языков, на которых может быть написан домен. для валидации мыльного адреса есть https://php.ru/manual/filter.examples.validation.html но по-настоящему понять, настоящий ли адрес, можно только послав туда письмо со ссылкой.
согласен, за 5 дней трудно вникнуть во всю силу функций и их истинную сущность. можно не буду отвечать что то типо проверяю для того что ( бла бла бла) если есть поля с входящими данными, емну правило, хотябы для того что бы в моей бд место экономилось ( это о городе) а будет ли его правильность потом кто то проверять вообще не ясно) спасибо за ссылки Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\terra\www\regform.php on line 41 пароли не совпадают! как это лечится. чет читаю книгу и никак... Код (Text): if(!empty($login)){ include ("conf.php"); $data = mysql_connect($base_name, $base_user, $base_pass); mysql_select_db($db_name,$data); $sql = "SELECT * FROM users WHERE login='$login'"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); } if ((empty($pravila))&& (strlen($pravila)<2)) { echo "вы не согласились с правилами"; } if(empty($login) and empty($pass) and empty($pass2) and empty($mail) and empty($bday)){ print "данные не заполнены!"; }
правильно не "проверять", а предотвращать инъекции используй PDO prepared statements это просто значит, что запрос обломился и ты не получил объект, методы которого пытаешься дёргать. Ты получил false, который по типу boolean, и никаких методов у него нет. Нужно просто проверять всегда результат на результат =) и в случае ошибки - обрабатывать ошибку. либо в бд данных нет, либо запрос с ошибкой лечится через либо исправлять запрос, либо пихать данные в бд =) инъекция вместо логина я могу вписать другой запрос и он выполнится.
а как сделать запрос безопасным ? $sql = "SELECT * FROM `users` WHERE `login`=$login"; - так? Это проверка занятости логина. я так понимаю нужно обработать результат дабы не было ошибки?