За последние 24 часа нас посетили 32803 программиста и 1821 робот. Сейчас ищут 1633 программиста ...

Проблема с кавычками

Тема в разделе "PHP для новичков", создана пользователем mawa, 4 мар 2009.

  1. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Подскажите пожалуйста, где ошибка в данной строке :
    PHP:
    1. echo("span_marka.innerHTML+='<select name='".$name_select."' ".$function.">';");
    2. echo("span_marka.innerHTML+='<option value='".$id2."'>'".$mas2[$i]."</option>'");
    3.  echo("span_marka.innerHTML+=</select>;");  
    Побывал экранировать, разделять!
     
  2. akrinel

    akrinel Активный пользователь

    С нами с:
    26 янв 2009
    Сообщения:
    955
    Симпатии:
    1
    Адрес:
    Spb
    Быть может нужно было сделать так:

    PHP:
    1.  
    2. <?php
    3. echo("span_marka.innerHTML+='<select name=\"".$name_select."\" ".$function.">';");
    4. echo("span_marka.innerHTML+='<option value=\"".$id2."\">".$mas2[$i]."</option>';");
    5. echo("span_marka.innerHTML+='</select>';");
    6. ?>
    7.  
    Во всяком случае в таком варианте не ругается ни на JS ни на PHP ошибки :)
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    PHP:
    1. <?php
    2. echo <<<HEREDOC
    3. span_marka.innerHTML+='<select name="{$name_select}" {$function}>'
    4. +'<option value="{$id2}">{$mas2[$i]}</option>'
    5. +'</select>';
    6. HEREDOC;
     
  4. SmartMan

    SmartMan Guest

     
  5. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    Подскажите, когда пишешь на javascript, затем необходимо,обратиться к PHP,и из явы вывести пхп:
    как было сделано,есть еще способы или это самый нормальный?
     
  6. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    SmartMan
    ?
     
  7. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    то есть в любом случае необходимо использовать innerHTML
     
  8. mawa

    mawa Активный пользователь

    С нами с:
    23 сен 2008
    Сообщения:
    100
    Симпатии:
    0
    ВСем спасибо за помощь!!!
    все работает!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
  9. lexikon4ik

    lexikon4ik Активный пользователь

    С нами с:
    8 мар 2009
    Сообщения:
    10
    Симпатии:
    0
    дабы не создавать отдельную тему - помогите пожалуйста! есть скрипт - достает из базы данные и выводит их в отдельный файл
    вот его часть
    PHP:
    1.                 $query = "select name from ".$dbtblprefix."plr_profile where uniqueid='".$plrData[$i][1]."' limit 1";
    2.                 $ans = mysql_fetch_array(mysql_query($query));
    3.         if(!$ans)
    4.         {
    5.             echo "Возникла ошибка - ".mysql_error()."<br>";
    6.             echo $query;
    7.             exit();
    8.         }
    9.                 $plrData[$i][4] = $ans[0];
    10.  
    11.                 $query = "select kills,deaths,onlinetime,killsperdeath,killsperminute from ".$dbtblprefix."c_plr_data where plrid='".$plrData[$i][0]."'";
    12.                 $ans = mysql_fetch_array(mysql_query($query));
    13.         if(!$ans)
    14.         {
    15.             echo "Возникла ошибка - ".mysql_error()."<br>";
    16.             echo $query;
    17.             exit();
    18.         }
    19.                 $plrData[$i][5] = $ans[0];
    20.                 $plrData[$i][6] = $ans[1];
    21.                 $plrData[$i][7] = $ans[2];
    22.                 $plrData[$i][8] = $ans[3];
    23.                 $plrData[$i][9] = $ans[4];
    24.  
    страничка моя выводит мне ошибку
    видно что он плюется на ник в котором присутствует верхняя запятая Chup'S
    что делать? как обойти?[/code]
     
  10. lexikon4ik

    lexikon4ik Активный пользователь

    С нами с:
    8 мар 2009
    Сообщения:
    10
    Симпатии:
    0
    видно что он плюется на ник в котором присутствует верхняя запятая Chup'S
    что делать? как обойти?
     
  11. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  12. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    lexikon4ik
    [sql]SELECT kills, deaths, onlinetime, killsperdeath, killsperminute FROM `" . $dbtblprefix . "c_plr_data` WHERE plrid = '" . mysql_real_escape_string ($plrData[$i][0]) . "' LIMIT 1;[/sql]
     
  13. lexikon4ik

    lexikon4ik Активный пользователь

    С нами с:
    8 мар 2009
    Сообщения:
    10
    Симпатии:
    0
    спасибо за информацию, прочитал - не раз( но не получается чего-то
    вот с самого начала коннект к базе
    PHP:
    1. if($dbtype=="mysql")
    2. {
    3.         $plrData = array();
    4.         $conn = mysql_connect($dbhost.":".$dbport,$dbuser,$dbpass) or die(mysql_error());
    5.         mysql_select_db($dbname,$conn) or die(mysql_error());
    6.    
    7.         $query = "select plrid,[b]uniqueid[/b],rank,skill from ".$dbtblprefix."plr where allowrank=1 order by skill desc limit 15";
    8.         $result = mysql_query($query);
    как раз в поле uniqueid присутствуют ник юзеров
    далее идет
    PHP:
    1.                 $query = "select name from ".$dbtblprefix."plr_profile where uniqueid='".$plrData[$i][1]."' limit 1";
    2.                 $ans = mysql_fetch_array(mysql_query($query));
    3.         if(!$ans)
    4.         {
    5.             echo "Возникла ошибка - ".mysql_error()."<br>";
    6.             echo $query;
    7.             exit();
    8.         }
    9.  
    10.                 $plrData[$i][4] = $ans[0];
    11.  
    12.                 $query = "select kills,deaths,onlinetime,killsperdeath,killsperminute from ".$dbtblprefix."c_plr_data where plrid='".$plrData[$i][0]."'";
    13.                 $ans = mysql_fetch_array(mysql_query($query));
    14.         if(!$ans)
    15.         {
    16.             echo "Возникла ошибка - ".mysql_error()."<br>";
    17.             echo $query;
    18.             exit();
    19.         }
    20.                 $plrData[$i][5] = $ans[0];
    21.                 $plrData[$i][6] = $ans[1];
    22.                 $plrData[$i][7] = $ans[2];
    23.                 $plrData[$i][8] = $ans[3];
    24.                 $plrData[$i][9] = $ans[4];
    25.  
    пробовал и в самом начале пользовать mysql_real_escape_string()
    пробовали функцию что в факе function quote_smart($value)
    видимо не то делаю - ошибка остается (((
     
  14. lexikon4ik

    lexikon4ik Активный пользователь

    С нами с:
    8 мар 2009
    Сообщения:
    10
    Симпатии:
    0
    Elkaz спасибо большое - работает)
    но в факе написано в примечании если юзать mysql_real_escape_string() при включенном magic_quotes_gpc то надо использовать stripslashes(), без негоесть возможность sql инъекции