Hej, Ett långskott, men testa att sätt variablen i session till nåt "konstigt" för att se om det funkar Nånting är märkligt. Jobbade direkt mot webservern. Provade lokalt och då fungerar det. Det är inte så att sidan som sätter sessionen och sidan som ska läsa den råkar ligger på olika domäner? Då fungerar det inte. Ha ett mycket smartare förslag. Lägg koden i Index.asp: Vid närmare efterforskningar så visar det sig att två domäner delar på samma konto, kanske har med saken att göra?Skriver inte ut session("meddelande")
River mitt hår!
En sida med formulär (index.asp), en annan som skriver ner formuläret till en accessdab samt lite kontroller (regga_execute.asp).
På index.asp finns den här koden:
<code>
<%
If Session("meddelande") <> "" Then
Response.Write Session("meddelande")
Session("meddelande") = ""
End If
%>
</code>
regga_execute.asp ser ut så här:
<code>
<% Option Explicit%>
<%
Dim strCon, strPath, RS, strSQL, strMeddelande
strMeddelande = Session("meddelande")
if Request.Form("fornamn") = "" or _
Request.Form("efternamn") = "" or _
Request.Form("mail") = "" or _
Request.Form("adress") = "" or _
Request.Form("postnr") = "" or _
Request.Form("ort") = "" or _
Request.Form("mobil") = "" then
Session("meddelande") = "Ett eller flera fält är tomma, försök igen"
'Response.write strMeddelande
Response.redirect "index.asp"
%>
<%
else
Set strCon = Server.CreateObject("ADODB.Connection")
strPath = Server.MapPath("db/we.mdb")
strCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
Set RS=Server.CreateObject("ADODB.Recordset")
strSQL="Select mail from tbl_members "
RS.Open strSQL, strCon, 1, 2
Do until RS.EOF
IF RS("mail") = Request.Form("mail") then
Session("meddelande") = "Den angivna mailadressen finns redan"
'Response.write strMeddelande
Response.redirect "index.asp"
end if
RS.MoveNext
loop
RS.Close
strSQL = "Select * from tbl_members WHERE 1=2"
RS.Open strSQL, strCon, 1, 2
RS.AddNew
RS("fornamn") = Request.Form("fornamn")
RS("efternamn") = Request.Form("efternamn")
RS("mail") = Request.Form("mail")
RS("adress") = Request.Form("adress")
RS("postnr") = Request.Form("postnr")
RS("ort") = Request.Form("ort")
RS("mobil") = Request.Form("mobil")
RS.UpDate
RS.Close
strCon.Close
set RS= Nothing
set strCon= Nothing
Session("meddelande") = "Uppgifterna sparade"
'Response.write strMeddelande
Response.redirect "index.asp"
end if
%>
</code>
Session("meddelande") skrivs inte ut på indexsidan. Om jag däremot på regga_execute.asp byter response.redirect"index.asp" mot response.write så fungerar det. Men det är ju liksom fel sida...Sv: Skriver inte ut session("meddelande")
<code>
<%
If Session("meddelande") <> "xyz" Then
Response.Write Session("meddelande")
Session("meddelande") = "xyz"
End If
%>
</code>
eller
<code>
<%
If Len(Session("meddelande")) Then
Response.Write Session("meddelande")
Session("meddelande") = ""
End If
%>
</code>Sv: Skriver inte ut session("meddelande")
Sv: Skriver inte ut session("meddelande")
/RickardSv: Skriver inte ut session("meddelande")
<code>
Övrig kod på sida...
<%
Dim strMessage
Dim Con, RS, strSQL
Const adOpenKeyset = 1
Const adLockOptimistic = 3
If Request.Form("Action") = "Skicka" Then
If Request.Form("fornamn") = "" Then strMessage = strMessage & "Förnamn saknas<br>" & vbCrLf
If Request.Form("efternamn") = "" Then strMessage = strMessage & "Efternamn saknas<br>" & vbCrLf
If Request.Form("mail") = "" Then strMessage = strMessage & "Mail saknas<br>" & vbCrLf
If Request.Form("adress") = "" Then strMessage = strMessage & "Adress saknas<br>" & vbCrLf
If Request.Form("postnr") = "" Then strMessage = strMessage & "Postnr saknas<br>" & vbCrLf
If Request.Form("ort") = "" Then strMessage = strMessage & "Ort saknas<br>" & vbCrLf
If Request.Form("mobil") = "" Then strMessage = strMessage & "Mobil saknas<br>" & vbCrLf
If Len(strMessage) = 0 Then
strPath = Server.MapPath("db/we.mdb")
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
strSQL="SELECT mail" & vbCrLf _
"FROM tbl_members" & vbCrLf _
"WHERE mail = '" & Replace(Request.Form("mail"), "'", "''") & "'"
Set RS=Server.CreateObject("ADODB.Recordset")
RS.Open strSQL, strCon, adOpenKeyset, adLockOptimistic
If RS.EOF
RS.AddNew
RS("fornamn") = Request.Form("fornamn")
RS("efternamn") = Request.Form("efternamn")
RS("mail") = Request.Form("mail")
RS("adress") = Request.Form("adress")
RS("postnr") = Request.Form("postnr")
RS("ort") = Request.Form("ort")
RS("mobil") = Request.Form("mobil")
RS.Update
Blank = True
Else
Response.Write "Den angivna mailadressen finns redan"
End if
RS.Close
Set RS = Nothing
Con.Close
Set Con = Nothing
End If
Else
Blank = True
End If
If Blank Then
%>
<FORM method=POST>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD>Förnamn:</TD>
<TD><INPUT name=fornamn></TD>
</TR>
<TR>
<TD>Efternamn:</TD>
<TD><INPUT name=efternamn></TD>
</TR>
<TR>
<TD>Mail:</TD>
<TD><INPUT name=mail></TD>
</TR>
<TR>
<TD>Adress:</TD>
<TD><INPUT name=adress></TD>
</TR>
<TR>
<TD>Postnr:</TD>
<TD><INPUT name=postnr></TD>
</TR>
<TR>
<TD>Ort:</TD>
<TD><INPUT name=ort></TD>
</TR>
<TR>
<TD>Mobil:</TD>
<TD><INPUT name=mobil></TD>
</TR>
<TR>
<TD align=right colspan=2><INPUT type=submit value=Skicka name=Action></TD>
</TR>
</TABLE>
</FORM>
Else
Response.Write strMessage
%>
<FORM method=POST>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD>Förnamn:</TD>
<TD><INPUT name=fornamn value="<%=Request.Form("fornamn")%>"></TD>
</TR>
<TR>
<TD>Efternamn:</TD>
<TD><INPUT name=efternamn value="<%=Request.Form("efternamn")%>"></TD>
</TR>
<TR>
<TD>Mail:</TD>
<TD><INPUT name=mail value="<%=Request.Form("mail")%>"></TD>
</TR>
<TR>
<TD>Adress:</TD>
<TD><INPUT name=adress value="<%=Request.Form("adress")%>"></TD>
</TR>
<TR>
<TD>Postnr:</TD>
<TD><INPUT name=postnr value="<%=Request.Form("postnr")%>"></TD>
</TR>
<TR>
<TD>Ort:</TD>
<TD><INPUT name=ort value="<%=Request.Form("ort")%>"></TD>
</TR>
<TR>
<TD>Mobil:</TD>
<TD><INPUT name=mobil value="<%=Request.Form("mobil")%>"></TD>
</TR>
<TR>
<TD align=right colspan=2><INPUT type=submit value=Skicka name=Action></TD>
</TR>
</TABLE>
</FORM>
<%
End If
%>
</code> Sv: Skriver inte ut session("meddelande")
Jag ska prova enligt Andreas förslag. Tack!