Autor Zpráva
SkIpPeR
Profil
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('<','&lt;',$obsah_reply);
		$obsah_reply=str_replace('>','&gt;',$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
Omlouvám se, vyřešeno, špatně vypsáno
$dotaz = "UPDATE `diskuze` SET `odpoved` = '".$odpoved."' WHERE `id` = '".$idx."' LIMIT 1';
SkIpPeR
Profil
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
Pořád máš špatně uvozovky. Ten vkládaný text ukončuješ pomocí uvozovek, má tam být apostrof.
SkIpPeR
Profil
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
Omlouvám se za zbytečný poplach, opraveno
$prezdivka = '<a href=javascript:jmeno("'.$_SESSION['login'].'")>'.$img_admin.'</a>';
Alphard
Profil
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: