Различные вопросы по PHP и MySQL

99.68K
.
сервис вообще не учитывает кеширования, и не видит сжатия файлов (может нет поддержки дефлейт и гзип)
соответственно дает неразумные рекомендации.
джиквери ему видите ли не нравится))
.
(\/)____o_O____(\/)
ramzes, тоже как не крутил всех ошибок не убрал, хитачес вообще большой
.
ramzes, Ну вот и говорю, следил за сайтами схожей тематики на яше и гугле, вот в гугле все старе сайты в выдаче которые еще при царе горохе были, так и остались, тоетсь когда то в лохмаые года он проиндексировал сайт, сопоставил данные по сайтам по своим меркам еще тогда, и до сих пор так все и остается. Тоесть даже если сделать сайт лучше по показателям гугула то он все равно не попадет в вдачу вперед старых сайтов... ТОесть с одним и тем жеконтентов если. В яндексе совсем другая история, там наоборот чем сайт лучше в планеоптимизации то он и первый.. вот потому я и подумал что они просто не заморачиваются и пользуютстаким вот сервисом, этож гугловский сервис.
.
я граб смартлип выводил так что он выше самого смартлип был. и на много выше.
они даже модератера ко мне посылали с просьбой убрать граб)
а вообще, опять суть не ясна. сайты в топе держаться по многим причинам
возраст совсем не показатель
.
Всем привет, вот пробую написать скрипт регистрации. всё вроде бы хорошо, НО...
если не ввести пароль, проверка всё-равно проходит. и записываеется в поле `password`, но без мд5. а в поле `pass_nomd5` вообще ничего не записываеется.
в чём может быть ошибка? весь код на три раза проверил.

<?php
session_start();

include($_SERVER['DOCUMENT_ROOT'] . "/sql.php");
$date = (date("d.m.Y") . date(' в H:i'));

if (isset($_POST['submit'])) {
    if (!empty($_POST['login'])) {
        $_POST['login']=trim($_POST['login']);
        if (!preg_match("/^[0-9A-Za-zА-Яа-яЁё]{4,12}+$/ui", $_POST['login'])) {
            $err_login = 'Логин введен неверно';
            unset($_POST['login']);
        }
        else {
            $login = $_POST['login'];
        }
    }
    else {
        unset($_POST['login']);
        $err_login_empty = 'Вы не ввели логин';
    }

    if (!empty($_POST['password'])) {
        if (!preg_match("/^[a-z0-9_]{6,15}$/", $_POST['password'])) {
            $err_password = 'Пароль введен неверно';
            unset($_POST['password']);
        }
        else {
            $password = md5($_POST['password']);
            $pass_nomd5= $_POST['password'];
        }
    }
    else {
        unset($_POST['password']);
        $err_password_empty = 'Вы не ввели пароль';
    }

    if ((isset($login)) AND (isset($password))) {
        $sql=mysql_query("SELECT * FROM `users` WHERE `login`='$login'");
        $result=mysql_num_rows($sql);
            if ($result!=0) {
            $err_num='Этот логин уже занят';
            } else {
                  $sex=$_POST['sex'];
                  $insert=mysql_query("INSERT INTO `users` (`login`, `password`, `pass_nomd5`, `date_reg`, `real_date`, `sex`, `about`) VALUES ('$login', '$password', '$pass_nomd5', '$date', '$date', '$sex', 'Не заполнено')");
                  $_SESSION['login'] = $login;
                  header("Location: http://['HTTP_HOST']."/");
                  exit();
                  }
    }
}


include ($_SERVER['DOCUMENT_ROOT'] . "/header.php");

if (isset($_SESSION['login'])) {
echo '<div class="error">Вы уже зарегистрированны!</div>';
} else {

if ((isset($err_num)) OR (isset($err_login)) OR (isset($err_password)) OR (isset($err_login_empty)) OR (isset($err_password_empty))) {
    echo '<div class="error">';
    
    if (isset($err_num)) {
        echo $err_num . '<br>';
    }

    if (isset($err_login)) {
        echo $err_login . '<br>';
    }

    if (isset($err_login_empty)) {
        echo $err_login_empty . '<br>';
    }

    if (isset($err_password)) {
        echo $err_password . '<br>';
    }

    if (isset($err_password_empty)) {
        echo $err_password_empty;
    }

    echo '</div>';
}

echo '<div class="body">';
echo '<div class="form">';
echo '<div class="article"><b>Регистрация</b></div>';
echo '<div id="hr"></div>';
echo '<div class="info">При вводе логина разрешаются: русские и английские буквы, цифры и знак подчёркивания.<br>
Колличество символов: от 4 до 12<br>
Пример: <b>Иванов_1, Ivanov_2, Иваноff_3</b></div>';
echo '<form action="reg.php" method="post">
    * <input type="text" name="login" placeholder="Введите логин">
    <div id="hr"></div>
<div class="info">При вводе пароля разрешаются: только английские буквы, цифры и знак подчёркивания.<br>
Колличество символов: от 6 до 15<br>
Пример: <b>Pass_WOrd_1</b></div>
    * <input type="password" name="password" placeholder="Введите пароль">
    <div id="hr"></div>
Выберите ваш пол<br>
<select name="sex">
    <option selected>Не выбрано</option>
    <option value="Мужской">Мужской</option>
    <option value="Женский">Женский</option>
   </select>
<div id="hr"></div>
<input type="submit" name="submit" value="Продолжить">
</form>';
echo '</div>';
echo '</div>';
}
include ($_SERVER['DOCUMENT_ROOT'] . "/footer.php");

?>
.
Milordas, кто вас так учил писать?
$date = (date("d.m.Y") . date(' в H:i')); == date("d.m.Y в H:i") два раза функцию дергать не надо
.
ramzes, я только учусь))
.
ramzes
if(isset($_POST['login'], $_POST['pass'])){
            if(preg_match('|^[a-zа-яА-Я\d\.\-]{5, 12}$|iu', $_POST['login'])){
                if(strlen(trim($_POST['pass'])) > 5 AND strlen(trim($_POST['pass'])) < 25 ){
                    $prov = mysql_fetch_assoc(mysql_query("SELECT id FROM `users` WHERE `login`='".$login."';"));
                    if($prov['id']==''){
                        mysql_query("INSERT INTO `users`
                        (`login`, `password`, `pass_nomd5`, `date_reg`, `real_date`, `sex`, `about`)
                         VALUES
                         ('".$login."', '".md5(trim($_POST['pass']))."', '".htmlspecialchars(trim($_POST['pass']), ENT_QUOTES)."', '". date("d.m.Y в H:i") ."', '". date("d.m.Y в H:i") ."', '".htmlspecialchars(trim($_POST['sex'], ENT_QUOTES))."', 'Не заполнено');
                         ");
                        /*  executed */
                    }else{
                        /* login is already occupied */
                    }
                }else{
                    /* bad password */
                }
            }else{
                /* bad login */
            }
        }else{
            /* this form */
        }
.
# Milordas (19.01.2014 / 19:00)
ramzes, я только учусь))
и еще внимательнее, у тебя $_POST['sex'] ни как не фильтровалось, это иньекция
.
# ramzes (19.01.2014 / 19:01)
[php]
if(isset($_POST['login'], $_POST['pass'])){
if(preg_match('|^[a-zа-яА-Я\d\.\-]{5, 12}$|iu', $_POST['login'])){
if(strlen(trim($_POST['pass'])) > 5 AND strl
а где проверка пароля?
Всего: 7969