ugrás a tartalomhoz

file_put_contents()

bence04 · 2010. Júl. 31. (Szo), 20.05
sziasztok
egy olyan problémám lenne hogy van egy php kódom ami egy futószöveget lehet szerkeszteni [colorer="php"]

<?php



$szoveg = $_POST[szoveg];

file_put_contents('futoszoveg.txt', $szoveg);
echo 'A fájl írása sikeresen megtörtént. Automatikusan vissza lesz irányítva a hír szerkesztéséhez';
?>

[colorer]

az a gond hogy szerkesztésenként betesz egy fordított tör jelet (\) nem tudom mi lehet a probléma olyanra gyanakszom hogy a html kódot visszaalakítja hogy ne legyen biztonsági hiba de nem vagyok benne biztos van valami ötletetek? vagy kód hogy mivel lehetne ugyan így szerkeszteni? :):)
Bence
 
1

Több információ

Poetro · 2010. Aug. 1. (V), 08.09
Hova rakja be a \ jelet, és micsoda? Mi szerepel a futoszoveg.txt fájlban, és hogyan jeleníted meg?
2

ezek

bence04 · 2010. Aug. 1. (V), 08.42
a \ a " elé teszi be és így vannak a kódok

kiir.php (a fájl módosítását végzi)
<?php

  

$szoveg = $_POST[szoveg];
 
file_put_contents('futoszoveg.txt', $szoveg);
echo 'A fájl írása sikeresen megtörtént. Automatikusan vissza lesz irányítva a hír szerkesztéséhez';
?>
hir.php (ebben lehet szerkeszteni a hírt és a gomb megnyomása utána a kiir.php hajtódik végre):

<form name="hir" method="POST" action="kiir.php" >
   <div>
    <label for="comment">Hír: </label>
    <br>
    <textarea id="comment" name="szoveg" cols="40" rows="15"><?php include("futoszoveg.txt"); ?></textarea>
    <br>
    <input type="submit" value="Kiírás új hírnek">
  </div>
</form>
és így jelenítem meg a futoszoveg.txt-t

<form>

 <p  style="text-align: center; font: bold 11px verdana,helvetica,arial,sans-serif;"><marquee direction="left" height="14" width="auto" scrollamount="3" onmouseout="this.start()" onmouseover="this.stop()" style="filter: Alpha(Opacity=100, FinishOpacity=0, Style=1, StartX=0, StartY=30, FinishX=0, FinishY=0); width: auto; height: 14px"><center><span style="color: #ffffff"><span style="font-size: 12px"><span id="1267300224898S" style="display: none">&#160;</span><?php include("futoszoveg.txt"); ?></span></span><span id="1267300224619E" style="display: none">&#160;</span></marquee></p>

</form>
és a futoszoveg.txt az egy 777-es joggal ellátott fájl amit a hir.php-ban lehet írni és mindig ha szerkesztem mentés után minden " elé betesz egy \ jelet.
3

magic_quotes_gpc

janoszen · 2010. Aug. 1. (V), 08.44
Nézd meg a magic_quotes_gpc nevű PHP funkciót, ez lesz a ludas. Ami a kódodat illeti, lukas mint a svájci sajt. Ismerkedj meg a htmlspecialchars függvénnyel és include helyett inkább használj file_get_contents-et.
4

htmlspecialchars

bence04 · 2010. Aug. 1. (V), 08.51
a htmlspecialchars függvényt ismerem az alakítja át a html-es kódokat a biztonság érdekében ha minden igaz :) és file_get_contents-el hogyan lehet beszúrni fájlokat? :O:O ugyan úgy ahogy írni a file_put_contents-el??
5

köszönöm

bence04 · 2010. Aug. 1. (V), 12.47
köszönöm már működik :):)
6

még egy kérdés

bence04 · 2010. Aug. 6. (P), 10.35
Sziasztok
lenne egy kérdésem megint :)
most így használom a file_put_contents-et :

file_put_contents('feliratkozok.csv', $email, FILE_APPEND);
hogy lehetne megcsinálni hogy az E-mail cím beszúrása után betegyen egy ; őt szóközzel?

mert próbáltam a kódba így betenni:

file_put_contents('feliratkozok.csv', $email, ';', FILE_APPEND);
de hiba üzenetet kaptam valami ötlet?
Bence
7

Majdnem.... :)

nvyktor · 2010. Aug. 6. (P), 10.57
Majdnem.... :)

A php-ban a karakterláncokat a . jellel tudod összefűzni.
Vagyis a kódod helyesen:
file_put_contents('feliratkozok.csv', $email.'; ', FILE_APPEND);
vagyis fogja a $email változó tartalmát, és ehhez hozzáfűz egy ;-t, és egy szóközt.

A hibaüzenetet azért adta, mert számára nem értelmezhető paramétert adtál a file_put_contents() függvénynek.

Üdv:
V.
9

köszönöm

bence04 · 2010. Aug. 6. (P), 11.11
köszönöm a gyors választ mostmár működik :)
Bence
8

Nem értem

Poetro · 2010. Aug. 6. (P), 10.59
Nem értem a kérdést. Meg nézed a file_put_contents paraméterezését, és alkalmazod.
file_put_contents('feliratkozok.csv', $email . ';     ', FILE_APPEND);