Avatar billede djsteiner Nybegynder
03. november 2008 - 16:14 Der er 21 kommentarer og
1 løsning

asp webshop

Hej jeg opretter lige dette spørgsmål igen, da jeg ikke helt fik løst det sidst. jeg har den her stump kode som jeg gerne vil have hjælp til.

Det der gerne skulle ske var, når brugeren indtaster deres telefon nr eller e-mail så skuller ders brugeroplysninger gerne komme frem i den nederste formular.

På forhånd tak for hjælpen.

Her er koden:


<!-- #include file="include/dbconnect.asp" -->
Kunde-Info  <br  /><br  />
Har du handlet før?<br />
Indtast dit Telfon/Mobilnummer og tryk 'Hent oplysninger' <br  /><br  />


<table width="328" border="0" cellspacing="0" cellpadding="0">
  <form name="form1" method="post" action="kundeinfo.asp"><tr>
    <td width="132">Telfon/Mobilnummer.:</td>
    <td width="300">
        <input type="text" name="kunde_opl"><br />
        <input type="submit" name="soeg" value="Hent oplysninger"> </td>
  </tr></form>
</table>
<%
if request("soeg") <> "" then
strSoeg = request("soeg")
strSoeg = replace(strSoeg,"'","")
strSQL = "select * from kundeinfo where k_tele = '"&strSoeg&"' or k_email = '"&strSoeg&"'"
set rs = conn.execute(strSQL)
if not rs.eof then
kunde_navn = rs("k_navn")
kunde_adresse = rs("k_adresse")
kunde_tlf = rs("k_tele")
kunde_email = rs("k_email")
retur_skriv = ""
else
retur_skriv = "Der er ingen oplysninger på det indtastede"
end if
end if
%>
<form name="form1" method="post" action="til næste side">
<table width="333" height="166" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
<tr>
    <td>Navn:</td>
    <td> <input type="text" name="kunde_navn" value="<%=kunde_navn%>"></td>
  </tr>
  <tr>
    <td>Adresse</td>
    <td> <input type="text" name="kunde_adresse" value="<%=kunde_adresse%>"></td>
  </tr>
  <tr>
    <td>Tlf.nr.:</td>
    <td> <input type="text" name="kunde_tlf" value="<%=kunde_tlf%>"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td> <input type="text" name="kunde_email" value="<%=kunde_email%>"></td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td>osv</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td align="right">og så videre til næste side -></td>
  </tr>
</table>
</form>
Avatar billede michael_stim Ekspert
03. november 2008 - 16:19 #1
strSoeg = request("soeg")
Skal det ikke være:
strSoeg = request("kunde_opl")
Avatar billede mitbrugernavn Praktikant
03. november 2008 - 16:22 #2
efter dette

if request("soeg") <> "" then
strSoeg = request("soeg")
strSoeg = replace(strSoeg,"'","")
strSQL = "select * from kundeinfo where k_tele = '"&strSoeg&"'"
set rs = conn.execute(strSQL)
if not rs.eof then
kunde_navn = rs("k_navn")
kunde_adresse = rs("k_adresse")
kunde_tlf = rs("k_tele")
kunde_email = rs("k_email")
retur_skriv = ""
else
retur_skriv = "Der er ingen oplysninger på det indtastede"
end if
end if

prøv lige at udskriv

response.write return_skriv

og så behøver du ikke at søge i email- da det jo er tlf. du beder folk skrive.
Avatar billede mitbrugernavn Praktikant
03. november 2008 - 16:22 #3
og så var det ikke response.write return_skriv - men

response.write retur_skriv
Avatar billede Slettet bruger
03. november 2008 - 16:33 #4
Her er der ændret de steder, hvor en linje er markeret med to stjerner **:


<table width="328" border="0" cellspacing="0" cellpadding="0">
**  <form name="form1" method="post" action="[samme side]"><tr>
    <td width="132">Telfon/Mobilnummer.:</td>
    <td width="300">
        <input type="text" name="kunde_opl"><br />
        <input type="submit" name="soeg" value="Hent oplysninger"> </td>
  </tr></form>
</table>
<%
** if Request.Form("kunde_opl") <> "" then
** strSoeg = request.Form("kunde_opl")
strSoeg = replace(strSoeg,"'","")
strSQL = "select * from kundeinfo where k_tele = '"&strSoeg&"' or k_email = '"&strSoeg&"'"
set rs = conn.execute(strSQL)
if not rs.eof then
kunde_navn = rs("k_navn")
kunde_adresse = rs("k_adresse")
kunde_tlf = rs("k_tele")
kunde_email = rs("k_email")
** [en linje er fjernet]
else
** Response.Write "Der er ingen oplysninger på det indtastede"
end if
end if
%>
**<form name="form1" method="post" action="[næste side]">
<table width="333" height="166" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
<tr>
    <td>Navn:</td>
    <td> <input type="text" name="kunde_navn" value="<%=kunde_navn%>"></td>
  </tr>
  <tr>
    <td>Adresse</td>
    <td> <input type="text" name="kunde_adresse" value="<%=kunde_adresse%>"></td>
  </tr>
  <tr>
    <td>Tlf.nr.:</td>
    <td> <input type="text" name="kunde_tlf" value="<%=kunde_tlf%>"></td>
  </tr>
  <tr>
    <td>Email:</td>
    <td> <input type="text" name="kunde_email" value="<%=kunde_email%>"></td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td>osv</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
**    <td align="right">[Link til næste side, eller hvad?]</td>
  </tr>
</table>
</form>

Jeg har bare kopieret din kode ovenfor og ændret lidt her og der.

  // Steeven
Avatar billede Slettet bruger
03. november 2008 - 16:41 #5
Jeg var ikke sikker på, om du egentlig mente, at du ville have et link til næste side nederst (dér hvor den sidste linje er markeret med **).

Hvis du ønsker det, så er tekstfelterne vel kun til for at indeholde dataene? - ikke til at redigere og sende videre til en ny side.
I så fald kan du ligeså godt fjerne method- og action-atributterne fra <form>-tagget. Og desuden behøver du så slet ikke at bruge input-felter, til at vise dataene, men du kunne derimod skrive dem på listeform i teksten i en tabel eller lignende.

  // Steeven
Avatar billede mitbrugernavn Praktikant
03. november 2008 - 16:46 #6
ups - ja det er selvfølgelig
request("kunde_opl")
så du skal rettet denne linie
strSoeg = request("soeg") til
strSoeg = request("kunde_opl")
Avatar billede w13 Novice
03. november 2008 - 16:50 #7
- men det er meget bedre at bruge Request.Querystring("soeg") eller Request.Form("soeg") frem for bare Request("soeg").
Avatar billede mitbrugernavn Praktikant
03. november 2008 - 17:03 #8
Request.Querystring("soeg") bruger du på et link a href og request.form bruger du på en submit - form - men for begge kan du sagtens bruge request
Avatar billede w13 Novice
03. november 2008 - 17:08 #9
Ja, man kan fint, men det performer meget dårligere.

Med Request("noget") skal alle fire følgende collections søges igennem efter "noget":

QueryString
Form
Cookies
ServerVariables

i den rækkefølge.

Man rådes - bl.a. af den grund - til altid at angive Querystring eller Form.

Derudover bliver det også meget sværere for koderen at gennemskue, hvor de forskellige variabler stammer fra, hvis der kun står Request.
Avatar billede w13 Novice
03. november 2008 - 17:09 #10
Querystring har nu ikke nødvendigvis noget med a href at gøre, men henter blot en variable fra den pågældende sides URL, og Form henter - som du er inde på - fra en submittet form på forrige side.
Avatar billede djsteiner Nybegynder
03. november 2008 - 17:12 #11
mange tak alle sammeN nu virker det som det skaL, men hvordan giver jeg nu point
Avatar billede w13 Novice
03. november 2008 - 17:13 #12
Dem, som du synes har hjulpet dig med at få løst dit problem, skal du bede om at lægge nogle svar, som du derefter kan acceptere i bunden af denne side.
Avatar billede mitbrugernavn Praktikant
03. november 2008 - 17:16 #13
super - ingen point til mig jeg har fået - jeg beklager fejlen med soeg i stedet for kunde_opl uf uf. god aften.
Avatar billede djsteiner Nybegynder
03. november 2008 - 17:21 #14
Det virker faktist ikke helt endnu når man skriver et forkert email eller telefon nr så kommer der ikke nogen fejlmedelse frem.

skulle der komme denne fejlmedelse frem når koden ser sådan her ud:

else
retur_skriv = "Der er ingen oplysninger på det indtastede"
end if
Avatar billede mitbrugernavn Praktikant
03. november 2008 - 17:25 #15
if request("soeg") <> "" then
strSoeg = request("kunde_opl")
strSoeg = replace(strSoeg,"'","")
strSQL = "select * from kundeinfo where k_tele = '"&strSoeg&"'"
set rs = conn.execute(strSQL)
if not rs.eof then
kunde_navn = rs("k_navn")
kunde_adresse = rs("k_adresse")
kunde_tlf = rs("k_tele")
kunde_email = rs("k_email")
else
response.write "Der er ingen oplysninger på det indtastede"
' eller fang den i en variabel og brug den der hvor du ønsker
retur_skriv = "Der er ingen oplysninger på det indtastede"
end if
end if
Avatar billede djsteiner Nybegynder
03. november 2008 - 17:50 #16
ja super nu virker det helt som det skal  takker igen.

Men kan man ikke give point til flere på en gang?
Avatar billede w13 Novice
03. november 2008 - 17:51 #17
Jo, når flere har svaret, kan du markere flere på samme tid i boksen her nederst på siden. Eller vælge "Avanceret pointfordeling".
Avatar billede djsteiner Nybegynder
03. november 2008 - 17:59 #18
okay så alle skal lave et
svar og så giver jeg dem point
Avatar billede w13 Novice
03. november 2008 - 18:00 #19
Ikke til mig. =)
Avatar billede djsteiner Nybegynder
03. november 2008 - 18:09 #20
så du skal de andre bare svare?
Avatar billede Slettet bruger
03. november 2008 - 21:42 #21
Et svar fra mig.

  // Steeven
Avatar billede Slettet bruger
24. november 2008 - 18:29 #22
Tak for point

  // Steeven
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