webForumDet fria alternativet

Extra radbrytning i början och slutet på fil

PHP

4 svar · 663 visningar · startad av kluringen

Medlem sedan juli 2011156 inlägg
Frågan#1

Hej!

Innehållet hämtas in med en include till sidan som visas där även $_SESSION['filnamn'] får ett värde sitt värde.

<form id="textfil" name="textfil" method="post" action="grupper-skriv.php">
<fieldset>
<label for="textarea">Ändra din text här</label><p>
<textarea  name="gruppsida" id="gruppsida" cols="65" rows="20" value="<?php echo $_POST['gruppsida']; ?>" > 
<?php 
$filnamn = $_SESSION['filnamn'];
$file = fopen($filnamn, "r");
$innehall = fread($file, filesize ($filnamn));
echo $innehall;
fclose($file);
?> 
</textarea> <p>
<label for="submit"></label>
<input type="submit" name="submit" id="submit" value="Spara" />
</fieldset><p>
</form>
<?php session_start();
$filnamn = $_SESSION['filnamn'];
$file = fopen($filnamn, "w");
$innehall = fwrite($file, $_POST['gruppsida']);
fclose($file);
header('Location: ' .$_SESSION['sida1']);
exit;
?>

Jag får en extra radbrytning i början och på slutet på filen varje gång som filen återskrivs. Det syns inte när texten visas i webbläsaren, men blir fult när man går in och editerar i texten på nytt. Går att plocka boert manuellt, men snyggare om man slapp.

Medlem sedan jan. 2005953 inlägg
#2

Funkar det om du gör så här?

<textarea name="gruppsida" id="gruppsida" cols="65" rows="20"><?php  
$filnamn = $_SESSION['filnamn']; 
$file = fopen($filnamn, "r"); 
$innehall = fread($file, filesize ($filnamn)); 
echo $innehall; 
fclose($file); 
?></textarea>

Annars kanske du kan köra trim() på $_POST['gruppsida'] innan du skriver värdet till filen.

Medlem sedan juni 20019 519 inlägg
#3

börja med att ta bort value="" i din textarea ;)

men:

<textarea name="gruppsida" id="gruppsida" cols="65" rows="20"><?php 
$filnamn = $_SESSION['filnamn'];
$file = fopen($filnamn, "r");
$innehall = fread($file, filesize ($filnamn));
echo $innehall;
fclose($file);
?></textarea>

dvs plocka bort radbrytningen på textarea och php kod-blocket.

Medlem sedan juli 2011156 inlägg
#4

Tack det funkar

Men jag fattar inte hur $_POST['gruppsida'] blir satt med den gjorda ändringen. Jag tilldelar den inget ju värde.

Medlem sedan juni 20019 519 inlägg
#5

kluringen skrev:

Men jag fattar inte hur $_POST['gruppsida'] blir satt med den gjorda ändringen. Jag tilldelar den inget ju värde.

det är inte post saken som gjorde skillnaden, du har lagt in radbrytningar i din textarea (du kan inte indentera texten i en textarea om du inte vill presentera det) valde attributet finns inte i en textarea därför tas den bort

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
114 ms — ändringar (db)