Gå til innhold

Redigering av fil, ved hjelp av $_POST


Anbefalte innlegg

Heisann. Tilbake igjen. Nå har jeg endelig fått login-scriptet mitt til å funke. Og hadde tenkt til å prøve å gjøre slik at admin kunne gå inn og redigere sidene indexx.php, om.php, stillinger.php og varer.php.

 

Har lagd dette scriptet til å velge hvilke fil du vil redigere. Tungt og mongo laget, i know. Men jeg lærte litt av det :)

 

Klikk for å se/fjerne innholdet nedenfor
<?php
$type = 'php';
$I = 'index';
$O = 'om';
$V = 'varer';
$S = 'stillinger';
$RR = 'r';

echo "
<form action='' method='post'>
<input type='submit' name='$I' value='Åpne $I' >
</form> 

<form action='' method='post'>
<input type='submit' name='$O' value='Åpne $O' >
</form> 

<form action='' method='post'>
<input type='submit' name='$V' value='Åpne $V' >
</form> 

<form action='' method='post'>
<input type='submit' name='$S' value='Åpne $S' >
</form> ";

if ( isset ( $_POST['index'] ) )
{
echo "<a href='$I.$RR.$type'>Klikk på meg for å redigere $I</a> <br /><br />
<form action='' method='post'>
<input type='submit' name='Fjern' value='Lukk $I redigering' >
</form>";
if ( isset ( $_POST['Fjern'] ) )
{
unset( $_POST['index'] );
}
}

if ( isset ( $_POST['om'] ) )
{
echo "<a href='$O.$RR.$type'>Klikk på meg for å redigere $O</a> <br /><br />
<form action='' method='post'>
<input type='submit' name='Loggav' value='Lukk $O redigering' >
</form> ";
if ( isset ( $_POST['Fjern'] ) )
{
unset( $_POST['om'] );
}
}

if ( isset ( $_POST['varer'] ) )
{
echo "<a href='$V.$RR.$type'>Klikk på meg for å redigere $V</a> <br /><br />
<form action='' method='post'>
<input type='submit' name='Loggav' value='Lukk $V redigering' >
</form> ";
if ( isset ( $_POST['Fjern'] ) )
{
unset( $_POST['varer'] );
}
}

if ( isset ( $_POST['stillinger'] ) )
{
echo "<a href='$S.$RR.$type'>Klikk på meg for å redigere $S</a> <br /><br />
<form action='' method='post'>
<input type='submit' name='Loggav' value='Lukk $S redigering' >
</form> ";
if ( isset ( $_POST['Fjern'] ) )
{
unset( $_POST['stillinger'] );
}
}
?>

 

Testside

 

Vidre hadde jeg tenkt til at når du går inn i f.eks index.r.php kan du trykke på en knapp som åpner indexx.php. Så skal teksten vises 2 seteder. 1 over <form> og en i <form>.

 

I denne <form>'en skal da det som allerde er på fila åpnes. Man skal også kunne redigere denne og når man trykker på 'Save' (eller noe i den dur) lagres fila slik som den var i <form>

 

Noen som kan hjelpe meg igang?

 

- Th0mas^

Lenke til kommentar
Videoannonse
Annonse

Dette må jeg si var en ganske knotete løsning..

For det første, kutt gjerne ned i koden din, å det er en fordel å bruke databaser, så slipper du rot med chmod etc.. Men, siden du spurte, så skal du få svar..

 

1. Kutt ned koden.

Ok, du har altså fire sider du ønsker å redigere, hvorfor ikke bare gjør det på denne måten.

Skjema:

<form method="post" action="">
 <label for="velg">Velg side:</label>
 <select size="1" name="velg" id="velg">
   <option value="index.php">Hovedsiden</option>
   <option value="om.php">Om oss</option>
   <option value="varer.php">Våre produkter</option>
   <option value="stillinger.php">Ledige stillinger</option>
 </select><br />
 <input type="submit" name="submit" value="Rediger side">  
</form>

PHP:

if(!isset($_POST['submit'])) 
{
// VIS SKJEMAET HER..
}
else 
{
echo "<form method=\"post\" action=\"savefile.php\">\n
<input type=\"hidden\" name=\"fil\" value=\"".$_POST['velg']."\">
<textarea name=\"html\">".file_get_contents($_POST['velg'])."</textarea>\n
<input type=\"submit\" name=\"submit\" value=\"Rediger side\">"; 
}

"savefile.php":

<?php
// Først, formater litt
$fildata = str_replace("\r\n", "\n", $_POST['html']);
$fildata = str_replace('\"', '"', $fildata);

// Åpne filen
$fil = @fopen($_POST['fil'], 'w+');
if($fil) {
// Lagre 
fwrite($fil, $fildata);
fclose($fil);
}
?>

 

Nå må jeg bare advare deg, dette scriptet skrev jeg nå bare på sparken, så det kan være noen skrivefeil som skaper problemer. En annen ting, dette scriptet er ikke akkurat trykt. En del åpne hull som blant annet tillater brukere å redigere andre sider enn de i listen

Lenke til kommentar

n00b spotted :p

 

Hvor skal jeg putte den i denne koden her?

 

echo "<br /><form method=\"post\" action=\"savefile.php\">\n
rows='9' <input type=\"hidden\" name=\"fil\" value=\"".$_POST['velg']."\">
<textarea name=\"html\">".file_get_contents($_POST['velg'])."</textarea>\n
<input type=\"submit\" name=\"submit\" value=\"Rediger side\">";

Lenke til kommentar

echo "<br /><form method=\"post\" action=\"savefile.php\">\n
rows='9' <input type=\"hidden\" name=\"fil\" value=\"".$_POST['velg']."\" size=\"40\">
<textarea name=\"html\" rows=\"10\" cols=\"20\">".file_get_contents($_POST['velg'])."</textarea>\n
<input type=\"submit\" name=\"submit\" value=\"Rediger side\">";

 

Husk at du må endre "size=40", "rows=10" og "cols=20" til noe som passer deg.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...