Avatar billede ballum-it Praktikant
06. januar 2011 - 15:04 Der er 36 kommentarer og
1 løsning

Hvordan får jeg fckeditoren frem på min asp side

Jeg har lavet en side i asp. Der er lavet et login-modul, og det virker også fint nok. Men når brugeren har logget ind, er det meningen at han skal kunne redigere i siden.

Databasen er oprettet med
pages : id - name - content

Jeg har lagt fckeditoren ind i ftp

Jeg har på siden lavet et område, hvor der kan redigeres i.

Men hvordan får jeg så lavet, at når man som logget-ind går ind på siden, kommer editoren frem istedet for?


Koden jeg har på siden er:



<%@LANGUAGE=\"VBSCRIPT\"%>

<!--#include file=\"ckeditor/ckeditor.asp\" -->
<!--#include file=\"md5/md5.asp\"-->
<!--#include file=\"Connections.asp\" -->

<%
function checkLogin() {
    if(isset($_SESSION[\'myusername\'])) {
        return true;
    } else {
        return false;
    }
}

if (isset($_GET[\'admin\'])) {
    $admin = $_GET[\'admin\'];
}

if (!isset($_GET[\'section\'])) {
    $section= 1;
}


else {
    $page = $section;
    $page = 1;
}


if ($page) {
    $sql = \"SELECT * FROM pages WHERE id = $page LIMIT 1\";
    $result = mysql_query($sql);

    while($rows=mysql_fetch_array($result)) {
        if (isset($rows[\'include\'])) {
            $include = $rows[\'include\'];
        } elseif (isset($rows[\'content\'])) {
            $content = $rows[\'content\'];
        }
    }
}

if (isset($_GET[\'id\'])) {
    $id = $_GET[\'id\'];
}
end if%>



<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
<!-- InstanceBeginEditable name=\"doctitle\" -->
<title></title>
<!-- InstanceEndEditable -->
</style>
<script type=\"text/javascript\" src=\".../script/stmenu.js\"></script>

<link href=\".../style.css\" rel=\"stylesheet\" type=\"text/css\" />
<!-- InstanceBeginEditable name=\"head\" -->
<!-- InstanceEndEditable -->


<link href=\"style.css\" rel=\"stylesheet\" type=\"text/css\" />

<script type=\"text/javascript\" src=\"scripts/stmenu.js\"></script>
</head>

<body class=\"body\">
<table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td width=\"600\" height=\"310\" valign=\"top\" background=\"images/layout/header/header-bg.png\" style=\"background-repeat:no-repeat\" class=\"indhold\">
    <td width=\"300\" valign=\"top\" background=\"images/layout/header/header_right.png\"><table width=\"400\" height=\"318\" border=\"0\" align=\"right\" valign=\"bottom\" cellpadding=\"0\" cellspacing=\"0\" background=\"images/layout/header/image.png\">
                    <tr>
                      <td valign=\"top\"><table width=\"200\" border=\"0\" align=\"right\" cellpadding=\"0\" cellspacing=\"0\">
                        <tr>
                          <td align=\"right\"><a href=\"default.asp?setlang=Da\" class=\"header\"><strong><img src=\"images/layout/dk-flag.jpg\" alt=\"dk\" width=\"15\" height=\"10\" border=\"0\" /> DANSK</strong></a></td>
                          <td class=\"header\"><a href=\"default.asp?setlang=De\" class=\"header\"><strong> <img src=\"images/layout/de-flag.jpg\" alt=\"de\" width=\"17\" height=\"11\" border=\"0\" /> DEUTSCH</strong></a></td>
                        </tr>
                      </table></td>
        </tr>
    </table></td>
  </tr>
</table>
<table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td height=\"100\"><table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
   
      </tr>
    </table>
    </td>
  </tr>
</table>
<table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td><!-- InstanceBeginEditable name=\"indhold\" -->
    <%if request.cookies(\"language\")(\"language\") = \"Da\" then%>
      <table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
        <tr>
          <td width=\"600\" valign=\"top\"><table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" valign=\"top\">
            <tr>
              <td height=\"18\" background=\"images/layout/body/sheet_top_600px.png\"></td>
            </tr>
            <tr>
              <td height=\"400\" valign=\"top\" bgcolor=\"#272727\" class=\"indhold\"><span class=\"h4\">INDHOLD PÅ SIDEN</span>
- DANSK
  <p> </p>
                <p> </p>
                <p> </p>
                <p> </p>
                <p> </p></td>
            </tr>
            <tr>
              <td height=\"18\" background=\"images/layout/body/sheet_bottom_600px.png\"></td>
            </tr>
          </table></td>
          <td valign=\"top\"> </td>
        </tr>
      </table><%else%> <table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
        <tr>
          <td width=\"600\" valign=\"top\"><table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" valign=\"top\">
            <tr>
              <td height=\"18\" background=\"images/layout/body/sheet_top_600px.png\"></td>
            </tr>
            <tr>
              <td height=\"400\" valign=\"top\" bgcolor=\"#272727\" class=\"indhold\"><span class=\"h4\">INDHOLD på siden TYSK</span>
                <p> </p>
                <p> </p>
                <p> </p>
                <p> </p>
                <p> </p>
                <p> </p>
                <p> </p></td>
            </tr>
            <tr>
              <td height=\"18\" background=\"images/layout/body/sheet_bottom_600px.png\"></td>
            </tr>
          </table></td>
          <td valign=\"top\"> </td>
        </tr>
      </table> <%end if%>
    <!-- InstanceEndEditable --></td>
  </tr>
</table>
<table width=\"905\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td height=\"43\" align=\"center\" valign=\"bottom\"  class=\"footertekst\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"footertekst\">
      <tr>
     
        <td height=\"50\" valign=\"bottom\" bgcolor=\"#272727\" class=\"footertekst\"><table width=\"100%\" border=\"0\" cellpadding=\"2\" cellspacing=\"2\" class=\"footertekst\">
          <tr>
            <td width=\"19%\" align=\"left\" valign=\"middle\" class=\"footer\"></td>
            <td width=\"81%\" height=\"30\" align=\"right\" valign=\"middle\" class=\"footer\"></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>

</body>
</html>
Avatar billede keysersoze Guru
06. januar 2011 - 15:50 #1
Jeg vil umiddelbart foreslå at du opgraderer til ckeditor, det er den tidligere fckeditor bare i nyere version, og så følger denne udførlige guide; http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Integration
Avatar billede mjdigital Nybegynder
06. januar 2011 - 17:18 #2
som keysersoze skriver.. CkEditor bruger jeg selv med .net loades vha. textarea's.
Avatar billede ballum-it Praktikant
06. januar 2011 - 21:14 #3
Jeg havde egentlig ckeditor, men havde ikke fået slettet f foran i koden.

Jeg har nu fået den til at vise en editor, men den gemmer ikke. Jeg har helt sikkert glemt noget eller lavet noget forkert et sted. Kan du fortælle mig hvor og hvad?

<table width="905" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><!-- InstanceBeginEditable name="indhold" -->
    <form method="post">
   
            Min editor:<br />
            <textarea id="editor1" name="editor1">SIDENS INDHOLD</textarea>
            <script type="text/javascript">
                CKEDITOR.replace( 'editor1' );
            </script>
   
        <p>
            <input type="submit" />
        </p>
    </form>

    <!-- InstanceEndEditable --></td>
  </tr>
</table>
Avatar billede keysersoze Guru
06. januar 2011 - 21:35 #4
hvordan ser din gem-kode ud?
Avatar billede ballum-it Praktikant
06. januar 2011 - 21:43 #5
Hov - den mangler jeg da vist.

Og nu er jeg lige nødt til at ledes lidt på sporet, for jeg er lige helt blank nu. Er det i denne fil jeg skal have noget ind foroven? Og hjælp, hvad er det lige?
Avatar billede keysersoze Guru
06. januar 2011 - 22:07 #6
ckeditoren er kun et avanceret formfelt til indtastning af data - den kan i sig selv ikke finde ud af at gemme det indtastede i en database eller en fil, den del skal du håndtere i din ASP-kode.
Avatar billede ballum-it Praktikant
06. januar 2011 - 22:16 #7
Okay, tak. Skal jeg så oprette et nyt spørgsmål med hjælp til den kode?
Avatar billede keysersoze Guru
06. januar 2011 - 22:29 #8
Der er ingen forskel på at få data ud fra et almindeligt formfelt, som du går fx til login, og så fra et ckeditor-felt - så det eneste du reelt skal lave er at gemme det et sted, fx dit content-felt.
Avatar billede ballum-it Praktikant
06. januar 2011 - 22:45 #9
Jeg er ny indenfor asp, så tror jeg er nødt til at droppe det igen. Jeg kan ikke finde ud af det desværre, Men tak for det hjælpen alligevel,
Avatar billede keysersoze Guru
06. januar 2011 - 22:54 #10
Det var godt nok hurtigt givet op - anyway, skulle du alligevel få lyst til at prøve så tag et kig på disse artikler (ikke fantastisk rigtig i forhold til moderne kode, men stadig funktionelle); http://www.html.dk/tutorials/asp/lektion20.asp
Avatar billede ballum-it Praktikant
06. januar 2011 - 23:01 #11
Jeg synes bare det blev for svært. Jeg kan bare ikke finde ud af det. Ligemeget hvad jeg prøver, virker det ikke. Så skal have mere hjælp for at kunne forstå det.
Avatar billede ballum-it Praktikant
06. januar 2011 - 23:11 #12
<%

if request.querystring("pageid") = "" then
response.redirect("default.asp?pageid=1")
end if


Dim activeID
activeID = request.form("id")
%>
<%
if request.form("submit") = "Gem" then

'--RSslides
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(sConn)

set RSslide=Server.CreateObject("ADODB.recordset")
RSslide.Open "SELECT * FROM __pages WHERE id = "& activeID &"", myConn


'-- Connection start --
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open(sConn)
'-- "Connection start" slut --




'-- Indsæt ny record --
Dim sSql
sSql = "INSERT INTO pages (name,content)
VALUES ("
sSql = sSql & "'" & RSslide("name") & "',"
sSql = sSql & "'" & RSslide("content") & "',"
sSql = sSql & ")"

'Response.Write(sSql)
Conn.Execute(sSql)
bUpdate = true

id = request.form("id")



response.redirect("default.asp?pageid=" & request.querystring("pageid") &"")
%>
Avatar billede keysersoze Guru
06. januar 2011 - 23:30 #13
fortæl hvad der sker eller ikke sker - ellers kan det jo kun blive ren gætværk.
Avatar billede ballum-it Praktikant
07. januar 2011 - 19:43 #14
Når jeg klikker på gem, sker der intet. Der mangler noget der skal fortælle hvad den skal gøre.

Jeg har sat det ind, som i mit seneste indlæg, men det er ikke nok. Er der et sted jeg har fået skrevet det forkerte?
Avatar billede keysersoze Guru
07. januar 2011 - 21:21 #15
Så må du udskrive lidt hjælpevariabler undervejs - fx;

response.write "når jeg hertil"
Avatar billede ballum-it Praktikant
07. januar 2011 - 21:45 #16
Det forstår jeg ikke. Kan du uddybe?
Avatar billede keysersoze Guru
07. januar 2011 - 23:50 #17
hvis koden ikke fejler og der ingenting sker bliver du nødt til at fejlsøge - det gør du ved at udskrive information på siden så du kan se om der sker det i koden du forventer - fx;

<%
response.write "her starter vi"
if request.querystring("pageid") = "" then
response.write "her redirecter vi"
'response.redirect("default.asp?pageid=1")
end if
response.write "nu er vi nået hertil
response.end
....
Avatar billede ballum-it Praktikant
08. januar 2011 - 00:21 #18
Så får jeg dette:


Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/site.asp, line 168

response.write "nu er vi n?et hertil
------------------------------------^
Avatar billede ballum-it Praktikant
08. januar 2011 - 00:24 #19
Sludder, der manglede lige lidt afslutning i din kode, men nu kommer min side så også frem. Men nu har jeg sat fejlsøgningen ind i body istedet for formen. Men det løser jo ikke at den ikke vil gemme - eller?
Avatar billede ballum-it Praktikant
08. januar 2011 - 00:30 #20
Og efter at have tænkt mig om, satte jeg formen ind igen, og satte din kode ind foroven. Og så får jeg en blank side med teksten her starter viher redirecter vinu er vi n�et hertil

Og så må jeg tænke videre i morgen igen. Der har jeg hele dagen, så jeg vender sikkert frygteligt tilbage.
Avatar billede keysersoze Guru
08. januar 2011 - 01:06 #21
en god idé er at du deler din form og den gem-kode over på 2 forskellige sider hvis du ikke allerede har det. Mit forslag løser ingenting men det kan være med til at fortælle dig hvad der sker på siden - hvis mine kommentarer udskriver den med redirect, så køres din gem-kode aldrig fordi der redirevt og så du enten fjerne den (ved ikke helt hvad den gør godt for?) eller sørge for at sende den rigtige parameter med så der ikke redirectes.
Avatar billede ballum-it Praktikant
08. januar 2011 - 10:53 #22
Nu har jeg dette foroven:

<%



Dim activeID
activeID = request.form("id")
%>
<%
if request.form("submit") = "Gem" then

'--RSslides
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(sConn)

set RSslide=Server.CreateObject("ADODB.recordset")
RSslide.Open "SELECT * FROM pages WHERE id = "& activeID &"", myConn


'-- Connection start --
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open(sConn)
'-- "Connection start" slut --

strSQL = "Insert into pages (content)"
Conn.Execute(strSQL)


'Response.Write(sSql)
Conn.Execute(sSql)
bUpdate = true

id = request.form("id")

response.redirect("links2.asp?pageid=1")

end if%>




Og det her har jeg nede hvor formen er:

<form method="post">
   
<br />
            <textarea id="editor1" name="editor1">                             

<%
' Automatically calculates the editor base path based on the _samples directory.
' This is usefull only for these samples. A real application should use something like this:
' oCKeditor.BasePath = '/ckeditor/' ;    // '/ckeditor/' is the default value.

dim CKcontent
'CKcontent = Replace((RSobjekter.Fields.Item("content").Value), vbCrLf, "<br>")
CKcontent = ""

Dim oCKeditor
Set oCKeditor = New CKeditor
oCKeditor.BasePath = "ckeditor/"
oCKeditor.Value    = CKcontent
oCKeditor.Create "content"
        %>


</textarea>
            <script type="text/javascript">
                CKEDITOR.replace( 'editor1' );
            </script>
   
        <p>
            <input name="Gem" type="submit" id="Gem" value="Gem" />
        </p>
    </form>





MEN nu får jeg så denne fejl

Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'value'
/links2.asp line 206

(Linje 206 er i dette =

<%
' Automatically calculates the editor base path based on the _samples directory.
' This is usefull only for these samples. A real application should use something like this:
' oCKeditor.BasePath = '/ckeditor/' ;    // '/ckeditor/' is the default value.

dim CKcontent
'CKcontent = Replace((RSobjekter.Fields.Item("content").Value), vbCrLf, "<br>")
CKcontent = ""

Dim oCKeditor
Set oCKeditor = New CKeditor
oCKeditor.BasePath = "ckeditor/"
oCKeditor.Value    = CKcontent
oCKeditor.Create "content"
        %>
)


Hvad er der galt med den? Jeg er selv kommet frem til, at den i min form ikke vidste at det skulle ind i databasen, men blot skrev teksten i editoren.
Avatar billede keysersoze Guru
08. januar 2011 - 11:04 #23
det er formentlig ikke alle 10-15 linjer der er linje 206 - så hvilken er det?
Avatar billede ballum-it Praktikant
08. januar 2011 - 11:48 #24
206=oCKeditor.Value    = CKcontent

og sletter jeg den, er det den næste linje der er fejl.
Avatar billede keysersoze Guru
08. januar 2011 - 12:01 #25
det ligner heller ikke helt integrationen fra det link jeg sendte - hvad er grunden til at du har lavet det om?
Avatar billede ballum-it Praktikant
08. januar 2011 - 12:03 #26
Det var fordi at når jeg satte det link ind ud sendte, viste den godt nok editoren, men ville ikke gemme. Så derfor tænkte jeg der skulle noget andet til. Jeg er bare ikke så kvik til det, så skal vist hjælpes med teskeer.
Avatar billede ballum-it Praktikant
08. januar 2011 - 12:04 #27
Eller koden fra det link
Avatar billede keysersoze Guru
08. januar 2011 - 12:36 #28
Som tidligere nævnt er editoren kun en editor, altså et avanceret formfelt, så det er helt op til dig at sørge for at tingene bliver gemt som og hvor det skal.

Så, som også tidligere nævnt, start med at sætte din form-side op og når den spiller så lav din gem side - og for at finde ud af hvad der virker og ikke virker så udskriv de hjælpevariabler undervejs som jeg også har nævnt så kan det ikke gå helt galt.

Programmering er en profession på linje med at være læge, murer eller tømrer - det kræver tid til både literatur og øvelse. Man bliver ikke verdensmester på 2 dage.
Avatar billede ballum-it Praktikant
08. januar 2011 - 12:53 #29
Jeg skal ikke være verdensmester. Men man behøver hjælp for at komme på rette spor og det er der jeg går i stå. Jeg lærer bedst ved at se hvad jeg skal skrive og deraf læse hvordan det virker. Sådan har jeg lært alt andet og det er blevet til en del efterhånden. Lige nu er jeg fuldstændig forvirret, fordi jeg ikke helt har fået fat i hvad det er jeg skal. Jeg har brug for eksempler for at komme videre.

Jeg har jo sat min formside op, men den virker ikke. Selvom jeg bruger din kode med hjælpevariabler, kan jeg ikke finde fejlen. Det er sikkert mig der er dum, men jeg håber stadig, at der er en der kan fortælle mig det så jeg forstår.
Avatar billede keysersoze Guru
08. januar 2011 - 13:03 #30
din formside har i første omgang slet ikke brug for hjælpevariabler - den skal sættes op helt efter guiden i første link. Hvis det ikke virker er du nødt til at komme med hvilken fejl der sker.
Avatar billede ballum-it Praktikant
08. januar 2011 - 14:17 #31
Fejl = #14
Avatar billede keysersoze Guru
08. januar 2011 - 14:43 #32
hvis editoren bliver vist nu (det troede jeg ikke den gjorde jf #22) men der bare ingenting gemmes så er det du skal indsætte de hjælpe-variabler jeg har skrevet om og fortælle hvad der så står - står der "redirect" som du skrev tidligere så slet den hvis du ikke har behov for den og udskriv så nogle flere hjælpevariabler og se hvor langt du så kommer.

Jeg kan ikke tillade mig at programmere noget for dig - gjorde jeg det ville det være at snyde alle dem, der gennem mit arbejde betaler for samme ydelse så det kræver en indsat fra din side.
Avatar billede ballum-it Praktikant
08. januar 2011 - 15:04 #33
Skal jeg sætte de hjælpe variabler ind for oven på siden istedet for alt det andet, eller skal det andet blive stående?
Avatar billede keysersoze Guru
08. januar 2011 - 15:41 #34
Der skal sættes ind hvor der er behov for dem - du siger der ingenting gemmes, men du har jo en INSERT-statement, så der må være "noget" der stopper din koden inden den når så langt og det "noget" skal du finde så jo flere steder du udskriver hjælp og info til dig selv jo bedre kommer du til at forstå din kode.
Avatar billede ballum-it Praktikant
08. januar 2011 - 16:45 #35
Fint, så forstår jeg det. Det var tydeligt forklaret.
Avatar billede keysersoze Guru
08. januar 2011 - 17:11 #36
det lød lettere destruktivt - hvis du er i tvivl om hvad mindre ting som response.write og response.end gør og hvordan de benyttes vil jeg foreslå at du, inden du begynder at programmere egentlige ting, læser lidt om de grundlæggende elementer i ASP, specielt Response og Request som en start; http://w3schools.com/asp/default.asp
Avatar billede ballum-it Praktikant
08. januar 2011 - 23:26 #37
Det var nu ikke sådan ment. det hjalp mig faktisk videre. Jeg kender de udtryk, jeg arbejder med dem hver dag,men er endnu ingen ørn indenfor asp. Men med stædighed og ihærdigt arbejde skal det nok komme.

Jeg har så også fået det til at spille. Jeg var på rette vej og fik min søn, der er datalog, til at forklare det sidste. Så nu kan jeg næste gang.

Jeg synes dine sidste svar var rigtig gode, og var til at forstå. Sådanne svar tror jeg mange vil være glade for at få.
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