Witam, moj problem dotyczy zapisu i odczytu z bazy i wrzucenie tekstu do <textarea> niby wszystko działa dobrze u mnie na krasnalu, ale na serwerze juz nie dodaje addslashes przy zapisie do bazy :/ przez co po wrzuceniu w <textarea> wywala mi kod, zamiast tekstu. Mozliwe ze cos namieszalem dlatego prosze o pomoc. dodam ze pod opera wszystko dziala ok, a pod ie sie kzraczy.
kod:
<?php
function add_form() { /*dodawanie newsa - formularz*/
require(\"db_config.php\");
echo \"<table width=\"730\" cellspacing=\"1\" cellpadding=\"5\" border=\"0\">\"; echo \"<td class=\"pod_banerem\" colspan=\"2\">\"; echo \"Dodawanie newsów:\"; echo \"</td></tr><tr><td class=\"red\" height=\"120\"><img name=\"pokaz\" class=\"zdjecie\" src=\"img/brakfoto.jpg\"></td><td class=\"red\"><form action=\"news_admin.php?op=add\" method=\"post\" name=\"formul\">\";
echo \"Zdjęcie: <select name=\"nazwa_gal\" id=\"zmien\" onchange=\"Foto();\" class=\"textarea\">\";
$wynik = mysql_query (\"SELECT * FROM zdjecia_news\") or die (\" bł±d w pytaniu\"); echo \"<option value=\"img/brakfoto.jpg\">(brak)</option>\"; $galeria = $rekord[3];
$min = $rekord[1];
echo \"<option value=\"\".$min.\"\">$galeria\";
}
echo \"</select></td></tr><tr><td class=\"red\">\"; echo \"Tytuł: </td><td class=\"red\"><input type=\"text\" class=\"textarea\" name=\"tytul\" size=\"55\"></td></tr>\";
echo \"<tr><td class=\"red\">Tre¶ć krótka: </td><td class=\"red\"><textarea name=\"tresc_short\" cols=\"100\" class=\"textarea\" rows=\"10\"></textarea></td></tr>\"; echo \"<tr><td class=\"red\">Tre¶ć długa: </td><td class=\"red\"><textarea name=\"tresc_long\" cols=\"100\" class=\"textarea\" rows=\"20\"></textarea></td></tr>\"; echo \"<tr><td colspan=\"2\" class=\"red_center\" align=\"center\"><input type=\"hidden\" name=\"ip\" value=\"\".$_SERVER [ \"REMOTE_ADDR\" ].\"\">\"; echo \"<input type=\"submit\" class=\"button\" value=\"Dodaj newsa\" name=\"dod\"> \"; echo \"<input type=\"reset\" class=\"button\" value=\"Wyczy¶ć\"> \"; echo \"<input type=\"submit\" class=\"button\" value=\"Anuluj\" name=\"dod\">\";
}
function add() { /*dodawanie newsa do bazy*/
if($_POST['dod'] == \"Dodaj newsa\") {
require(\"db_config.php\");
$tytul = $_POST['tytul'];
$image = $_POST['nazwa_gal'];
$tresc_short = $_POST['tresc_short'];
$tresc_long = $_POST['tresc_long'];
$ip = $_POST['ip'];
if ($tytul==\"\" || $tresc_short==\"\" || $tresc_long==\"\") {
die (\"Musisz wypełnić wszystkie pola. <br><a href=\"javascript:history.back();\">Powrót</a> \"); }
else {
//sprawdzanie poprawnosci tytul
//sprawdzanie poprawnosci tresc_short
//sprawdzanie poprawnosci tresc_long
$wynik = mysql_query(\"SELECT * FROM zdjecia_news WHERE miniatura='$image'\") or die (\" bł±d w pytaniu\"); $image1= $rekord[1];
$pytka = \"INSERT INTO news (idnews, tytul, image, tresc_short, tresc_long, ip, data) VALUES ('$idnews', '$tytul', '$image1', '$tresc_short', '$tresc_long', '$ip', now());\";
pokaz_wszystkie();
}
}
else {
pokaz_wszystkie();
}
}
?>
w tym momencie powinno byc ze slashami, ale na serwerze tak sie nie dzieje. w bazie jest bez slashy. i po wywolaniu edycji:
<?php
function edit_form() { /*formularz edycji newsa o danym id*/
$id=$_GET['id'];
require(\"db_config.php\");
echo \"<table width=\"730\" cellspacing=\"1\" cellpadding=\"5\" border=\"0\">\"; echo \"<td class=\"pod_banerem\" colspan=\"2\">\"; echo \"Edycja newsa:\"; $wynik1 = mysql_query (\"SELECT * FROM news WHERE idnews='$id'\") or die (\" bł±d w pytaniu\"); echo \"</td></tr><tr><td class=\"red\" height=\"120\">\"; if ($row[2]==\"\"){
echo \"<img name=\"pokaz\" class=\"zdjecie\" src=\"img/brakfoto.jpg\">\"; }
else {
echo \"<img name=\"pokaz\" class=\"zdjecie\" src=\"\".$row[2].\"\">\"; }
echo \"</td><td class=\"red\"><form action=\"news_admin.php?op=edit&id=\". $id .\"\" name=\"formul\" method=\"post\">\";
echo \"Zdjęcie: <select name=\"nazwa_gal\" id=\"zmien\" onchange=\"Foto();\" class=\"textarea\">\"; $wynik1 = mysql_query (\"SELECT * FROM news WHERE idnews='$id'\") or die (\" bł±d w pytaniu\"); echo \"<option value=\"\".$row[2].\"\">aktualne</option>\";
$wynik = mysql_query (\"SELECT * FROM zdjecia_news\") or die (\" bł±d w pytaniu\"); $galeria = $rekord[3];
$min = $rekord[1];
echo \"<option value=\"\".$min.\"\">$galeria\"; }
echo \"</select></td></tr><tr><td class=\"red\">\";
$query = \"SELECT * FROM news WHERE idnews='$id'\";
echo \"Tytuł: </td><td class=\"red\"><input type=\"text\" class=\"textarea\" name=\"tytul\" size=\"55\" value=\"\". $row[1] .\"\"></td></tr>\";
echo \"<tr><td class=\"red\">Tre¶ć krótka: </td><td class=\"red\"><textarea name=\"tresc_short\" cols=\"100\" class=\"textarea\" rows=\"10\" value=\"$krotki\">$krotki</textarea></td></tr>\"; echo \"<tr><td class=\"red\">Tre¶ć długa: </td><td class=\"red\"><textarea name=\"tresc_long\" cols=\"100\" class=\"textarea\" rows=\"20\" value=\"\". $row[4] .\"\">\".$row[4].\"</textarea></td></tr>\"; echo \"<tr><td colspan=\"2\" class=\"red_center\" align=\"center\"><input type=\"hidden\" name=\"ip\" value=\"\".$_SERVER [ \"REMOTE_ADDR\" ].\"\">\";
echo \"<input type=\"submit\" class=\"button\" value=\"Zapisz zmiany\" name=\"edit\">\"; echo \"<input type=\"reset\" class=\"button\" value=\"Wyczy¶ć\">\"; echo \"<input type=\"submit\" class=\"button\" value=\"Anuluj\" name=\"edit\">\";
}
}
?>
przy w wpisanym do bazy tekscie w stylu:
Kod
Oto co powiedział xx : "blah,blah. blah, blah blah."
w np. tresc_long, wysypuje mi sie tam kod. co zrobic z cudzyslowami?
oczywiscie szukalem juz na forum ale sie nie umialem doszukac podobnej rzeczy wiec postanowilem poprosic o pomoc.
z góry dzieki
Ten post edytował mtr 1.10.2004, 17:15:45