За последние 24 часа нас посетили 62730 программистов и 1677 роботов. Сейчас ищут 984 программиста ...

проверка строки

Тема в разделе "PHP для новичков", создана пользователем LokiFC, 13 сен 2008.

  1. LokiFC

    LokiFC Активный пользователь

    С нами с:
    27 июн 2008
    Сообщения:
    72
    Симпатии:
    0
    Адрес:
    Default City
    Пользователь меняет пароль. Формат пароля должен быть строго определенный. Есть код....
    PHP:
    1. <?php
    2. ...
    3. elseif ( preg_replace("/[0-9A-z]/", null, $newpass) != FALSE ) {
    4.                 ?>
    5.         <script>
    6.         location.replace("index.php");
    7.         alert("В пароле можно использовать только латиницу и цифры");
    8.         </script>
    9.         <?php
    10.         exit();
    11.     }
    12. ...
    13. ?>
    Пишу как пароль "йцукен" и он всеравно его сохраняет :(
    Уважаемые пхп-мастера, подскажите пожалуйста в чем моя ошибка.
    Заранее спасибо.
     
  2. koopakaru

    koopakaru Активный пользователь

    С нами с:
    12 мар 2008
    Сообщения:
    64
    Симпатии:
    0
    Адрес:
    Прибалтика
    Я бы написала так:
    К сожалению не знаю какой у вас там скрипт до этого, поэтому приведу вариант, когда данные передаются методом POST
    Код (Text):
    1.  
    2. <?php
    3. $newpass = $_POST['newpass'];
    4. if(!preg_match("/^[a-zA-Z0-9]+$/", $newpass)) {
    5.     echo "В пароле можно использовать только латиницу и цифры";
    6. }
    7. ?>
    Таким образом вы проверяете что каждый из символов должен соответствовать условиям.
    Так как я новенькая в PHP, то просьба покритиковать мой код.
     
  3. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    ИМХО - в пароле должны быть разрешены любые символы... Не облегчайте работу хакерам
     
  4. Sephiroth_Lukaw

    Sephiroth_Lukaw Активный пользователь

    С нами с:
    26 апр 2008
    Сообщения:
    62
    Симпатии:
    0
     
  5. LokiFC

    LokiFC Активный пользователь

    С нами с:
    27 июн 2008
    Сообщения:
    72
    Симпатии:
    0
    Адрес:
    Default City
    Elkaz, хорошо, предположим я не пароль проверяю так, а логин или еще что-нибудь.

    koopakaru, покритиковал броузер:
    Warning: Wrong parameter count for preg_replace() in D:\бла\бла\бла\бла.php on line 121

    Sephiroth_Lukaw, а как же тогда с его помошью проверяют содержимое строки?
     
  6. LokiFC

    LokiFC Активный пользователь

    С нами с:
    27 июн 2008
    Сообщения:
    72
    Симпатии:
    0
    Адрес:
    Default City
    Решил проблему. Перепутал имя переменной XD
    Кстати, Elkaz, спасибо за совет. Впринципе у меня пароль всеравно кешируется, так что я послушаю вас. А вобще я капчу поставил на вход :)