tablica nie zwraca wartości gdy jest w niej kod html
gregus_pl - 31 Maj 2004 18:13
witam, oto opis mojego problemu
wypełniam formularz i wysyłam go dane z formularza są zapisne do pliku w nastepujący sposób,(ponizej) ukośników nie ma sa one kasowane przez funkcje StripSlashes, jest oki
chodzi głównie o zmienną $tresc która znajduje sie na końcu i po niej nie ma juz nic, zmienna $tresc podczas zapisu do pliku przechowuje w sobie nie tylko zwykły tekst ale też znaczniki html, takie jak
<a href=vcvx>fdfsd</a> <img src=fasd.gif border=0>
oczywiście bez cudzysłowiów w takiej postaci ja wyzej, przy wiekszej ilości kodu html, skrypt odczytujący plik zapisuje dan po odczytaniu w tablicy, ale nie zwraca wartości danych z tablicy, nie wiem czy odczytuje go ale chyba tak,
oto kod php który zapisuje do pliku
<?
$ile="2";
$tresc=StripSlashes($tresc);
$link_names=$link_name;
$link_names = eregi_replace(" ","%20",$link_names);
$wpis="||$power||$rodzaj||$link_name||$link_names||$autor||$wiecej||$name_wiecej||$data_dodania||$godz||$komen||$tresc";
$plik=fopen("plik$ile.php","w");
flock($plik,2);
fwrite($plik, $wpis);
flock($plik,3);
fclose($plik);
echo"zmiany zostały zapisane";
?>
plik zapisuje sie bez problemów, i po otwarciu w notatniku jest wszystko to co wpisałem w formularzu
oto dana jakie zostały zapisane do pliku przez skrypt powyzej
||on||master||HISTORIA||HISTORIA||||||||31 maja (poniedziałek), 2004||10:59:13||on|| ale padaka <div align=left class=data>Rok 1961</div><br><A href=image/historia_1.jpg target=_blank> link</A><br><br><div align=left class=data>Rok 1961</div><br><div align=justify>
jakiś tekst ...... długi kilkanasci linijek
............</div><br><br><div align=left class=data>Rok 1962</div><br><div align=justify>
jakieś kolejny tekst</div><br>
taka kombinacja kody html i zwykłego tekstu uniemożliwia wyświetlenie danych na stronie
od słów "ale padaka" zaczyna sie wartość zmiennej $tresc którą zwróciła przy zapisie do pliku, jeśli wyrzucimy kod html i pozostawimy zwykły tekst to wyświetli sie bez problemu
oto skrypt który wyświetla dane na stronie:
<?
if(file_exists("plik$ile.php")){ //sprawdza czy plik do wstawienia istnieje
$file6 = file("plik$ile.php");
$total = count($file6); //odczytuje plik i zapisuje w tablicy
for($i=0; $total > $i; $i++){
$split = explode("||", $file6[$i]);
if ($split[6] == "")
{ $link=""; }
else
{ $link="<a href=\"http://$split[6]\" target=_blank>$split[7]</a>"; }
if ($split[10] == "off"){
$komen="";
}
else{
$komen="<div align=\"right\"> <a href=add_komen.php?art=$show&tyt=$split[4]&action=new target=_blank>$lang14</a></div>";
}
if ($k_power22==on) {$pow="<div align=\"right\"><a href=powiadom.php?art=$show&tyt=$split[4]&action=new target=_blank>$lang12</a></div>";}
else{ $pow=""; }
$art="<table id=tab_a align=center valign=top width=95% border=1 cellspacing=0 cellpadding=0 bgcolor=white frame=border bordercolor=#909090>
<tr><td valign=top align=left><br>
$split[11]
<br><br>
<table align=center valign=bottom width=97% border=1 cellspacing=0 cellpadding=0 frame=border bordercolor=#D1D1D1 style=\"font-family: Verdana;font-size: 10pt;color: black;left: 10pt; margin: 2pt; padding:3pt;\">
<tr><td>
<div align=right>$link Kiedy dodano: $split[8]   o godz: $split[9] Autor: <b>$split[5]</b></div>
$pow
$komen
</td></tr></table>
</td></tr></table>";
}
}
?>
całość jest wyświetlona w tabeli
jeśli w tablicy znajduje sie kod html to na strnie nie są wyświetlona żadne informacje
w jaki inny sposób moge odczytać ten plik aby moc wyświetlic dane na stronie (tablice to dobry pomysł ale w moim przypadku nie najlepszy)
co musze zrobić aby kod html z pola w której znajduje sie zmienna $tresc został wyświetlony poprawnie, mała uwaga, wartośc zmiennej $tresc znajduje sie na koncu pliku, przed nia są rózne dane i one takze nie sa pokazywane na stronie gdy w zmiennej $split[11] jest kod html
czy czasem musze w inny sposób zapisac do pliku lub w inny sposób odczytać, po odczytaniu tworzona jest tabica $split[$i] o indeksie $i, element z tablicy o indeksie $split[11] zawiera dane z ostatniego pola w pliku( dane zawierające kod html)
czy zmienną $tresc muszę poddać jakieś operacji aby móc wyświetlić jej zawartośc
jak uporać sie z tym problemem
czakam na widomości na forum albo na maila adres chromiec_83(małpa)op.pl
sorki za błedy i gramatykę ale poprostu nie mam już nerwów do tego
arnoldziq - 26 Sty 2010 20:52
Stary post.
Brak odpowiedzi.
Kosz.