Uhm.. är inte riktigt med dig där ... kan du förklara lite mer ingående vad du vill göra?
MvH
Linus
7 svar · 254 visningar · startad av markuz
Hej!
Kan man anävnda Response.Write om man skall skicka information från ett formulär till en nyhetsscript?
Jag vill alltså att när man skriver te.x. Rubrik och meddelande så blir det automatiskt en text.
Uhm.. är inte riktigt med dig där ... kan du förklara lite mer ingående vad du vill göra?
MvH
Linus
Jag vill att man skall kunna skicka texter som sedan hamnar som nyheter på sidan. Allt detta med ett nyhetsscipt. Men vad skall jag använda för Response sak?? Det är inga bilder utan bara texter genom förmulär. Kanske Response.Write eller Response.Form????
hm, du får ju hämta ut det ur formuläret med Response.Form, men sen antar jag att du vill lagra det i en databas också ?
'Response.form' finns inte, då 'form' inte är en metod som tillhör response-objektet.
Däremot kan du ju använda response.write för att skriva ut request.form("forumlar_namn") ..
För att kunna skapa ett sådant script/lösning måste du spara ner nyheterna i en databas/textfil för att kunna spara dem tills nästa besökare kommer. Annars kommer de försvinna nästa gång sidan laddas om..
Vet du hur man kommunicerar med en databas?
Det känns som om du hoppar över ett steg... Om jag inte är helt fel ute, måste texten som användaren skriver först sparas i någon form. T ex i en fil, eller i en databas. Sedan kan ditt s k nyhetsskript hämta sina texter ur filen eller databasen...
oj, jag menade såklart Request.Form
Skapa en databas med följande kolumner i en tabell som heter articles:
title - Text
body - PM
author- Text
date - datum
log - Räknare
___________________________________________
Och med denna kod så har du vips ett bra nyhetsscript!
<%
on error resume next
'Variables assigned on start of document
'all leading and trailing blanks are removed
'and any single quotes are changed to '
u_action=request.querystring("u_action")
u_title=replace(trim(request.form("u_title")),"'","'")
u_body=replace(trim(request.form("u_body")),"'","'")
u_author=replace(trim(request.form("u_author")),"'","'")
u_log=request.querystring("u_log")
script_name=request.servervariables("script_name")
%>
<%
'Check to see if the user is adding an article
'if so, then display the input form
if u_action <> "add" then
'if the user is not looking for the input field
'then they will be interacting with the db
'in one of three ways.
'1. to insert a new article
'2. to view a specific observation
'3. to display recent headlines
'The following select statement will adjust the
'sql according to which action is requested
select case u_action
case "insert"
sql = "insert into articles (title,body,author)"
sql = sql & " values( '" & u_title & "' , '" & u_body & "' , '" & u_author & "' )"
case "display"
sql="select * from articles where log = "&u_log
case else
sql="select * from articles order by date desc "
end select
accessdb="articles"
cn="driver={Microsoft Access Driver (*.mdb)};"
cn=cn & "dbq=" & server.mappath(accessdb)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn
'if there are no observations found then
'redirect the user to the default view
'exceot if the user is adding an article
if u_action <> "insert" then
if rs.eof then
response.redirect script_name
end if
end if
'Start html output
%>
<html>
<title>Recent Articles</title>
<body bgcolor="#FFFFFF">
<% 'Display successful addition of article to db
if u_action="insert" then %>
Your Article was added.<br>
<% else
'Display db output %>
<% do while not rs.eof and counter < 6
' Change 6 to any number of Titles you want to display
counter=counter+1 %>
<% if u_action <> "display" then %>
<a href="<%= script_name %>?u_action=display&u_log=<%= rs("log")%>"><%= rs("title") %></a> <%= rs("date") %><br>
<% else %>
<b><%= rs("title") %></b><br>
by <%= rs("author") %>
<p>
<pre>
<%= rs("body") %>
</pre>
<% end if %>
<%
rs.movenext
loop %>
<% end if
end if
%>
<% if u_action="add" then
'if the user is adding a new article
'then display the form input fields %>
<script Language="JavaScript">
<!--
function Blank_TextField_Validator(form)
{
if (form.u_title.value == "")
{
alert("Please fill in the title field.");
form.u_title.focus();
return (false);
}
if (form.u_body.value == "")
{
alert("Please fill in the body field.");
form.u_body.focus();
return (false);
}
if (form.u_author.value == "")
{
alert("Please fill in the author field.");
form.u_author.focus();
return (false);
}
return (true);
}
//-->
</script>
<form method="post" action="<%= script_name %>?u_action=insert" onsubmit="return Blank_TextField_Validator(this)">
Title<br>
<input type="text" name="u_title" size="65"><p>
Body<br>
<textarea rows="8" name="u_body" cols="65"></textarea><p>
Author<br>
<input type="text" name="u_author" size="65"><p>
<input type="submit" value="Submit">
</form>
<% else
'if the user is doind anything other than adding an article
'display navigational hyperlinks %>
<p><a href="<%= script_name %>">View Recent Articles</a><br>
<a href="<%= script_name %>?u_action=add">Add Your Article</a>
<% end if %>
MVH Jesper :)