Autor | Zpráva | ||
---|---|---|---|
SkIpPeR Profil |
#1 · Zasláno: 7. 12. 2009, 20:58:28
Zdravím, najednou jsem zjistil, mám někde chybu v PHP a do návštěvní knihy mi nejde odpovídat, chybku jsem odstranil, byl tam problém mezi ' a ", ale objevil se další a já na ní nemůžu přijít, zde je PHP:
<?php if($tlx) { $tab2=mysql_query("select * from diskuze where id='".$idx."'"); $data2=mysql_fetch_array($tab2); $obsahik = $data2['odpoved']; echo '<div id="upozorneni">'; if(strtolower($kontrolni) != strtolower($cislo)){ echo 'Byl zadán chybný potvrzovací kód!'; } else if($obsah_reply) { $pocet = 60; $slovo = split("[[:blank:]]+", $obsah_reply); for($y=0;$y<count($slovo);$y++) { $slovo[$y] = trim($slovo[$y]); if (strlen($slovo[$y])<=$pocet) { $odkaz = $slovo[$y] . " "; $celek .= $odkaz; } else { $delit = ceil(strlen($slovo[$y])/$pocet); for($z=0;$z<$delit;$z++) { $cast = substr($slovo[$y], $z*$pocet, $pocet); $celek .= $cast . " - "; } } } if($_SESSION['Prava']>=3){ $img_admin = '<img src="./kniha/smajlici/admin.gif" alt="admin"> '.$_SESSION['login'];} else { $img_admin = $_SESSION['login'];} $prezdivka = '<a href="javascript:jmeno(\''.$_SESSION['login'].'\')">'.$img_admin.'</a>'; if($mail){ $mail=str_replace($_SESSION['UserMail'],'<a href="mailto:'.$_SESSION['UserMail'].'"><img src="./kniha/smajlici/mail.gif" width="12" height="12" alt="'.$_SESSION['UserMail'].'"></a>',$mail);} if($website){ $website=str_replace($_SESSION['UserWeb'],'<a href="http://'.$_SESSION['UserWeb'].'"><img src="./kniha/smajlici/home.gif" width="12" height="12" alt="'.$_SESSION['UserWeb'].'"></a>',$website);} $obsah_reply=str_replace('<','<',$obsah_reply); $obsah_reply=str_replace('>','>',$obsah_reply); $obsah_reply=str_replace('\n',' <br> ',$obsah_reply); $obsah_reply=str_replace('http://http://','http://',$obsah_reply); $website=str_replace('http://http://','http://',$website); $obsah_reply = '<img src="./kniha/smajlici/odpoved.gif" alt="Odpověď"> .:: '.$prezdivka.' '.$mail.' '.$website.' ::.<br> '.$obsah_reply; $odpoved = $obsahik.'<br><div class="odpoved"> '.$obsah_reply.' </div>'; $dotaz = 'UPDATE `diskuze` SET `odpoved` = "'.$odpoved.'" WHERE `id` = "'.$idx.'" LIMIT 1'; mysql_query($dotaz); echo 'Údaje byly vloženy'; echo '<br>'; echo mysql_error(); // echo '<script type="text/javascript" for="window" event="onLoad()">'; // echo '<!-- // window.location.href="index.php?page=admin-diskuze"'; // echo '// --> </script>'; } else { echo "Údaje s * musíš; vyplnit"; } echo '</div>'; } ?> a ERROR zní: 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 'odpoved"> |
||
SkIpPeR Profil |
#2 · Zasláno: 7. 12. 2009, 21:07:09
Omlouvám se, vyřešeno, špatně vypsáno
$dotaz = "UPDATE `diskuze` SET `odpoved` = '".$odpoved."' WHERE `id` = '".$idx."' LIMIT 1'; |
||
SkIpPeR Profil |
#3 · Zasláno: 7. 12. 2009, 21:16:59
Po úpravě řádku
$prezdivka = '<a href="javascript:jmeno('.$_SESSION['login'].')">'.$img_admin.'</a>'; mi to hází další error v syntaxi: 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 '14' LIMIT 1' at line 1 celá proměnná dotaz obsahuje při vkládání UPDATE `diskuze` SET `odpoved` = '<br><div class="odpoved"> <img src="./kniha/smajlici/odpoved.gif" alt="Odpověď"> .:: <a href="javascript:jmeno({jmeno})"><img src="./kniha/smajlici/admin.gif" alt="admin"> {jmeno}</a> <a href="mailto:{mail}"><img src="./kniha/smajlici/mail.gif" width="12" height="12" alt="{mail}"></a> <a href="{web}"><img src="./kniha/smajlici/home.gif" width="12" height="12" alt="{web}"></a> ::.<br> *b*{jmeno}*/b* {text} </div>'' WHERE `id` = '14' LIMIT 1 to co je v {} je jen orientační |
||
TomášK Profil |
#4 · Zasláno: 7. 12. 2009, 21:20:47 · Upravil/a: TomášK
Pořád máš špatně uvozovky. Ten vkládaný text ukončuješ pomocí uvozovek, má tam být apostrof.
|
||
SkIpPeR Profil |
#5 · Zasláno: 7. 12. 2009, 21:27:53
ok opraveno, ale bez uvozovek
$prezdivka = '<a href="javascript:jmeno('.$_SESSION['login'].')">'.$img_admin.'</a>'; ve funkci jmeno mi ten javaScript nefunguje, co s tím? $prezdivka = '<a href="javascript:jmeno(\''.$_SESSION['login'].'\')">'.$img_admin.'</a>'; Nefunguje, ukazuje Error |
||
SkIpPeR Profil |
#6 · Zasláno: 7. 12. 2009, 21:34:51
Omlouvám se za zbytečný poplach, opraveno
$prezdivka = '<a href=javascript:jmeno("'.$_SESSION['login'].'")>'.$img_admin.'</a>'; |
||
Alphard Profil |
#7 · Zasláno: 7. 12. 2009, 21:44:13
SkIpPeR:
Vkládání html, které je plné ' a " je problematické. Nejlépe asi takto: $dotaz = "UPDATE `diskuze` SET `odpoved` = '".mysql_real_escape_string($odpoved)."' WHERE `id` = ".(int) $idx." LIMIT 1"; mysql_query($dotaz); |
||
SkIpPeR Profil |
#8 · Zasláno: 7. 12. 2009, 21:46:49
Díky, v poslední době mi právě ' a " dělají nejvíc problémů, o té funkci mysql_real_escape_string() jsme ještě neslyšel, moc díky.
|
||
Časová prodleva: 14 let
|
0