Gå til innhold

Åpne og redigere en fil...


Anbefalte innlegg

Hei.

skal lage et system slik at jeg kan gå inn og endre om meg på siden min.

Og slik ser det ut nå

<?
$filename = 'profil.inc';
$innlegg = "$text";
$fp = fopen($filename,'a');
fwrite($fp,$text);
fclose($fp);
?>

Mitt spørsmål er nå.

Der så åpner php en scriptet og endrer det bare så lukker det.

Hvordan kan jeg få det slik at når jeg åpner det, henter det informasjonen på profil.inc slik at jeg kan redigere det ?

Lenke til kommentar
Videoannonse
Annonse

http://no.php.net/fopen

'r' Open for reading only; place the file pointer at the beginning of the file. 

'r+' Open for reading and writing; place the file pointer at the beginning of the file. 

'w' Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it. 

'w+' Open for reading and writing; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it. 

'a' Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it. 

'a+' Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it. 

'x' Create and open for writing only; place the file pointer at the beginning of the file. If the file already exists, the fopen() call will fail by returning FALSE and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL|O_CREAT flags for the underlying open(2) system call. This option is supported in PHP 4.3.2 and later, and only works for local files. 

'x+' Create and open for reading and writing; place the file pointer at the beginning of the file. If the file already exists, the fopen() call will fail by returning FALSE and generating an error of level E_WARNING. If the file does not exist, attempt to create it. This is equivalent to specifying O_EXCL|O_CREAT flags for the underlying open(2) system call. This option is supported in PHP 4.3.2 and later, and only works for local files.

Lenke til kommentar

<?php
$file = $_GET['file'];
$innhold = file_get_contents($file);
$this_file = basename($_SERVER['PHP_SELF']);
if (!isset($file)) {
if ($handle = opendir('.')) {
while (false !== ($fil = readdir($handle))) {
if ($fil != "." && $fil != "..") {
echo "<a href=\"$this_file?file=$fil\">$fil</a><br />\r\n";
}
}
}
closedir($handle);
} else if ($_GET['step'] == "1") {
$handle = fopen($file, "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "Fullført!";
} else {
?>
<form action="<?= $this_file."?step=1&".$_SERVER['QUERY_STRING'] ?>" method="post">
<textarea name="text"><?= $innhold ?></textarea><br />
<input type="submit" value="Lagre!" />
</form>
<?php
}
?>

 

PS! Ikke testet. Du burde kun prøve med en test-fil først ;)

Endret av Judofyr
Lenke til kommentar

Skulle slå sammen den filen med login script som skjekker at du er logga inn, gikk dårlig.

Hvordan skal jeg gjøre det på linje 26 ?

Vet jeg ikke kan gjøre det slik jeg gjør det nå, men finner ikke noen løsning, noen forslag ?

 

 
<?php
// sjekke om brukeren er logget inn
session_start();
if ($_SESSION['LoggedIn']) $LoggedIn=true;
else $LoggedIn=false;
if ($LoggedIn) //start om du er logget inn

$file = $_GET['file'];
$innhold = file_get_contents($file);
$this_file = basename($_SERVER['PHP_SELF']);
if (!isset($file)) {
if ($handle = opendir('.')) {
while (false !== ($fil = readdir($handle))) {
if ($fil != "." && $fil != "..") {
echo "<a href=\"$this_file?file=$fil\">$fil</a><br />\r\n";
}
}
}
closedir($handle);
} else if ($_GET['step'] == "1") {
$handle = fopen($file, "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "Fullført!";
} else {
echo <<< end
<form action="<?= $this_file."?step=1&".$_SERVER['QUERY_STRING']  // feil her
echo ?>" method="post">
<textarea name="text" rows="20" cols="70"><?= $innhold ?></textarea><br />
<input type="submit" value="Lagre!" />
</form>
end;
}


//start om du ikke er logget inn
else
echo <<< end

<h1>Adgang forbudt</h1>
<p>Du må logge inn</p>

end;
?>
</body>
</html>

Lenke til kommentar

 
<?php
// sjekke om brukeren er logget inn
session_start();
if ($_SESSION['LoggedIn']) $LoggedIn=true;
else $LoggedIn=false;
if ($LoggedIn) //start om du er logget inn

$file = $_GET['file'];
$innhold = file_get_contents($file);
$this_file = basename($_SERVER['PHP_SELF']);
if (!isset($file)) {
if ($handle = opendir('.')) {
while (false !== ($fil = readdir($handle))) {
if ($fil != "." && $fil != "..") {
echo "<a href=\"$this_file?file=$fil\">$fil</a><br />\r\n";
}
}
}
closedir($handle);
} else if ($_GET['step'] == "1") {
$handle = fopen($file, "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "Fullført!";
} else {
?>
<form action="<?= $this_file."?step=1&".$_SERVER['QUERY_STRING'] ?>" method="post">
<textarea name="text" rows="20" cols="70"><?= $innhold ?></textarea><br />
<input type="submit" value="Lagre!" />
</form>
<?php
}


//start om du ikke er logget inn
else
echo <<< end

<h1>Adgang forbudt</h1>
<p>Du må logge inn</p>

end;
?>
</body>
</html>

Virker det nå?

 

EDIT: Nå, da?

Endret av Judofyr
Lenke til kommentar

Hva med denne:

<?php
// sjekke om brukeren er logget inn
session_start();
if ($_SESSION['LoggedIn']) { $LoggedIn=true; }
} else { $LoggedIn=false; }
if ($LoggedIn) { //start om du er logget inn

$file = $_GET['file'];
$innhold = file_get_contents($file);
$this_file = basename($_SERVER['PHP_SELF']);
if (!isset($file)) {
if ($handle = opendir('.')) {
while (false !== ($fil = readdir($handle))) {
if ($fil != "." && $fil != "..") {
echo "<a href=\"$this_file?file=$fil\">$fil</a><br />\r\n";
}
}
}
closedir($handle);
} else if ($_GET['step'] == "1") {
$handle = fopen($file, "w");
fwrite($handle, $_POST['text']);
fclose($handle);
echo "Fullført!";
} else {
?>
<form action="<?= $this_file."?step=1&".$_SERVER['QUERY_STRING'] ?>" method="post">
<textarea name="text" rows="20" cols="70"><?= $innhold ?></textarea><br />
<input type="submit" value="Lagre!" />
</form>
<?php
}


//start om du ikke er logget inn
} else {
echo <<< end

<h1>Adgang forbudt</h1>
<p>Du må logge inn</p>

end;
?>
</body>
</html>

Lenke til kommentar

Niks

Parse error: parse error, unexpected '}' in /web/www/frac/users/iquniez/j/test.php on line 5

 

Så fjærna jeg en } som så ut til og ikke passe inn..

 

Så kom det at det..

 

Parse error: parse error, unexpected $ in /web/www/frac/users/iquniez/j/test.php on line 39

 

Og det numeret endres hele tia til den siste linja i dokumentet som kan være </html> eller <! haha !> uansett, siste linja :S

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...