1. PHP / Говнокод #1760

    +157.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    function validate($allsubmitted){
    	$massage="";
    	$passwords= $allsubmitted["pword"];
    	$firstpass= $passwords[0];
    	$secondpass= $passwords[1];
    	$username= $allsubmitted["name"];
    	if ($firstpass!= $secondpass){
    		$massage=$massage."Пароль верен<br>";
    	} else {
    		$massage=$massage."Не правильно введен пароль";
    	}
    	if (strlen($username)<5 || strlen($username)>50){
    		$massage= $massage."Ник должен быть от 5 до 50 символов";
    	}
    	if ($massage==""){
    		$massage= "clear";
    	}
    	return $massage;
    }
    validate($_POST);
    	if (validate($_POST)=="clear"){
    		echo "Спасибо за регистрацию!";
    	} else {
    		echo "У Вас возникли проблемы с регистрацией!";
    	}

    "***: Привет всем, http://www.govnokod.com/1488 подскжите что не парвильно в этом говнокоде? вбивал данные и правильные и не правильные, результат один: У Вас возникли проблемы с регистрацией!"

    мы все учились понемногу ©

    Запостил: striker, 04 Сентября 2009

    Комментарии (11) RSS

    • Знатненькое шайзе. А зачем было городить такую отдельную функцию и к тому же запускать ее два раза?
      Ответить
    • советую переписать это говно
      Ответить
      • Зачем заминусовали человека? Все он правильно сказал, код бредовый.
        Ответить
    • Если вы уж просите подсказать, что неправильно, покажите и html-код формы, от которой приходит проверяемые POST-данные.
      Очевидная ошибка, после которой все не работает:
      if ($firstpass!= $secondpass){
      $massage=$massage."Пароль верен<br>";
      } else {
      $massage=$massage."Не правильно введен пароль";
      }
      Вот тут в переменной $massage неизбежно добавится какой-то текст, и значит, функция никогда не вернет clear.
      Да, и почему пароль верен, только тогда, когда его подтверждение не совпадает с ним ($firstpass!= $secondpass)?
      Еще меня смущает метод передачи первого и второго пароля через POST (поэтому и надо смотреть HTML-код формы).

      А еще массаж ($massage) замените на сообщение ($message), а то смешно читать.
      Ответить
      • А где проверка на пустой логин/пароль. Где фильтрация логина на левые символы. Где подсказка для пользователя, в чем именно он ошибся. В общем, есть над чем подумать.
        Ответить
      • "говнокод не мой, я лишь разместил объяву"
        вступительный текст в кавычках — это сегодня к нам товарищ приходил в jabber-конференцию по php.
        Ответить
    • дело даже не в том что говнокод. Дело в том что переменная $message заполняется полюбому (строки 7-11) и при совпадении и при несовпадении паролей. А валидность инфы проверяется по пустоте $message. то есть при любом раскладе функция будет возвращать что данные не валидны (для решения проблемы достаточно убить 8 строку). Автору хорошо бы научиться продумывать логику прежде чем писать код
      Ответить
    • Sieg, heil! 14/88
      Ответить
    • vanished
      Ответить

    Добавить комментарий