2010-07-01 2 views
0

Когда посетители регистрируются на моем сайте, они будут делать это как член-учредитель группы или как человек, присоединяющийся к существующей группе. Никто не «без группы». У меня есть одна страница регистрации со следующими полями: имя, фамилия, (переключатели для выбора типа группы: новое или существующее), имя группы, групповой пароль, адрес электронной почты, пароль, подтверждение. Я особенно заинтересован в использовании переключателей, имени группы и группового пароля.
Конкретная функция, которую я ищу, это: Если выбрано «Создать», AJAX проверяет, существует ли имя группы в базе данных, отображается либо «Хорошо», либо «Уже принято». ТАКЖЕ: при отправке формы пароль сохраняется в базе данных.
Если выбрано «Существующий», AJAX проверяет, существует ли имя группы в db, отображается либо «Совместный», либо «Нерезидентный». ТАКЖЕ: при отправке формы пароль проверяется на базе базы данных.Как я могу управлять переключателем все это?

Основы этого, я думаю, у меня есть ручка, но как получить переключатель, чтобы диктовать так много вне меня. Любая помощь будет оценена по достоинству.

Ниже представлена ​​форма моего файла php. (Кстати, я писал MySQLi для этого проекта.)

<h1>Register</h1> 
<form action="register.php" method="post"> 
    <fieldset> 

    <p><b>First Name:</b> <input type="text" name="first_name" size="20" maxlength="20" value="<?php if (isset($trimmed['first_name'])) echo $trimmed['first_name']; ?>" /></p> 

    <p><b>Last Name:</b> <input type="text" name="last_name" size="20" maxlength="40" value="<?php if (isset($trimmed['last_name'])) echo $trimmed['last_name']; ?>" /></p> 

    <p><b>Are you registering a new group or joining an existing group?</b> <br /> 
    New:<input type="radio" value="new" name="gtype">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
    Existing:<input type="radio" value="existing" name="gtype"> </p> 

    <p><b>Group ID:</b> <input type="text" name="group_id" size="20" maxlength="40" value="<?php if (isset($trimmed['group_id'])) echo $trimmed['group_id']; ?>" /></p> 

    <p><b>Group Password:</b> <input type="password" name="gpass" size="8" maxlength="5" /> 
     <small>Use only numbers. Must be 5 digits long.</small></p> 

    <p><b>Email Address:</b> 
    <input type="text" name="email" size="30" maxlength="80" value="<?php if (isset($trimmed['email'])) echo $trimmed['email']; ?>" onBlur='checkEmail(this)'/><span id='info'></span></p> 

    <p><b>User Password:</b> 
     <input type="password" name="password1" size="8" maxlength="4" /> 
     <small>Use only numbers. Must be 4 digits long.</small></p> 
    <p><b>Confirm Password:</b> <input type="password" name="password2" size="4" maxlength="4" /></p> 
    </fieldset> 

    <div align="center"><input type="submit" name="submit" value="Register" /></div> 
    <input type="hidden" name="submitted" value="TRUE" /> 

</form> 
+0

'If" Existing "is выбранный, AJAX проверяет, существует ли имя группы в db'. Не забудьте повторить эту же проверку при отправке формы или у вас будет отверстие для безопасности. –

ответ

0

Я предлагаю использовать JQuery:

Обнаружить изменение радио-кнопки, как это:

$("input[@name='gtype']").change(

Возьмите содержимое текстового ввода, содержащего имя группы, и отправьте его в скрипт PHP.

$.ajax 
     ({ 
      url: 'Apps/CheckGroupName.php', 
      type: 'POST', 
      data: 'groupName=' + groupName, 

      success: function(result) 
      { 
       // Do whatever you need to do based on the result 
      } 
     }); 

В скрипте PHP проверьте имя группы в базе данных и выполните эхо-результат. В JQuery этот результат будет успешным: функция (результат), где вы можете делать все, что вам нужно (например, предупреждать пользователя или подтверждать, что группа не существует.

+0

Прошу прощения. Что-то ускользает от меня здесь. Я не знаю, как/где я должен использовать этот первый бит кода. Не могли бы вы объяснить? Спасибо. – David

+0

@David: Ах, вы никогда не использовали jQuery, не так ли? У вас есть удовольствие, но вам придется сначала изучите немного, чтобы понять, как это работает. Я рекомендую вам ознакомиться с отличными видеоуроками по адресу http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/. Вам придется инвестировать немного времени, но вы будете рады, если бы вы это сделали. чтобы объяснить код для вас, я должен был бы объяснить, как установить библиотеку, как работать с DOM и почти все, что уже описано в этих уроках. – Sylverdrag

Смежные вопросы