Avatar billede krc_ Nybegynder
30. november 2003 - 10:54 Der er 4 kommentarer

Laver tom record i db

Hej !
Dette er min fil der gemmer det fra indtastningsformen i databasen. Det er lavet sådan at det eneste felt der er 'required' er navn'e-feltet. Når jeg sidder og tester så kan jeg altså ikke få oprettet en record i databasen uden at indtaste navn....men det ligger på en privat side som noget adressebog hvor folk kan skrive sig ind og jeg har nu oplevet 3 gange at der er tomme records i databasen. Nogle der kan gemmenskue hvordan det kan lade sig gøre ? Jeg har prøve alt synes jeg og kan ikke lave en tom record ??


<!-- #include file="EmailValideringServer.asp" -->
<%
'Dimension variables
Dim adoCon          'Holds the Database Connection Object
Dim rsAddComments  'Holds the recordset for the new record to be added
Dim strSQL          'Holds the SQL query to query the database

'Fjerner mellemrum og specille tegn fra felterne.
strNavn             = Trim(Replace(replace(Request.Form("Navn"),"'",""),"<","&lt;"))
'strEmail             = Trim(Replace(replace(Request.Form("Email"),"'",""),"<","&lt;"))
strarbejdspladswww    = Trim(Replace(replace(Request.Form("arbejdspladswww"),"'",""),"<","&lt;"))
strprivatwww        = Trim(Replace(replace(Request.Form("privatwww"),"'",""),"<","&lt;"))

'Validering af at der er indtastet noget i felterne og specielle ting i de forskellige felter

if    len(strNavn) < 1 or strNavn ="" then
    Response.Redirect "indtastrap.asp?msg=" & Server.URLEncode ("Navn skal indtastes!") & "&navn=" & Server.URLEncode(strNavn)


elseif    strPrivatwww <> "" then
    if left(strPrivatwww,7) <> "http://" then
      strPrivatwww = "http://" & strPrivatwww
      'Vi sætter selv http:// foran i stedet for at bede brugeren om at gøre det som nedestående gør.
      'Response.Redirect "indtastrap.asp?msg=" & Server.URLEncode ("Indtast http:// foran hjemmeside.")
    end if

end if

if    strArbejdspladswww <> "" then
    if left(strArbejdspladswww,7) <> "http://" then
      strArbejdspladswww = "http://" & strArbejdspladswww
      'Vi sætter selv http:// foran i stedet for at bede brugeren om at gøre det som nedestående gør.
      'Response.Redirect "indtastrap.asp?msg=" & Server.URLEncode ("Indtast http:// foran hjemmeside.")
    end if
   


end if

'Create an ADO connection object
Set adoCon = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/krcdb.mdb")

'Create an ADO recordset object
Set rsAddComments = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT testtabel.navn, testtabel.emailarbejde, testtabel.emailprivat, testtabel.telefonarbejde, testtabel.telefonmobil, testtabel.telefonprivat, testtabel.arbejdsplads, testtabel.arbejdspladsadresse, testtabel.arbejdspladswww, testtabel.privatadresse, testtabel.privatwww FROM testtabel;"

'Set the cursor type we are using so we can navigate through the recordset
rsAddComments.CursorType = 2

'Set the lock type so that the record is locked by ADO when it is updated
rsAddComments.LockType = 3

'Open the recordset with the SQL query
rsAddComments.Open strSQL, adoCon

'Tell the recordset we are adding a new record to it
rsAddComments.AddNew

'Add a new record to the recordset
rsAddComments.Fields("navn")                  = Request.Form("navn")
rsAddComments.Fields("emailarbejde")         = Request.Form("emailarbejde")
rsAddComments.Fields("emailprivat")          = Request.Form("emailprivat")
rsAddComments.Fields("telefonarbejde")         = Request.Form("telefonarbejde")
rsAddComments.Fields("telefonmobil")        = Request.Form("telefonmobil")
rsAddComments.Fields("telefonprivat")         = Request.Form("telefonprivat")
rsAddComments.Fields("arbejdsplads")          = Request.Form("arbejdsplads")
rsAddComments.Fields("arbejdspladsadresse") = Request.Form("arbejdspladsadresse")
rsAddComments.Fields("arbejdspladswww")        = strArbejdspladswww
rsAddComments.Fields("privatadresse")         = Request.Form("privatadresse")
rsAddComments.Fields("privatwww")            = strPrivatwww

'Write the updated recordset to the database
rsAddComments.Update

'Reset server objects
rsAddComments.Close
Set rsAddComments = Nothing
Set adoCon = Nothing

'Redirect to the guestbook.asp page
Response.Redirect "admin_view.asp"
%>
Avatar billede gurvic Nybegynder
30. november 2003 - 13:42 #1
Så vidt jeg kan se ser det ok ud, fejlen må ligge på indtastrap.asp, altså den side du redirecter til når der ikke er indtastet et navn
Avatar billede krc_ Nybegynder
30. november 2003 - 16:35 #2
Den ser således ud !

<%
'Strings overført fra valideringen i add_report.asp
msg= request.querystring("msg")
navn= request.querystring("navn")
arbejdspladswww= request.querystring("arbejdspladswww")
privatwww= request.querystring("privatwww")

%>

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="fiskestil.css">
</head>

<body bgcolor="#d7dadf">

<div align="center">
  <center>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="350" id="AutoNumber2">
      <tr>
        <td width="100%">
          <p align="center">
            <font face="Verdana" size="1">
                Opret Person <br>
            </font>
          </p>
        </td>
      </tr>
        <tr>
          <td width="100%">
            <hr width="350px">
          </td>
        </tr>
        <tr>
          <td width="100%" align="center">
          <%
          'Her henter vi msg fra add_report hvis der er en fejl i email-adressen
            Response.write "<FONT size=1 face=verdana><b>" & (msg) & "</b></FONT>"
          %>
          </td>
        </tr>
    </table>
  </center>
</div>

<br>

<form method="POST" action="add_report.asp" >

<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Navn
      </td>
      <td width="70%" align="center">
      <input name="navn" value="<%=navn%>" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Email, Arbejde
      </td>
      <td width="70%" align="center">
      <input name="emailarbejde" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Email, Privat
      </td>
      <td width="70%" align="center">
      <input name="emailprivat" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Telefon, Arbejde
      </td>
      <td width="70%" align="center">
      <input name="telefonarbejde" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Telefon, Mobil
      </td>
      <td width="70%" align="center">
      <input name="telefonmobil" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Telefon, Privat
      </td>
      <td width="70%" align="center">
      <input name="telefonprivat" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Arbejdsplads
      </td>
      <td width="70%" align="center">
      <input name="arbejdsplads" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>


<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Adresse, Arbejde
      </td>
      <td width="70%" align="center">
      <input name="arbejdspladsadresse" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>

<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      www.arbejde.dk
      </td>
      <td width="70%" align="center">
      <input name="arbejdspladswww" value="<%=arbejdspladswww%>" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>

<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      Adresse, Privat
      </td>
      <td width="70%" align="center">
      <input name="privatadresse" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>

<br>

<div align="center">
  <center>
  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600px" id="AutoNumber2">
    <tr>
      <td width="30%" align="center">
      <p align="left"><font face="Verdana" size="1">
      www.privat.dk
      </td>
      <td width="70%" align="center">
      <input name="privatwww" value="<%=privatwww%>" size="61" style="border-style: dotted; border-width: 1; background-color: #d7dadf; float:left">
      </td>
    </tr>
  </table>
  </center>   
</div>

 
<br>

<div align="center">
  <center>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="350" id="AutoNumber2">
      <tr>
        <td width="100%">
          <p align="center">
            <font face="Verdana" size="1">
              <strong>
                <input type="Submit" value="Opret" name="Submit" class="Trykknap">
              </strong>
            </font>
          </p>
        </td>
      </tr>
    </table>
  </center>
</div>
</form>

</body>
</html>
Avatar billede gurvic Nybegynder
02. december 2003 - 11:33 #3
hvis du ikke indtaster et navn heri, er der så noget check der? altså i add_report.asp tror jeg det er?
Avatar billede krc_ Nybegynder
02. december 2003 - 11:35 #4
if    len(strNavn) < 1 or strNavn ="" then
    Response.Redirect "indtastrap.asp?msg=" & Server.URLEncode ("Navn skal indtastes!") & "&navn=" & Server.URLEncode(strNavn)

******
i add_report
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester