Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Проблемы со страницей регистрации нового пользоват 
:(
    Опции темы
neutrino
Дата 31.7.2004, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

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



Приветствую!

Задача такая: есть форма регистрации нового пользователя и нужно проверить есть ли уже такой в базе данных. Если есть, заполнить все поля предыдущими значениями и вывести соответствующее сообщение. Если нет, добавить нового пользователя в базу данных.

Для этих целей я написал следующий скрипт (register.asp):
Код

<%

Dim error
error = false

%>
<html>
<head>
 <title>New user registration</title>
 <link rel="stylesheet" type="text/css" href="forms/forms.css">
 <script language="jscript">
  function CheckForm()
  {
   if ((adm.LoginName.value == "") || (adm.DisplayName.value == "") || (adm.Password.value == ""))
   {
    alert("Error! You probably not specified login name,  password or display name.")
   }
   else
   {
    adm.submit();
   }
  }
 
  function FillForm()
  {
<%
' Не знаю правильно ли это, но тут я пытался проверить был ли уже сабмит, или нет. Может так нельзя?
if request.Form.Count > 0 then
' Если сабмит был, то тут я проверяю есть ли такой в базе данных:
loginname = server.HtmlEncode(request.form("LoginName"))

Set Conn = Server.CreateObject("ADODB.Connection")

With Conn
 .Provider = "Microsoft.Jet.OLEDB.4.0"
 .ConnectionString = "Data Source=" & Server.MapPath ("data.mdb")
 .Open()
End With

Set Rs = Server.CreateObject("ADODB.Recordset")

Rs.Open "SELECT * FROM Users WHERE (usrName = """ & loginname & """)", Conn, 1, 3

UserExists = (Rs.RecordCount = 1)

Rs.Close


if UserExists then
 error = true
' Если такой есть, то в этой функции ява скрипта я заполняю поля предыдущими значениями, я не поставил эту функцию на onload в <body>, но в принципе она должна работать. По крайней мере ошибка не тут.
 response.write "    adm.LoginName.value = """ & server.HTMLEncode(request.Form("LoginName")) & """;" & vbNewLine
 response.write "    adm.Password.value = """ & server.HTMLEncode(request.Form("Password")) & """;" & vbNewLine
 response.write "    adm.DisplayName.value = """ & server.HTMLEncode(request.Form("DisplayName")) & """;" & vbNewLine
 response.write "    adm.BirthDate.value = """ & server.HTMLEncode(request.Form("BirthDate")) & """;" & vbNewLine
 response.write "    adm.Country.value = """ & server.HTMLEncode(request.Form("Country")) & """;" & vbNewLine
 response.write "    adm.StreetAddress.value = """ & server.HTMLEncode(request.Form("StreetAddress")) & """;" & vbNewLine
 response.write "    adm.email.value = """ & server.HTMLEncode(request.Form("email")) & """;" & vbNewLine
 response.write "    adm.TelNumber.value = """ & server.HTMLEncode(request.Form("TelNumber")) & """;" & vbNewLine
 response.write "    adm.FaxNumber.value = """ & server.HTMLEncode(request.Form("FaxNumber")) & """;" & vbNewLine
else ' Иначе все нормально и можно добавлять нового пользователя.
 DisplayName = server.HTMLEncode(request.Form("DisplayName"))
 Password = server.HtmlEncode(request.form("Password"))
 BirthDate = server.HtmlEncode(request.form("BirthDate"))
 Country = server.HtmlEncode(request.form("Country"))
 StreetAddress = server.HtmlEncode(request.form("StreetAddress"))
 email = server.HtmlEncode(request.form("email"))
 TelNumber = server.HtmlEncode(request.form("TelNumber"))
 FaxNumber = server.HtmlEncode(request.form("FaxNumber"))

 Rs.Open "SELECT * FROM Users WHERE 1=2", Conn, 1, 3
 Rs.AddNew
 Rs("usrName") = username
 Rs("usrDisplayName") = DisplayName
 Rs("usrPassword") = Password
 Rs("usrBirthdate") = BirthDate
 Rs("usrCountry") = Country
 Rs("usrStreetAddress") = StreetAddress
 Rs("usrEmail) = email
 Rs("usrTelephoneNumber") = TelNumber
 Rs("usrFaxNumber) = FaxNumber
 Rs.Update
 Rs.Close
' Переходим в логин
 response.Redirect("login.asp")
end if
else
response.write "    return 0;"
end if

%>
  }
 </script>
</head>
<body bottomMargin="0" bgColor="white" leftMargin="0" topMargin="0" rightMargin="0" marginwidth="0" marginheight="0">
 <form name="adm" id="adm" method="post" action="adduser.asp">
  <table cellSpacing="1" cellPadding="3" width="100%" border="0" ID="Table1">
   <tr>
    <td class="header1">New user registration</td>
   </tr>
   <tr>
    <td class="header2">Common information:</td>
   </tr>
   <tr>
    <td class="intd">
<%
' Пишем сообщение, что такой уже есть.
if error then
' Пишем сообщение, что такой уже есть.
response.Write "<font color=""red""><b>Login name you entered is already exists in database. Please choose another one.</b></font>"
end if

%>
     <p>
      <table border="0" cellpadding="0" cellspacing="0" width="100%" ID="Table2">
       <tr>
        <td height="30pt" width="23%" align="right"><b>Login name:<font color="red">*</font></b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="LoginName" type="text" value="" ID="LoginName"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>Password:<font color="red">*</font></b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="Password" type="text" value="" ID="Password"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>Display name (actual name)<font color="red">*</font></b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="DisplayName" type="text" value="" ID="DisplayName"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>Birth date:</b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="BirthDate" type="text" value="" ID="BirthDate"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>Country:</b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="Country" type="text" value="" ID="Country"></td>
       </tr>
      </table>
     </p>
    </td>
   </tr>
   <tr>
    <td class="header2">Contact information:</td>
   </tr>
   <tr>
    <td class="intd">
     <p>
      <table border="0" cellpadding="0" cellspacing="0" width="100%" ID="Table3">
       <tr>
        <td height="30pt" width="23%" align="right"><b>Street address:</b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="StreetAddress" type="text" value="" ID="StreetAddress"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>email:</b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="email" type="text" value="" ID="email"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>Telephone number:</b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="TelNumber" type="text" value="" ID="TelNumber"></td>
       </tr>
       <tr>
        <td height="30pt" width="23%" align="right"><b>Fax number:</b></td>
        <td width="77%">&nbsp;&nbsp;&nbsp;<input name="FaxNumber" type="text" value="" ID="FaxNumber"></td>
       </tr>
      </table>
     </p>
    </td>
   </tr>
  </table>
  <p>&nbsp;</p>
  <P>Please fill the form (fields marked with (<font color="red">*</font>) are
   required)</P>
  <input type="button" value="Register" name="RegButton" ID="Submit1" onclick="CheckForm();">
 </form>
</body>
</html>

Но, похоже где-то я напортачил, т.к. страница не грузится и вылезает:
Цитата

The page cannot be displayed
There is a problem with the page you are trying to reach and it cannot be displayed.

--------------------------------------------------------------------------------

Please try the following:

Open the brd92.ort.org.il home page, and then look for links to the information you want.
Click the  Refresh button, or try again later.

Click  Search to look for information on the Internet.
You can also see a list of related sites.




HTTP 500 - Internal server error
Internet Explorer 

Я новенький в этом деле, помогите, кто-хотите. smile.gif
Спасибо.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
neutrino
Дата 3.8.2004, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

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



Ошибок было куча. Не имеет смысла продолжать тему.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ASP | Следующая тема »


 




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


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

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