Avatar billede Ph1re Nybegynder
08. januar 2011 - 14:46 Der er 19 kommentarer og
2 løsninger

'Rediger side'-knap

Hejsa! Ja, som titlen angiver, skal jeg bruge en 'Rediger side'-knap! (;

Jeg vil gerne høre, om der er nogen der kender et godt freeware script til sådan en?

Det skal helst være en kode, jeg smækker i min php fil, og når siden så bliver vist, vil det være muligt at klikke 'Rediger', og derved ændre indholdet af siden.

Om der er en WYSIWYG editor er ligegyldigt, da jeg altid senere kan tilføje sådan en

Det er ligeledes bedøvende ligegyldigt, om man skal logge ind, eller om alle og enhver kan klikke rediger, da jeg nok selv skal få det beskyttet.

Lyder det som noget der er muligt?
Avatar billede Ph1re Nybegynder
08. januar 2011 - 15:10 #1
I ved, lidt a lá Wikipedia..
Avatar billede ohmish Nybegynder
08. januar 2011 - 16:12 #2
Så du eftersøger bare en knap eller hvad?
Avatar billede agora_live Nybegynder
08. januar 2011 - 16:38 #3
Til mit kendskab skal du enten hente siden via en database, eller en text fil for at kunne håndtere sådan noget.....
Avatar billede martiinkolle Nybegynder
08. januar 2011 - 17:42 #4
Ja, du kan bruge joomla. Ej...

Kan du selv kode php, eller vil du have det kodet? :-)
Avatar billede Ph1re Nybegynder
08. januar 2011 - 18:51 #5
Jeg vil rigtig gerne have det kodet. Og så, så simpelt som overhovedet muligt (;

Ja, jeg søger bare en knap. Eller et link. Som gør det muligt at ændre i indholdet på den pågældende side. Sikkerhed er intet program, jeg skal bare bruge scriptet.

Jeg har det helt fint med at siden bliver hentet fra en tekstfil, eller MySQL for den sags skyld, så længe den stadig kan indeholde html.
Helt bedst ville dog være, hvis den kunne ændre direkte i filen(;
Avatar billede martiinkolle Nybegynder
08. januar 2011 - 20:00 #6
Har ikke lige teste det, men det burde kunne gøres på den her måde.. :D

<?php
if (isset($_POST['submit'])) {

$filename = "filetowriteto.txt";

//textarea'et som indeholder det nye indhold.
$string = $_POST['indhold'];

//åben og skriv til filen
if($handle = fopen($filename, 'w')){ //w kan ændres til andre ting, efter hvad du ønsker. se http://php.net/manual/en/function.fopen.php -> "mode"
    if(is_writable($filename)){
        if(fwrite($handle, $string) === FALSE){
        echo "Cannot write to file $filename";
        exit;
        }
    fclose($handle);
    }
    else{
        echo "Could not wirte to file.";
    exit;
    }
}
    else{
        echo "Could not create file!";
    exit;
    }
}//end write

}//end isset post submit
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<textarea cols="100" rows="100" name="indhold"><?php include($filename); ?></textarea>
<input type="submit" name="submit" value="Gem!" />
</form>
Avatar billede Ph1re Nybegynder
08. januar 2011 - 21:23 #7
Det er sikkert mig, der gør noget forkert, men når jeg gemmer det som en php fil, og loader det op på en server, får jeg blot vist en blank side?
Avatar billede webweaver Praktikant
08. januar 2011 - 21:44 #8
Du skal også lige have en HTML struktur og så videre med ...

<html>
<head>
</head>
<body> ...

du kan ikke bare vise <form .. >..

Desuden skal du vise indholdet af din .txt fil et sted, hvor du gerne vil have det vist.

Tvivler på at du får det til at fungere optimalt som det er lavet til dig nu. Uden at vide hvad du nøjagtig skal bruge/forventer.

Men man laver ikke bare et system, hvor du kan redigere online på siden sådan lige. I hvert fald ikke hvis det skal være sådan rigtigt, hvor du vil kunne omstrukturere hele designet fx. Småting som lidt CSS og så videre kan man godt lave meget simpelt.
Avatar billede Ph1re Nybegynder
08. januar 2011 - 21:49 #9
Jeg har tilføjet de tags..

& Jeg kan sagtens få vist tekstfilen, lige nu er det nok, hvis blot jeg kan ændre den..
Avatar billede webweaver Praktikant
08. januar 2011 - 21:51 #10
Selvom du har de tags og en DOCTYPE etc, kan du ikke få formen frem?
Avatar billede Ph1re Nybegynder
08. januar 2011 - 22:01 #11
Jeg har en fil der hedder change.php med dette indhold:

if (isset($_POST['submit'])) {

$filename = "filetowriteto.txt";

//textarea'et som indeholder det nye indhold.
$string = $_POST['indhold'];

//åben og skriv til filen
if($handle = fopen($filename, 'w')){ //w kan ændres til andre ting, efter hvad du ønsker. se http://php.net/manual/en/function.fopen.php -> "mode"
    if(is_writable($filename)){
        if(fwrite($handle, $string) === FALSE){
        echo "Cannot write to file $filename";
        exit;
        }
    fclose($handle);
    }
    else{
        echo "Could not wirte to file.";
    exit;
    }
}
    else{
        echo "Could not create file!";
    exit;
    }
}//end write

}//end isset post submit
?>
<html>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<textarea cols="100" rows="100" name="indhold"><?php include($filename); ?></textarea>
<input type="submit" name="submit" value="Gem!" />
</form>
</body>
</html>

Jeg satte bare tagsne ned og rundt om formlen

I samme mappe som change.php , ligger der en tekst fil, som hedder filetowriteto.txt

Før var siden blank, men nu bliver den ved med at sige internal server error..

http://mpagh.dk/ToTest/change.php
Avatar billede webweaver Praktikant
08. januar 2011 - 23:02 #12
Du mangler også <head> og så videre..?
Avatar billede Ph1re Nybegynder
08. januar 2011 - 23:17 #13
Jeg har forsøgt at tilføje <head>, og det gjorde ingen forskel.
Det burde heller ikke være nødvendigt i et php dokument..
Avatar billede webweaver Praktikant
08. januar 2011 - 23:35 #14
Det har intet at gøre med om det er et PHP dokument eller ej ...
Du prøver at vise noget i HTML. Du skal have <head></head>.

Har du en DOCTYPE? Du husker også at starte din PHP med <?php ikke? Det har du nemlig ikke vist herinde i dit tidligere indlæg.
Avatar billede webweaver Praktikant
08. januar 2011 - 23:36 #15
Start evt. med at fjerne alt dit PHP før <html> og så start med at få formen vist...
Avatar billede Ph1re Nybegynder
08. januar 2011 - 23:46 #16
<?
if($_POST['Submit']){
$open = fopen("filetowriteto.txt","w+");
$text = $_POST['update'];
fwrite($open, $text);
fclose($open);
echo "File updated.<br />";
echo "File:<br />";
$file = file("filetowriteto.txt");
foreach($file as $text) {
echo $text."<br />";
}
echo "Det virkede sgu!";
echo "Tillykke:)";
}else{
$file = file("filetowriteto.txt");
echo "<form action=\"".$PHP_SELF."\" method=\"post\">";
echo "<textarea Name=\"update\" cols=\"50\" rows=\"10\">";
foreach($file as $text) {
echo $text;
}
echo "</textarea>";
echo "<input name=\"Submit\" type=\"submit\" value=\"Update\" />\n
</form>";
}
?>

Denne her virker som den skal;)

- Jeg ved ikke præcist hvad der var galt, men nu virker den i hvert fald!

Tak for hjælpen!(:
Avatar billede Ph1re Nybegynder
08. januar 2011 - 23:47 #17
Smid lige et svar, så du også kan få nogle point:)
Avatar billede martiinkolle Nybegynder
08. januar 2011 - 23:48 #18
beklager, havde lavet et par små fejl i scriptet. Hvad der angår doctype, og alle de andre tag, så behøver de ikke at være der. Alle nyere browsere kan godt vise siden alligevel!

Du kan finde en demo: http://files.kollerups.dk/test/change.php

<?php

$filename = "write.txt";

if (isset($_POST['submit'])) {
//textarea'et som indeholder det nye indhold.
$string = $_POST['indhold'];

//åben og skriv til filen
if($handle = fopen($filename, 'w')){ //w kan ændres til andre ting, efter hvad du ønsker. se http://php.net/manual/en/function.fopen.php -> "mode"
    if(is_writable($filename)){
        if(fwrite($handle, $string) === FALSE){
        echo "Cannot write to file $filename";
        exit;
        }
    fclose($handle);
    }
    else{
        echo "Could not wirte to file.";
    exit;
    }
}
    else{
        echo "Could not create file!";
    exit;
    }
}//end write
?>
<html>
<body>
<h2>Du skriver til filen <?php echo $filename; ?></h2>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<textarea cols="90" rows="20" name="indhold"><?php require_once($filename); ?></textarea>
<input type="submit" name="submit" value="Gem!" />
</form>
</body>
</html>
Avatar billede martiinkolle Nybegynder
08. januar 2011 - 23:51 #19
svar ! :D
Avatar billede webweaver Praktikant
09. januar 2011 - 00:01 #20
martiinkolle:

Ja det kan måske vises. Det er ikke nyt. Men vil det også virke i forskellige browsere og så videre? ;-) Nej .. Og på tværs af forskellige sprog? nej .. Der er mange ting der kan nævnes.

Hvis man laver hjemmesider og man bare har en lille smule idé om hvad man laver eller besidder lidt prof. i sig, så undlader man det ikke.

Så super dårligt råd at du kommer med!!!
Avatar billede martiinkolle Nybegynder
09. januar 2011 - 00:12 #21
jeg siger heller ikke at man skal undlade det til productions sider, men at når man sidder og leger så er det ikke det første man behøver at tænke på. :D
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

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