Avatar billede mcnovy Nybegynder
23. april 2003 - 14:20 Der er 14 kommentarer og
3 løsninger

Forum

Hey all.

jeg er igang med at lave et forum, og er nu nået til det punkt med at indsætte poster...

ja problemet er så at når jeg sender posten til db (access 2000) så viser den ikke linieskift...
nogen der kan hjælpe mig med det..
på forhånd tak
Avatar billede pelkjaer Nybegynder
23. april 2003 - 14:30 #1
str = Replace(Server.HTMLEncode(rs("Feltnavn")),vbCrLf,"<br>")
Avatar billede amd Nybegynder
23. april 2003 - 14:31 #2
tekst = Replace(request.form("tekst"),vbCrLf,"<br>")
hvis du så tilføjer tekst til databasen virker det :o)
hvis dit textarea hedder tekst ;o)
Avatar billede mm12010 Nybegynder
23. april 2003 - 14:32 #3
JScript:
    str = str.replace(/'/gi,"&#39;");
    str = str.replace(/\n/gi,"<br>");
Avatar billede mcnovy Nybegynder
23. april 2003 - 14:45 #4
Mange tak for de hurtige svar...

men kunne i ikke være lidt mere specifike tak. :)
forresten så bruger jeg javascript...
Avatar billede mm12010 Nybegynder
23. april 2003 - 14:55 #5
<%
    function encode(str){
        str = Server.HTMLEncode(str);
        str = str.replace(/'/gi,"&#39;");
                str = str.replace(/\n/gi,"<br>");
        return (str);
        }

teksten = Request.Form("dit_tekst_felt");
teskten = encode(teksten);
%>
Avatar billede mcnovy Nybegynder
23. april 2003 - 15:03 #6
i hvad for en side skal jeg skrive det...?
den kan vel ikke requeste form'en i samme side som hvor jeg skrier det!!!!
Avatar billede amd Nybegynder
23. april 2003 - 15:08 #7
tekst = Replace(request.form("dit felt"),vbCrLf,"<br>")
Du skal bare gøre som jeg siger!! tilføje den der variael istedet !
Avatar billede mm12010 Nybegynder
23. april 2003 - 15:28 #8
sæt det ind lige over din SQL
Avatar billede amd Nybegynder
23. april 2003 - 15:58 #9
mcnovy
Kom med din SQL sætning lige nu så laver jeg det
Avatar billede mcnovy Nybegynder
23. april 2003 - 17:16 #10
så siger den request is undefined
Avatar billede amd Nybegynder
23. april 2003 - 17:17 #11
Skriv din SQL sætning her så kan jeg vise dig hvad jeg mener
Avatar billede mcnovy Nybegynder
23. april 2003 - 17:20 #12
ok så fik jeg rettet det.. skulle være Stort R i request...

men nu siger den det med vbCrLf
er det fordi at det er vb eller hvad..
jeg bruger jo javascript
Avatar billede amd Nybegynder
23. april 2003 - 17:22 #13
Øhh.... tilføjer du til en database med javascript eller hvad snakker du om??:s
Avatar billede mcnovy Nybegynder
23. april 2003 - 17:22 #14
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/Login.asp" -->
<%
// *** Edit Operations: declare variables

// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
  MM_editAction += "?" + Request.QueryString;
}

// boolean to abort record edit
var MM_abortEdit = false;

// query string to execute
var MM_editQuery = "";
%>
<%
// *** Insert Record: set variables
tekst = Replace(Request.form("textfield"),vbCRLf,"<br>")
if (String(Request("MM_insert")) == "form3") {

  var MM_editConnection = MM_Login_STRING;
  var MM_editTable  = "forum_thread";
  var MM_editRedirectUrl = "/login/Forum/Thread.asp";
  var MM_fieldsStr = "textfield|value|hiddenField|value|hiddenField2|value";
  var MM_columnsStr = "Message|',none,''|Author_ID|none,none,NULL|Topic_ID|none,none,NULL";

  // create the MM_fields and MM_columns arrays
  var MM_fields = MM_fieldsStr.split("|");
  var MM_columns = MM_columnsStr.split("|");
 
  // set the form values
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = String(Request.Form(MM_fields[i]));
  }

  // append the query string to the redirect URL
  if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString;
  }
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it

if (String(Request("MM_insert")) != "undefined") {

  // create the sql insert statement
  var MM_tableValues = "", MM_dbValues = "";
  for (var i=0; i+1 < MM_fields.length; i+=2) {
    var formVal = MM_fields[i+1];
    var MM_typesArray = MM_columns[i+1].split(",");
    var delim =    (MM_typesArray[0] != "none") ? MM_typesArray[0] : "";
    var altVal =  (MM_typesArray[1] != "none") ? MM_typesArray[1] : "";
    var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : "";
    if (formVal == "" || formVal == "undefined") {
      formVal = emptyVal;
    } else {
      if (altVal != "") {
        formVal = altVal;
      } else if (delim == "'") { // escape quotes
        formVal = "'" + formVal.replace(/'/g,"''") + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_tableValues += ((i != 0) ? "," : "") + MM_columns[i];
    MM_dbValues += ((i != 0) ? "," : "") + formVal;
  }
  MM_editQuery = "insert into " + MM_editTable + " (" + MM_tableValues + ") values (" + MM_dbValues + ")";

  if (!MM_abortEdit) {
    // execute the insert
    var MM_editCmd = Server.CreateObject('ADODB.Command');
    MM_editCmd.ActiveConnection = MM_editConnection;
    MM_editCmd.CommandText = MM_editQuery;
    MM_editCmd.Execute();
    MM_editCmd.ActiveConnection.Close();

    if (MM_editRedirectUrl) {
      Response.Redirect(MM_editRedirectUrl);
    }
  }

}
%>
<%
var Thread__MMColParam = "1";
if (String(Request.QueryString("Topic_ID")) != "undefined" &&
    String(Request.QueryString("Topic_ID")) != "") {
  Thread__MMColParam = String(Request.QueryString("Topic_ID"));
}
%>
<%
var Thread = Server.CreateObject("ADODB.Recordset");
Thread.ActiveConnection = MM_Login_STRING;
Thread.Source = "SELECT * FROM forum_thread WHERE Topic_ID = "+ Thread__MMColParam.replace(/'/g, "''") + " ORDER BY Thread_ID DESC";
Thread.CursorType = 0;
Thread.CursorLocation = 2;
Thread.LockType = 1;
Thread.Open();
var Thread_numRows = 0;
%>
<%
var Logo = Server.CreateObject("ADODB.Recordset");
Logo.ActiveConnection = MM_Login_STRING;
Logo.Source = "SELECT * FROM Firma_Logo";
Logo.CursorType = 0;
Logo.CursorLocation = 2;
Logo.LockType = 1;
Logo.Open();
var Logo_numRows = 0;
%>
<%
var Status123__MMColParam = "1";
if (String(Request.QueryString("Topic_ID")) != "undefined" &&
    String(Request.QueryString("Topic_ID")) != "") {
  Status123__MMColParam = String(Request.QueryString("Topic_ID"));
}
%>
<%
var Status123 = Server.CreateObject("ADODB.Recordset");
Status123.ActiveConnection = MM_Login_STRING;
Status123.Source = "SELECT * FROM Status_test WHERE Topic_ID = "+ Status123__MMColParam.replace(/'/g, "''") + " ORDER BY Thread_ID DESC";
Status123.CursorType = 0;
Status123.CursorLocation = 2;
Status123.LockType = 1;
Status123.Open();
var Status123_numRows = 0;
%>
<%
var Me__MMColParam = "1";
if (String(Session("MM_username")) != "undefined" &&
    String(Session("MM_username")) != "") {
  Me__MMColParam = String(Session("MM_username"));
}
%>
<%
var Me = Server.CreateObject("ADODB.Recordset");
Me.ActiveConnection = MM_Login_STRING;
Me.Source = "SELECT * FROM Login_test WHERE Username = '"+ Me__MMColParam.replace(/'/g, "''") + "'";
Me.CursorType = 0;
Me.CursorLocation = 2;
Me.LockType = 1;
Me.Open();
var Me_numRows = 0;
%>
<%
var Repeat1__numRows = 10;
var Repeat1__index = 0;
Status123_numRows += Repeat1__numRows;
%>
<% var MM_paramName = ""; %>


<%
// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

// create the list of parameters which should not be maintained
var MM_removeList = "&index=";
if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "=";
var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_keepNone="";

// add the URL parameters to the MM_keepURL string
for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) {
  var nextItem = "&" + items.item().toLowerCase() + "=";
  if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item()));
  }
}

// add the Form variables to the MM_keepForm string
for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) {
  var nextItem = "&" + items.item().toLowerCase() + "=";
  if (MM_removeList.indexOf(nextItem) == -1) {
    MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item()));
  }
}

// create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL + MM_keepForm;
if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1);
if (MM_keepURL.length > 0)  MM_keepURL = MM_keepURL.substring(1);
if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1);
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
@import url("Css/Repeat.css");
@import url("Css/Tables.css");
-->
</style>
<style type="text/css">
<!--
@import url("/Forum/Css/Tabel2.css");
-->
</style>
<link href="/Forum/Css/linket.css" rel="stylesheet" type="text/css">
</head>
<body>
<p align="center"><font color="#0066FF" size="+7"><strong>
  <input name="imageField5" type="image" src="%5Cbilleder%5C<%=(Logo.Fields.Item("Link").Value)%>" border="0">
  </strong></font></p>
<form name="form1" method="post" action="">
 
  <table width="100%" border="0">
    <tr>
      <td width="72%">&nbsp;</td>
      <td width="1%"><input name="imageField" type="image" src="Billeder/edit_profile.gif" width="88" height="24" border="0"></td>
      <td width="9%"><input name="imageField4" type="image" src="Billeder/log_off.gif" width="88" height="24" border="0"></td>
      <td width="9%"> <input name="imageField2" type="image" src="Billeder/search.gif" width="88" height="24" border="0"></td>
      <td width="9%"><img src="Billeder/members_list.gif" width="88" height="24"></td>
    </tr>
  </table>
</form>
 
<table width="100%" border="0" class="Tables">
  <tr>
    <td><font size="-1" face="Georgia, Times New Roman, Times, serif"><strong>Kategori</strong></font></td>
  </tr>
</table>
<BR>
<% if (!Thread.EOF || !Thread.BOF) { %>
<% while ((Repeat1__numRows-- != 0) && (!Status123.EOF)) { %>
<table width="100%" border="1" bordercolor="#333333" bgcolor="#CCCCCC" class="repeattable">
  <tr bordercolor="#666666" bgcolor="#3399CC" class="Linket">
    <td colspan="2">
      <p><font color="#666666">Postet af <strong><span class="Linket"><A HREF="/login/detail.asp?<%= MM_keepNone + ((MM_keepNone!="")?"&":"") + "ID=" + Status123.Fields.Item("Author_ID").Value %>" class="Linket"><font color="#333333"><%=(Status123.Fields.Item("Username").Value)%></font></A></span></strong> den <strong><font color="#990033"><%=(Status123.Fields.Item("Message_date").Value)%></font></strong></font></p></td>
  </tr>
  <tr>
    <td width="15%" height="77" class="Tebel"> <p class="Tebel"><strong><A HREF="/login/detail.asp?<%= MM_keepNone + ((MM_keepNone!="")?"&":"") + "ID=" + Status123.Fields.Item("Author_ID").Value %>" class="Tebel"><font color="#0066FF" face="Georgia, Times New Roman, Times, serif"><%=(Status123.Fields.Item("Username").Value)%></font></A></strong></p>
      <p><font color="#006600" face="Georgia, Times New Roman, Times, serif"><strong><%=(Status123.Fields.Item("Status").Value)%></strong></font><br>
        <input name="imageField3" type="image" src="%5Cbilleder%5C<%=(Status123.Fields.Item("Logo").Value)%>" width="67" height="14" border="0">
      </p>
     
    </td>
    <td width="85%" bordercolor="#666666">
<p> <font color="#333333"><%=(Status123.Fields.Item("Message").Value)%></font></p>
      <p class="Tebel">&nbsp;</p>
      <p>&nbsp; </p></td>
  </tr>
</table>
<br>
<%
  Repeat1__index++;
  Status123.MoveNext();
}
%>
<% } // end !Thread.EOF || !Thread.BOF %>
<p>
  <% if (Thread.EOF && Thread.BOF) { %>
  Der er ingen Thread's i denne topic
  <% } // end Thread.EOF && Thread.BOF %>
</p>
<p align="center"><strong><font color="#003399" size="+7" face="Comic Sans MS">Skriv en post</font></strong></p>

<% if (!Me.EOF || !Me.BOF) { %>
<form name="form3" method="POST" action="<%=MM_editAction%>">
  <table width="100%" border="0">
    <tr>
      <td width="12%"><em></em></td>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td> <p>Besked:</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p></td>
      <td colspan="2"><textarea name="textfield" cols="75" rows="10"></textarea>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
      <td> <input name="hiddenField" type="hidden" value="<%=(Me.Fields.Item("Id").Value)%>">
        <input name="hiddenField2" type="hidden" value="<%=(Thread.Fields.Item("Topic_ID").Value)%>"></td>
      <td width="24%"> <input name="Send" type="submit" id="Send" value="Send"></td>
      <td width="64%"> <input name="Reset" type="reset" id="Reset" value="Reset">
      </td>
    </tr>
  </table>
  <p>
    <input type="hidden" name="MM_insert" value="form3">
  </p>
</form>
<% } // end !Me.EOF || !Me.BOF %>
<% if (Me.EOF && Me.BOF) { %>
<p>Du skal v&aelig;re logget ind for at skrive en post</p>
<% } // end Me.EOF && Me.BOF %>

</html>
<%
Thread.Close();
%>
<%
Logo.Close();
%>
<%
Status123.Close();
%>
<%
Me.Close();
%>
Avatar billede amd Nybegynder
23. april 2003 - 17:31 #15
Heh, ok
Så kan jég ikke hjælpe dig :)
Avatar billede mm12010 Nybegynder
23. april 2003 - 17:40 #16
denne fjernes:
tekst = Replace(Request.form("textfield"),vbCRLf,"<br>")

og efter denne:

formVal = "'" + formVal.replace(/'/g,"''") + "'";

indsættes:

formVal = "'" + formVal.replace(/\n/g,"<br>") + "'";
Avatar billede mcnovy Nybegynder
23. april 2003 - 17:52 #17
MM12010 dit var rigtigt.. mange tak for hjælpen..

og i andre for også lidt point som tak for hjælpen...
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