Avatar billede oleodder Nybegynder
24. august 2004 - 15:08 Der er 12 kommentarer

Script til at redigere tekst og vise tekst online

Hej Alle

Kort spørgsmål:
Jeg har webhotel hos B-One (understøtter Php) og ønsker i den forbindelse et lille script, der gør - at jeg i et passwordbeskyttet administrationsfelt, kan skrive og redigere en tekst, som fremvises på en af mine hjemmesider i f.eks. en tabelcelle.

Er der nogle der kan hjælpe med dette ??

PS: Jeg er totalt nybegynder i PhP  ;-) - Så gerne god hjælp !!  ;-)
Avatar billede dark-devil Nybegynder
24. august 2004 - 15:12 #1
Det da bare og lave en fil der hedder vis.php
Også kalde det frem.


vis.php

<?php
include("db.php");
$query = mysql_query("SELECT * FROM tabel");
$row = mysql_fetch_array($query);
echo "$row[tekst]";
?>
skriv.php
<input type="text" name="tekst"> <input type="submit" value="Sæt ind">


Og i skriv_ok.php

<?php
include("db.php");
$tekst = $_REQUEST[tekst];
mysql_query("INSERT INTO tabel (tekst) VALUES ('$tekst')");
echo "Din tekst er kommet ind!?";
?>
Avatar billede oleodder Nybegynder
24. august 2004 - 15:21 #2
Okay, er det så nemt ??? Det er derfor PhP er så populært !!!

Jamen, hvor redigerer jeg teksten, hvis jeg nu vil ændre i den ??

Tak ;-)
Avatar billede oleodder Nybegynder
24. august 2004 - 15:26 #3
UPS !! Jeg skal vist også lave noget forarbejde....

Jeg fik en masse fejlmeddelser med:

Warning: Failed opening 'db.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php/PEAR')
Warning: Access denied for user.........
Warning: MySQL Connection Failed: Access denied ........
med mere......

Jeg er for meget nybegynder ???  ;-)
Avatar billede fojensen Nybegynder
24. august 2004 - 16:24 #4
dark-devil's løsning kræver at du også har en MySQL-database til rådighed-har du det, ellers kan du vælge en løsning hvor du åbner en fil, retter teksten, og lukker filen igen...

mvh. Folmer
Avatar billede oleodder Nybegynder
24. august 2004 - 17:22 #5
Hej

OK - Jeg er blot intereseret i den nemmeste løsning.

Jeg har 5 forskellige sider, hvor der bare skal stå et par linier, men disse linier skulle gerne kunne redigeres og ændres en gang imellem online....

Men jeg mangler stor hjælp, da jeg er lost i PhP.....  ;-)
Avatar billede oleodder Nybegynder
24. august 2004 - 19:07 #6
Men jeg har vel også en MySQL database til rådighed !! Det er den lille pakke hos B-One jeg har !! Den er vel med der, ikk ??

Kunne virkelig godt bruge lidt hjælp...  ;-)
Avatar billede oleodder Nybegynder
24. august 2004 - 19:55 #7
Forhøjer lige pointtallet...      ;-)
Avatar billede fojensen Nybegynder
24. august 2004 - 20:25 #8
Jo - du har sikkert mulighed for at oprette en MySQL-database, men du skal nok se i de oplysninger du har fået fra dit webhotel, om der er adgangskode til databasen, ellers skal du måske først bede dem om at oprette den.

Det kan skam også være nyttigt med en løsning hvor du har forskellig tekst liggende i en database. som du så trækker ud til web-brug, men når du skriver at du er totalt nybegynder i PhP, så er det måske ikke lige her du skal starte...

Hvis du i første omgang gerne vil kunne redigere en tekst on-line, vil jeg nok foreslå en txt-fil med teksten, og en tekst.php hvorfra du kan redigere teksten.

mvh. Folmer
Avatar billede oleodder Nybegynder
24. august 2004 - 23:56 #9
Hej Folmer

Jaa, jeg kender godt nok til ASP, men PhP er jeg total newbie i.

Løsning med en txt-fil lyder OK, bare det kan lade sig gøre at rette/skrive i teksten via browseren online.

Det er ikke så meget tekst, men jeg har lidt travlt !!

Kan du hjælpe mig ?
Avatar billede fojensen Nybegynder
25. august 2004 - 00:42 #10
hvis du allerede er kørende i ASP, så...
du skal bruge en filen tekst.txt som indeholder den tekst der skal kunne redigeres

lav en fil tekst.php der indeholder noget i retning af:
----kode----
<?php
$self = "http://".$HTTP_SERVER_VARS["SERVER_NAME"].$HTTP_SERVER_VARS["PHP_SELF"];
$filename = $_SERVER['DOCUMENT_ROOT'] . '\test\tekst.txt';

if($_POST['action'] == 'sendt'){ // hvis formularen er sendt
$nytxt = $_POST['nytxt'];
$nytxt = stripslashes($nytxt);

    $fp = fopen($filename ,"w"); // åbner txt-filen
    fwrite($fp,$nytxt); // retter indholdet til den nye tekst
    fclose($fp); // lukker txt-filen
}

if($_GET['action'] == 'ret'){ // hvis rediger - produceres en formular til redigering

echo "<P><FONT><B>Rediger tekst...</B></P>";

    $fp = fopen($filename ,"r"); // åbner txt-filen
    $txt = fread($fp,10000000); // læser filens indhold (max filstørrelse sat til 10000000)
    fclose ($fp); // lukker txt-filen

// her hopper vi lige ud af php, og skriver html-kode
?> 
<form name="retform" method="POST" action="<?php echo $self; ?>">
<p><textarea rows="10" name="nytxt" cols="50"><?php echo $txt; ?></textarea></p>
<p><input type="submit" value="Send"><input type="reset" value="Nulstil"></p>
<input type="hidden" name="action" value="sendt">
</form>
<?php

} else { // hvis hverken sendt eller rediger er valgt - vis indhold

    $fp = fopen($filename ,"r");
    $txt = fread($fp,10000000);
    fclose ($fp);

$txt = nl2br($txt);
echo $txt;

echo "<br>[ <A href=\"java script:var remote = window.open('tekst.php?action=ret','rediger','width=600,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');\" title=\"rediger tekst\">rediger tekst</A> ]<br>";

}

?>
----/kode----

i linie nr. 3 har jeg sat variablen $filename. den skal angive placeringen af den tekstfil der skal redigeres. Det kan ske at det skal gøres på en eller anden speciel måde på din server...

prøv at se på koden, og spørg hvor du ikke forstår - jeg har delt den op i tre afdelinger afhængig af om der skal modtages postede variabler, rettes eller bare læses. håber du forstår.

du sætter teksten ind i dit dokument i stil med dette:
<?php
echo "<P><FONT><B>Min fil der kan redigeres online...</B></P>";
echo "<P>her kommer måske en indledende tekst</P>";
require($_SERVER['DOCUMENT_ROOT'] . "/test/tekst.php"); // her hentes den redigerbare tekst
echo "<P>her kommer måske en afsluttende tekst</P>";
?>

go' nat - jer er næsten på vej i seng nu

senere kommer vi til det med adgang...
Avatar billede oleodder Nybegynder
25. august 2004 - 18:14 #11
Ja Ja - ikke ekspert i ASP..  ;-)

Tak, jeg prøver at sætte det ind i nogle filer............

;-)
Avatar billede oleodder Nybegynder
25. august 2004 - 23:00 #12
Hej Folmer

Nu har jeg prøvet hele dagen, uden rigtig at få det til at virke....

Hmmm.. Har du tid og mulighed for at skære det bare lidt mere ud i pap ???  ;-)

Mange Tak ;-)
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