Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проверочный код, не работает код проверки 
V
    Опции темы
hripun
Дата 15.4.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



а конуретно ребят кто может сказать как мне исправить ошибку ? просто если убрать проверку 
Код

die($_SESSION["code"].'=='.$_POST["code"]);

этого кода все регит и проверяет отлично.... дело только в этой проверке...
PM MAIL ICQ   Вверх
enof
Дата 15.4.2009, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Вы так далеко не уедите.
Я привел вам ссылку на ман, что именно вам не ясно? Вы хотя бы посмотрели, что там?
Перед использованием сессии нужно ее инициализировать. Для этого и предназначена функция session_start()
Вызывать ее нужно до любого вывода. Почему, поймете потом, когда разберетесь, что из себя представляет протокол http.
PM MAIL ICQ Skype   Вверх
hripun
Дата 15.4.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



хех.. Вы мне дали то что я и так смотрю, смотрел и еще долго смотреть буду.... С сесией у меня все норм так как я уже говорил без этой конкретно проверки все норм регится. Я вот думал что какой нить конкретно покажут косяк который у меня не получается и помогут конкретнее его решить...
PM MAIL ICQ   Вверх
enof
Дата 15.4.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Приведите полностью код, который не работает.
Похоже на php.net вы так и не побывали.
PM MAIL ICQ Skype   Вверх
hripun
Дата 15.4.2009, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



Код

function display_registration_form()/*регистрация пользователей*/
{
?> 
     <form method='post' action='register_new.php'>
           Логин:*<br>(до 16 символов)<br>
        <input type='text' name='username' size=20 maxlength=16><br>
                
           Ник:*<br>(до 16 символов)<br>
        <input type='text' name='usergame' size=20 maxlength=16><br>
           
           Пароль:*<br>(более 6 символов)<br>
        <input type='password' name='passwd' size=20 maxlength=16><br>
                         
           Ещё раз пароль:*<br>
        <input type='password' name='passwd2' size=20 maxlength=16><br>
                                         
           Email:*<br>
        <input type='text' name='email' size=20 maxlength=100><br>
               
        <?php $_SESSION["code"]=rand(1000, 99999);?>
               <p>Код проверки:*<br>
        
      &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;<?php echo $_SESSION["code"];?><br>
      
           <input type="text" name="code"size=16> <br><br>                       
        <input type='submit' value='Регистрация'>
     </form>


<?php
 }  



Добавлено @ 21:15
Код

<?php
   // Включить файлы функций для данного приложения
   require_once('bookmark_fns.php');

  // Создать короткие имена переменных
  $email=$_POST['email'];
  $username=$_POST['username'];
  $passwd=$_POST['passwd'];
  $passwd2=$_POST['passwd2'];
  $code=$_POST['code'];
   
   // Запустить сеанс, который может потребоваться позже.
   // Его следует запустить сейчас, поскольку он должен
   // находиться перед заголовками.
   session_start();
 
   try
   {
     // Проверить, заполнены ли поля формы
     if (!filled_out($_POST))
     {
        throw new Exception('<h4>Вы не заполнили фору регистрации,<br> ' 
                            .'вернитесь и повторите попытку.
                            </h4><h4> <a href="register_form.php"><<Назад</a></h4>' );
    } 

?>     
      
<?php
     // Недопустимый адрес электронной почты
     if (!valid_email($email))
     {
    throw new Exception('<h4>Недопустимый адрес электронной почты.<br> Пожалуйста, '
                     .'вернитесь и повторите попытку.<h4> <a href="register_form.php"><<Назад</a></h4>');

     } 

     // Несовпадающие пароли 
     if ($passwd != $passwd2)
     {
        throw new Exception('<h4>Введенные пароли не совпадают.<br>Пожалуйста, ' 
                  .'вернитесь и повторите попытку.</h4><h4> <a href="register_form.php"><<Назад</a></h4>');
     }

     // Проверить длину пароля.
     if (strlen($passwd) < 1)
     {
        throw new Exception('<h4>Пароль должен иметь не менее 6 символов.<br> ' 
       .'Пожалуйста вернитесь и повторите попытку.</h4><h4> <a href="register_form.php"><<Назад</a></h4>');

     }

     // Проверить длину имени пользователя.
     if (strlen($username) > 16)
     {
        throw new Exception('<h4>Логин должен быть не более 16 символов.<br>' 
       .' Пожалуйста вернитесь  и повторите попытку.</h4><h4> <a href="register_form.php"><<Назад</a></h4>');

     }
     // Проверить подленность цифрового пароля.

       die($_SESSION["code"].'=='.$_POST["code"]);
       {
        throw new Exception('<h4>Неправильно введен код проверки.<br>' 
       .' Пожалуйста вернитесь  и повторите попытку.</h4><h4> <a href="register_form.php"><<Назад</a></h4>');

       }

     // Предпринять попытку регистрации. Эта функция также
     // генерирует исключение.
     register($username,$usergame, $email, $passwd,$vozrast,$description,$pol);

     // Зарегистрировать переменную сеанса 
     $_SESSION['valid_user'] = $username;
     
     // Вывести ссылку на страницу, предназначенную для 
     // зарегистрированных пользователей
     do_html_header('<h4>Вы успешно зарегистрированы!</h4>');
     echo '<h4>Ваша регистрация прошла успешно.<br></h4>';
     do_html_url('login.php', 
                 '<h4>Залогинтесь заного!</h4>');
     // Конец страницы
     do_html_footer(); 
 
   }
      


   catch(Exception $e)
   {
     do_html_header('Ошибка:');
     echo $e->getMessage();
     do_html_footer();
     exit;
   } 
?>
<?php vremya_zagruzki();?>

   вот собственно весь код относящийся к тому что нужно

Это сообщение отредактировал(а) hripun - 15.4.2009, 21:16
PM MAIL ICQ   Вверх
NNaarreekk
Дата 15.4.2009, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Цитата(hripun @  15.4.2009,  23:12 Найти цитируемый пост)
       die($_SESSION["code"].'=='.$_POST["code"]);
       {
        throw new Exception('<h4>Неправильно введен код проверки.<br>' 
       .' Пожалуйста вернитесь  и повторите попытку.</h4><h4> <a href="register_form.php"><<Назад</a></h4>');
       }


hripun, ЖЖОШЬ!!

Ребят поняли что он сделал??)))))))))

Заменил if($_SESSION["code"]==$_POST["code"]) на die($_SESSION["code"].'=='.$_POST["code"]);!!))


enof, ты был прав на php.net он не зашел!

hripun, изменяешь 62-ю строку:
Код

//Было
 die($_SESSION["code"].'=='.$_POST["code"]);
//изменяешь на
 die($_SESSION["code"].'=='.$_POST["code"]);
if($_SESSION["code"]==$_POST["code"])


И потом пишешь здесь на форуме что выводится в странице....должно выводится или что-то типа:
Код

1234==1234

или
Код

1234==2569

PM MAIL WWW   Вверх
enof
Дата 15.4.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Цитата(NNaarreekk @  15.4.2009,  22:37 Найти цитируемый пост)
Ребят поняли что он сделал?

Да я сразу понял, потому что die() было названо проверкой, и после этого почему-то ничего не работало.
Хотел чтобы сам дошел, видимо не нужно это smile 
PM MAIL ICQ Skype   Вверх
hripun
Дата 15.4.2009, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



Заменил все как написали... но вот теперь что пишет 

Parse error: parse error, unexpected T_THROW in T:\home\localhost\www\registr\register_new.php on line 64

ругается на эту строчку-   throw new Exception('<h4>Неправильно введен код проверки.<br>' . ' Пожалуйста вернитесь  и повторите попытку.</h4><h4>



PM MAIL ICQ   Вверх
enof
Дата 15.4.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



Это синтаксическая ошибка, без кода понять, в чем именно косяк, невозможно.
PM MAIL ICQ Skype   Вверх
NNaarreekk
Дата 15.4.2009, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Если честно то я вообще не понимаю что это за throw new Exception!
В РНР есть такая штука или рукописная?
PM MAIL WWW   Вверх
enof
Дата 15.4.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



NNaarreekk,  smile исключительные ситуации.
PM MAIL ICQ Skype   Вверх
hripun
Дата 15.4.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



throw new Exception! я если честно сам слабо догояю что такое((( так написано в книге по PHP там кстати написано то что мне Enof давал в ссылке..
Я уже говорил что только учусь всему .. но  понять из книг без чьей то помощи мне очегь тяжко ,по тому как там сильно заумно написано ..

Написано примерно это ---Ключевое слово throw (от англ. - выбросить) предназначено для того, чтобы передать управление блоку catch.

Для передачи текста ошибки в блок обработки исключения мы использовали класс Exception
PM MAIL ICQ   Вверх
NNaarreekk
Дата 15.4.2009, 22:29 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



hripun, выброси эту книгу на х.... к черту!
Для новичка такие штучки не нужны... Сначала сделай обычным echo, a потом если захочешь чтоб твой код никто не понял перейди на эти throw! smile 

т.e.:
Код

     if (!valid_email($email))
     {
    echo'<h4>Недопустимый адрес электронной почты.<br> Пожалуйста, '
                     .'вернитесь и повторите попытку.<h4> <a href="register_form.php"><<Назад</a></h4>';
     } 
//это к примеру!

PM MAIL WWW   Вверх
enof
Дата 15.4.2009, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: 30
Всего: 35



NNaarreekk, В ваших постах чувствуется высокомерие и это выглядит смешно, особенно фразы типа этой
Цитата(NNaarreekk @  15.4.2009,  23:29 Найти цитируемый пост)
если захочешь чтоб твой код никто не понял перейди на эти throw!

hripun, Что за книга? Купите нормальную. smile 
PM MAIL ICQ Skype   Вверх
hripun
Дата 15.4.2009, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 13.4.2009
Где: Краснадарский кра й

Репутация: нет
Всего: нет



последую совету ) хотя и эта книга не плоха..только не для моих мозгов ведат)) вы мне можете посоветовать хоть что то по данной теме вопроса ? как сделать эту чертовы проверку ????????
PM MAIL ICQ   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0690 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.