| Autor | Zpráva | ||
|---|---|---|---|
| asusák Profil * |
#1 · Zasláno: 11. 8. 2009, 13:28:33
mám kod na vlkádání odkazů do databáze:
require_once("db.php");
$nazev = $_POST['nazev'];
$odkaz = $_POST['odkaz'];
$cele = "<img style='width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> <a href=\'$odkaz\' class='side'>$nazev</a><br>";
$sql = mysql_query("INSERT INTO odkazy (`nazev`,`odkaz`,`cele`) VALUES ('$nazev','$odkaz','$cele')");
if($sql){
echo "Záznam byl úspěšne vložen do databázy! <a href='index.php'>Jdi na index administrace</a>";
} else {
echo "Záznam sa nepodarilo vložit do databáze! <a href='#' onclick='history.back()'><- Zpět</a>";
}když se tam nevkládá to proměnná $cele tak to jde v pohodě, ale když se tam vloží tak to vyhodí: Záznam se nepodařilo vložit do databáze. |
||
| Taps Profil |
#2 · Zasláno: 11. 8. 2009, 13:33:33
asusák
co ti zobrazí mysql_error?
mysql_query("INSERT INTO odkazy (`nazev`,`odkaz`,`cele`) VALUES ('$nazev','$odkaz','$cele')") or die (mysql_error());
|
||
| Alphard Profil |
#3 · Zasláno: 11. 8. 2009, 13:33:48
Zkuste to takhle:
$cele = mysql_real_escape_string("<img style='width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> <a href=\'$odkaz\' class='side'>$nazev</a><br>");
$sql = mysql_query("INSERT INTO odkazy (`nazev`,`odkaz`,`cele`) VALUES ('$nazev','$odkaz','$cele')");Stejnou funkcí by kvůli bezpečnosti měl projít $nazev i $odkaz. |
||
| asusák Profil * |
#4 · Zasláno: 11. 8. 2009, 13:40:38
„$cele = mysql_real_escape_string("<img style='width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> <a href=\'$odkaz\' class='side'>$nazev</a><br>");“
Když to zapíšu takhle tak se to sice zapíše do databáze ale ve sloupci cele se zapíše jen <img style a to je vše. No a vyhazuje to chybu: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> |
||
| blaaablaaa Profil |
#5 · Zasláno: 11. 8. 2009, 14:40:00
function myEscape($string) {
if(get_magic_quotes_gpc()) $string = stripslashes($string);
return mysql_real_escape_string($string);
}
$cele = myEscape("<img style='width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> <a href=\'$odkaz\' class='side'>$nazev</a><br>");
|
||
| perun Profil |
#6 · Zasláno: 11. 8. 2009, 14:41:12
Daj spätné lomítka pred všetky apostrofy v $cele, nielen pred niektoré.
|
||
| tiso Profil |
#7 · Zasláno: 11. 8. 2009, 15:31:32
asusák: zbytočne si to komplikuješ, stačí vymeniť apostrofy a úvodzovky, použiť spájanie reťazcov okolo premenných a môžeš vyhodiť všetky spätné lomítka
|
||
| asusák Profil * |
#8 · Zasláno: 11. 8. 2009, 17:18:05
„asusák: zbytočne si to komplikuješ, stačí vymeniť apostrofy a úvodzovky, použiť spájanie reťazcov okolo premenných a môžeš vyhodiť všetky spätné lomítka“
Tak teď sem z toho trochu jelen. Zapsal sem to takhle: $cele = "<img style=\"width: 4px; height: 6px;\" src=\"images/bullet.gif\" alt=\"\"> <a href=\"$odkaz\" class=\"side\">$nazev</a><br>"; Vyhodí mi to hlášku že se to nezapsalo, ale ono se to zapíše jenomže opět jenom do <img stlyle. |
||
| Taps Profil |
#9 · Zasláno: 11. 8. 2009, 17:47:24
asusák
zkus to takto $cele = '<img style="width: 4px; height: 6px;" src="images/bullet.gif" alt=""> <a href="'.$odkaz.'" class="side">'.$nazev.'</a><br>'; |
||
| Alphard Profil |
#10 · Zasláno: 11. 8. 2009, 17:54:49
asusák:
Překvapilo mě, že moje verze nefunguje. mysql_real_escape_string() by měla potřebné znaky escapovat. Zkusil jsem si spustit mírně upravenou uverzi a fungovalo to bez problémů: $odkaz = $nazev = "Mika Waltari";
$cele = mysql_real_escape_string("<img style='width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> <a href=\'$odkaz\' class='side'>$nazev</a><br>");
$p = mysql_query("INSERT INTO p5 (`nazev`) VALUES ('$cele')");
if (!$p) echo mysql_error();Taps a tiso navrhují prohodit uvozovky a apostrofy, třeba to pomůže. A taky zkuste, jak bude fungovat tohle: require_once("db.php");
$nazev = mysql_real_escape_string($_POST['nazev']);
$odkaz = mysql_real_escape_string($_POST['odkaz']);
$cele = mysql_real_escape_string("<img style='width: 4px; height: 6px;' src='images/bullet.gif' alt='->'> <a href='$odkaz' class='side'>$nazev</a><br>");
$sql = mysql_query($l="INSERT INTO odkazy (`nazev`,`odkaz`,`cele`) VALUES ('$nazev','$odkaz','$cele')");
if($sql){
echo "Záznam byl úspěšne vložen do databázy! <a href='index.php'>Jdi na index administrace</a>";
} else {
echo "Záznam sa nepodarilo vložit do databáze! <a href='#' onclick='history.back()'><- Zpět</a><br>".mysql_error()."<br>$l";
} |
||
|
Časová prodleva: 16 let
|
|||
0