Avatar billede frulilla Nybegynder
02. juni 2011 - 20:07 Der er 15 kommentarer og
2 løsninger

Editor nr. 2 på samme php side

Jeg har en side i php hvortil der er mysql database med en
pages, der indeholder id-name-content og
tilbud, der indeholder, id-name-content

På siden har jeg til tabellen pages indsat

<?php if ($admin) {
include ('admin.inc.php');
} else {
include ('content.inc.php');}
?>

og den virker fint, med fckeditor og det hele.

Jeg har så indsat endnu et felt til fabellen tilbud på samme side, som jeg gerne vil have en fckeditor til også.

Hvordan får jeg det lavet?
Avatar billede keysersoze Ekspert
02. juni 2011 - 21:04 #1
Det er lidt svært at gætte sig til ud fra ovenstående kode, men alt det burde kræve er at du opretter dem med forskellig ID.
Avatar billede frulilla Nybegynder
02. juni 2011 - 21:21 #2
content filen der er inkluderet ser sådan her ud:

<?php
    if (isset($include)) {
        $filename = 'include/' . $include . '';
        if (file_exists($filename)) {
            include $filename;
        } else {
            echo "Der opstod en fejl, kontakt venligst en administrator (fejlkode: include not found)";
        }
    } else {
        if (!isset($mode)) {
            echo $content;
        } else {
            if ($mode == 'edit'):?>
           
                <form method="post" action="?section=<?=$section?>&nav=<?=$nav?>&page=<?=$page?>&mode=save">
                    <?php
                        $oFCKeditor = new FCKeditor('FCKeditor1') ;
                        $oFCKeditor->BasePath = '/fckeditor/' ;
                        $oFCKeditor->Value = $content ;
                        $oFCKeditor->Create() ;
                    ?>
                    <a href="?section=?section=<?=$section?>&nav=<?=$nav?>&page=<?=$page?>"><span class="indhold">&lt;&lt; Annuller</span></a>&nbsp;<input type="submit" name="Submit" value="Godkend" />
                </form>
        <? elseif ($mode == 'save'):
           
                $sql = "UPDATE pages SET content = '$FCKeditor1' WHERE id = $page";
                $result = mysql_query($sql);
               
                //check if query successful
                if($result){
                    echo "Gemt!<br /><br /><a href='?section=", $section, "&nav=", $nav, "&page=", $page, "'>Tilbage</a>";
                }
                else {
                    echo "Fejl!";
                }
            endif;
        }               
        if (checkLogin()) {
            echo "<div id='adminEdit'><a href='?section=", $section, "&nav=", $nav, "&page=", $page, "&mode=edit'>Edit</a></div>";
        }
    }
?>


Hjælper det?
Avatar billede frulilla Nybegynder
02. juni 2011 - 21:21 #3
Og admin filen er her:



<?php

if ($admin == "true") {

    if(isset($_SESSION['myusername']))

    {

?>

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



    <a href="?admin=logout" class="textfield">Log ud</a>

   

    <?

    } else {

?>

   

    <form action="?admin=challenge" method="post" name="form1">

      <p>&nbsp;</p>

      <p><span class="indhold">Username:        &nbsp;&nbsp;&nbsp;</span>

<input name="myusername" type="text" class="textfield" id="myusername" />

      </p>

      <p><span class="indhold">Password:

      &nbsp;&nbsp;&nbsp;&nbsp;</span>

<input name="mypassword" type="text" class="textfield" id="mypassword" />

        <input name="Submit" type="submit" class="textfield" value="Login" />

        </p>

    </form>

    <p>

      <?   

    }

} elseif ($admin == 'challenge') {

    ob_start();

   

    $myusername = $_POST['myusername'];

    $mypassword = $_POST['mypassword'];

   

    $myusername = stripslashes($myusername);

    $mypassword = stripslashes($mypassword);

    $myusername = mysql_real_escape_string($myusername);

    $mypassword = mysql_real_escape_string($mypassword);

   

    $sql = "SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";

    $result = mysql_query($sql);

   

    $count = mysql_num_rows($result);

   

    if($count ==1){

        $_SESSION['myusername'] = $mypassword;

        $_SESSION['mypassword'] = $mypassword;

        ?>

    </p>

    <p><span class="indhold">Login godkendt</span><br />

      <br />

      <a href='?admin=true' class="indhold">&lt;&lt;&nbsp;G&aring; til administration</a>

      <br /><br /><h3>ELLER...<br /><br /><a onclick="window.open('http://kokkemad.dk/editor.php','Rediger tekst','width=650,height=1000');return false;" href="http://kokkemad.dk/editor.php">KLIK HER...</a><h3></a>for at redigere tekstboks nederst p&aring; siden.

      <?

            }

    else {

        ?>

    </p>

   

    <p><span class="indhold">Forkert brugernavn eller kodeord</span>

      <?

    }

   

    ob_end_flush();





} elseif

($admin == 'logout') {
    session_start();

    session_destroy();

    ?>
   


    </p>

    <p><span class="indhold">Du er nu logget ud</span><br /><br />

      <a href='/' class="indhold">&lt;&lt;&nbsp;G&aring; til forsiden</a>
     
          <br /><br /><h3>ELLER...<br /><br /><a onclick="window.open('http://kokkemad.dk/editor.php','Rediger tekst','width=650,height=700');return false;" href="http://kokkemad.dk/editor.php">KLIK HER...</a><h3></a>for at redigere tekstboks nederst p&aring; siden.
     

      <?

}

?>

      &nbsp;</p>

    </span>
Avatar billede majbom Novice
02. juni 2011 - 21:56 #4
<?php
  $oFCKeditor2 = new FCKeditor('FCKeditor2') ;
  $oFCKeditor2->BasePath = '/fckeditor/' ;
  $oFCKeditor2->Value = $content ;
  $oFCKeditor2->Create() ;
?>


?

du beskriver det ret dårligt, men du kan vel bare oprette et nyt object af fckeditoren? den skal bare kaldes noget andet og så skal der nok noget andet end $content i Value, men jeg kan ikke se hvor $content kommer fra...
Avatar billede pstidsen Novice
02. juni 2011 - 21:56 #5
Avatar billede frulilla Nybegynder
02. juni 2011 - 22:47 #6
@pstidsen: ja det er helt korrekt. Den virkede fint for mig, men var uden bbcodes. Og det savner jeg. Så derfor jeg forsøger med fckeditor.


@splazz. undskyld jeg er så dårlig til at forklare, men jeg prøver at gøre mit bedste.

Jeg har prøvet med at indsætte
<?php if ($admin) {
include ('admin2.inc.php');
} else {
include ('content2.inc.php');}
?>

i min index.php fil. Og så oprette en admin2.inc.php samt en content2.inc.php, men det viser kun det samme som den første.

Hvis det kan hjælpe nogen, kan jeg sende et login til siden, så I kan se hvad jeg mener.



Siden er http://kokkemad.dk og det er boksen under billeder, jeg bøvler med. (den starter med "KOKKEMAD.dk - højt serviceniveau - rimelige priser")
Avatar billede majbom Novice
02. juni 2011 - 23:58 #7
du vil have 2 editorer på samme side, korrekt?
Avatar billede frulilla Nybegynder
03. juni 2011 - 13:39 #8
Ja nemlig. Jeg har jo den ene nu, til hovedteksten, men så skal der også være en til et lille tilbud. Jeg ved godt, at jeg rent faktisk kunne lave hele siden i editoren, men brugeren skal ikke kunne redigere i layoutet med de 3 billeder ved siden af hinanden.
Avatar billede frulilla Nybegynder
03. juni 2011 - 13:40 #9
Og jeg har tit lavet det i classisk asp, så det må da også være nemt nok i php.
Avatar billede keysersoze Ekspert
03. juni 2011 - 13:49 #10
Der er kommet to forslag på det samme, nemlig at oprette nummer 2 editor med et andet id - hvis det du har forsøgt ud fra de forslag ikke virker så prøv at kom med koden til dine forsøg så vi kan se hvor det går galt.
Avatar billede frulilla Nybegynder
03. juni 2011 - 13:55 #11
Jeg har forsøgt mig med dettte:¨¨<form action="" method="POST">

<br />
<?php
$oFCKeditor = new FCKeditor('FCKeditor');
$oFCKeditor->BasePath = '/fckeditor/';
$oFCKeditor->Value = $content2;
$oFCKeditor->Create('') ;
?><br />

<input type="submit" name="submit" value="submit">

<?php

if($_POST[submit]) {


if($_POST[$FCKeditor] == "") {
echo "Du mangler at skriv din tekst!";
echo "<br/><br/>";

}else{

mysql_query("INSERT INTO tilbud(content)  VALUES ('$_POST[FCKeditor]')") or die(mysql_error());
echo "Beskeden blev nu gemt!";
echo "<br/><br/>";

}
}
?></form>
Avatar billede frulilla Nybegynder
03. juni 2011 - 13:58 #12
og det kommer ikke ind i databasen. ^Jeg åbner det i en ny fil, så derfor hedder den ikke fckeditor2


Koden:

<form action="" method="POST">

<br />
<?php
$oFCKeditor = new FCKeditor('FCKeditor');
$oFCKeditor->BasePath = '/fckeditor/';
$oFCKeditor->Value = $content;
$oFCKeditor->Create('') ;
?><br />

<input type="submit" name="submit" value="submit">

<?php

if($_POST[submit]) {


if($_POST[$FCKeditor] == "") {
echo "Du mangler at skriv din tekst!";
echo "<br/><br/>";

}else{

mysql_query("INSERT INTO tilbud(content)  VALUES ('$_POST[FCKeditor]')") or die(mysql_error());
echo "Beskeden blev nu gemt!";
echo "<br/><br/>";

}
}
?></form>
Avatar billede frulilla Nybegynder
03. juni 2011 - 18:56 #13
Så virker det. Jeg har lavet en fil editor.php med følgende kode:

<form action="" method="POST">

<br />
<?php
  $oFCKeditor2 = new FCKeditor('FCKeditor2') ;
  $oFCKeditor2->BasePath = '/fckeditor/' ;
  $oFCKeditor2->Value = $content ;
  $oFCKeditor2->Create() ;
?>
<input type="submit" name="submit" value="submit">

<?php

if($_POST[submit]) {


                $sql = "UPDATE tilbud SET content = '$FCKeditor2'";
                $result = mysql_query($sql);

echo "Beskeden blev nu gemt!";
echo "<br/><br/>";

}

?></form>


Og det virker helt som det skal.


Smider I nogle svar, så der kan uddeles point?
Avatar billede majbom Novice
03. juni 2011 - 19:31 #14
svar...
Avatar billede keysersoze Ekspert
03. juni 2011 - 20:05 #15
svar :)
Avatar billede frulilla Nybegynder
03. juni 2011 - 21:01 #16
Og mange tak for hjælpen :)
Avatar billede majbom Novice
03. juni 2011 - 21:12 #17
selv tak og tak for point :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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