webForumDet fria alternativet

QueryString problem

11 svar · 249 visningar · startad av Mekano

MekanoMedlem sedan dec. 200061 inlägg
#1

Hej!

Jag håller på att tappa bort det lilla förstånd jag har kvar.

Jag har problem med en QueryString, problemet är att jag tappar bort en del av värdet när jag skickar det till en annan sida.
Resultatet av Query är:

tip=http://webbadress/sida.asp?Sort=det

Skall vara:

tip=http://webbadress/sida.asp?Sort=det&PID=1

Och så ser det ut i webbläsarfönstret.

Skickar med lite kod och hoppas någon orkar kolla lite på den.

Sidan med länk som skickar värdet:

<% Dim link
link = "http://" & request.servervariables("server_name") & request.servervariables("SCRIPT_NAME") & request.servervariables("QUERY_STRING")
%>

Länken:

incs/tip_anno3.asp?tip=<% Response.Write link %>

Sidan med formuläret för skicka till en vän:

<% Response.Buffer=True %>
<%
Dim Skickatill1, Skickatill2, Skickatfran1, Skickatfran2, sent, link, Url
Skickatill1 = request.form("vnamn")
Skickatill2 = request.form("vpost")
Skickatfran1 = request.form("dnamn")
Skickatfran2 = request.form("dpost")
'Url = request.form("url")
sent = Request.QueryString("sent")
link = Request.QueryString("tip")
%>
<html>
<head>
<title>Tipsa en vän</title>
<script language="JavaScript">
<!--
// Resize Fix
if (document.layers) {
 widthCheck = window.innerWidth
 heightCheck = window.innerHeight
 window.onResize = resizeFix
}

function resizeFix() {
 if (widthCheck != window.innerWidth &#0124;&#0124; heightCheck != window.innerHeight)
 document.location.href = document.location.href
}

//-->
</script>
<style type="text/css">
<!--
a {  text-decoration: none}
select,input,type,textarea
{
font-size: 10px;
font-family: Verdana,Arial;
color: #000000;
background: #F7F7F7;
} 
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginheight="O" marginwidth="0">
<% If sent = "" Then %>
<!-- Formulär start-->
<% Response.write link %>
<form method="post" action="tip_anno3.asp?sent=1">
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Vännens namn:</font><br>
<input type="text" name="vnamn" size="30">
<br>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Vännens e-post:</font><br>
<input type="text" name="vpost" size="30">
<br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">Ditt Namn</font><br>
<input type="text" name="dnamn" size="30">
<br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1">Din e-post</font><br>
<input type="text" name="dpost" size="30">
<br>
</td>
</tr>
<tr valign="top"> 
<td>
<input type="submit" name="Submit" value="Skicka formuläret >>">
</td>
</tr>
</table>
</form>
<!-- Formulär slut-->
<% End If %>

<% If sent = "1" Then %>
<!-- Skickat start-->
<% 
MessageBody = "Från din vän: " & Skickatfran1 & vbcrlf + vbcrlf
MessageBody = MessageBody + "Vännens epost: " & Skickatfran2 & vbcrlf + vbcrlf
MessageBody = MessageBody + "Tyckte att du: " & Skickatill1 & vbcrlf + vbcrlf
MessageBody = MessageBody + "Med e-post: " & Skickatill2 & vbcrlf + vbcrlf
MessageBody = MessageBody + "Kolla denna adress: " & link & vbcrlf + vbcrlf

Dim nyMail
Set nyMail = Server.CreateObject("CDONTS.NewMail")
nyMail.To = request.form("vpost")
nyMail.Importance = 2
nyMail.From = "info@info.nu"
nyMail.Subject = "Kolla detta!"
nyMail.Body = "En annons som kanske skulle intressera dig!" & vbcrlf + vbcrlf + MessageBody
nyMail.Send
Set nyMail = Nothing
%>
<table width="400" border="0" cellspacing="0" cellpadding="0">
 <tr valign="top">
 <td colspan="2"><font face="Verdana, Arial, Helvetica" size="2" color="#000000"><b>Nedanstående information har skickats:<br><br></b></font></td>
 </tr>
 <tr valign="top"> 
 <td width="100"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><b>Till:</b></font></td>
 <td width="300" align="left"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><% Response.Write Skickatill1 %></font></td>
 </tr>
 <tr valign="top"> 
 <td width="100"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><b>E-post:</b></font></td>
 <td width="300" align="left"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><% Response.Write Skickatill2 %></font></td>
 </tr>
 <tr valign="top"> 
 <td width="100"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><b>Från:</b></font></td>
 <td width="300" ><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><% Response.Write Skickatfran1 %></font></td>
 </tr>
 <tr valign="top"> 
 <td width="100"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><b>E-post:</b></font></td>
 <td width="300" ><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><% Response.Write Skickatfran2 %></font></td>
 </tr>
 <tr valign="top"> 
 <td width="100"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><b>URL:</b></font></td>
 <td width="300" ><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><% Response.Write Url %></font></td>
 </tr>
 <tr valign="top">
 <td colspan="2"><br><font face="Verdana, Arial, Helvetica" size="2" color="#000000"><b>Detta var ju kul.</b><br>
 Med vänliga hälsningar<br>
 hellopop<br><br>
 <a href="backa">TILLBAKA</a></font></td>
 </tr>
 </table>
<!-- Skickat slut-->
<% End If %>

</body>
</html>

[Redigerat av Mekano den 30 jan 2002]

MekanoMedlem sedan dec. 200061 inlägg
#2

Ingen som har lust att kolla ?

------------------
/Mekano

solbulleMedlem sedan mars 20015 287 inlägg
#3

Var spar/skickar du egentligen adressen?
(I formuläret?)

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

@ndersMedlem sedan juni 200032 969 inlägg
#4

Problemet är ju att när du använder request för att plocka in url:en igen, så bryter den ju på &, eftersom det är en annan querystringvariabel.

Därför:

Byt följande rad:

link = Request.QueryString("tip")

Mot:

strQ = Request.QueryString
link = right(strQ,len(strQ)-instr(strQ, "tip=")-3)

Dvs, om jag fattat problemet rätt. :)

Mvh,

[Redigerat av @nders den 30 jan 2002]

MekanoMedlem sedan dec. 200061 inlägg
#5

Jo du fattar nog det mesta.

Det löste problemet med att inte få med hela url:en, men det dök upp ett annat:

Den skickar inte värdet med mailet och inte heller i den summering man får när det är skickat.

MessageBody = MessageBody + "Kolla denna adress: " & link & vbcrlf + vbcrlf

och

<tr valign="top"> 
<td width="100"><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><b>URL:</b></font></td>
<td width="300" ><font face="Verdana, Arial, Helvetica" size="1" color="#000000"><% Response.Write link %></font></td>
</tr>

------------------
/Mekano

[Redigerat av Mekano den 30 jan 2002]

@ndersMedlem sedan juni 200032 969 inlägg
#6

Nu vet jag inte om det har med det att göra, men i VB-Script används & för att konkatenera strängar, inte + som du använt.

Börja med att byta ut + på alla dessa ställen till &, så får vi se om något klarnar. :)

Mvh,

MekanoMedlem sedan dec. 200061 inlägg
#7

Det har funkat i andra mailscript så det låg kvar ( + ):en alltså.
Tog bort dem nu!

När jag skickar nu så får jag ett värde med mailet:
Kolla denna adress: t=1

alltid något men inte så användbart ;)

------------------
/Mekano

[Redigerat av Mekano den 30 jan 2002]

MekanoMedlem sedan dec. 200061 inlägg
#8

Om jag skriver ut link på sidan med Response.Write så ser den ju helt okey ut

------------------
/Mekano

solbulleMedlem sedan mars 20015 287 inlägg
#9

I ditt mail skickar du ju den nya querystringen: tip_anno3.asp?sent=1 som även blivit manglad i @nders funktion.
Du kan väl skicka adressen i ett hiddenfält el dyl i formuläret.

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

MekanoMedlem sedan dec. 200061 inlägg
#10

Kul!
Stoppade in värdet på link i ett hidden fält, och vips med trixande
så fixade det sig. Får nu med allt jag vill i mailet och i den summering man får när man skickat.

Funkar kanon (än så länge)!
Tack för tipsen, ni är bra snygga ni.

------------------
/Mekano

@ndersMedlem sedan juni 200032 969 inlägg
#11

Det har funkat i andra mailscript så det låg kvar ( + ):en alltså.

Jo, det fungerar, så länge du bara försöker lägga ihop strängar. Skulle däremot någon av dina variabler vara ett tal, så skulle det blir fel.

Jämför:

var1 = 10
var2 = " ostar"
Response.write var1 + var2

Med:

var1 = 10
var2 = " ostar"
Response.write var1 & var2

Mvh,

MekanoMedlem sedan dec. 200061 inlägg
#12

Då har man lärt sig något igen.

Tackar för det!

------------------
/Mekano

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)