Just nu i M3-nätverket
Jump to content

Databas skrivning


Klawz

Recommended Posts

Håller på att skriva ett admin gränsnitt till en nyhetsida. Jag har satt ihop allt i dreamweaver mx. Nu när jag lägger till en nyhet så vill jag att användarens namn som loggat in och tidpunkten då nyheten skapas ska skrivas till databasen. Kan bara få med rubriken och texten från två formulär till databasen.

 

Jag förstår mig inte på koden som dreamweaver har skapat och vet inte riktigt var jag ska ändra för att få med användaren och datumet

 

 

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/databas.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

if (String(Request("MM_insert")) == "form1") {

 var MM_editConnection = MM_databas_STRING;
 var MM_editTable  = "News";
 var MM_editRedirectUrl = "";
 var MM_fieldsStr = "runrik|value|textfield|value";
 var MM_columnsStr = "rubrik|',none,''|texter|',none,''";

 // 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);
   }
 }

}
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
 if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
   document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
 else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>

<body>

<div id="Layer1" style="position:absolute; left:226px; top:161px; width:174px; height:204px; z-index:1">
 <form name="form1" method="POST" action="<%=MM_editAction%>">

   <input name="runrik" type="text" id="runrik">
   <input name="textfield" type="text" id="textfield">
   <input type="submit" name="Submit" value="Submit">
   <input type="hidden" name="MM_insert" value="form1">
 </form>
</div>
</body>
</html>

 

Link to comment
Share on other sites

vad andvänder du för databas? access eller? isf för att lättast få datumet då inlägget skapades så i access så skapar du en extra kolumn med datatypen timestamp och ger den defaultvärder Nu() om du har svenska versionen av office eller Now() om du har engelska.. då får du att den lägger till datumet när du skapar inlägget..

 

För att få med användaren, om du andvänder DreamWeaver MX inloggningsystem så skapar den en session med namnet MM_UserName som innehåller den inloggade personens "username"

 

för att få det i databasen skapar du lättast en hidden formvariabel, den ligger på raden där du la till textfälten och knapparna och så, och heter dold eller hidden formfield.

och den ger du det här värdet

 

<%= Session("MM_UserName") %>

 

då skriver den ut sessionen MM_UserName och så får du såklart göra så att den dolda formfielden lläggs med i din insertsats...

 

hoppas du förstår annars får du skriva tillbaka

 

Rokk On!

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...