Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.01.2013, 13:50
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 1  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
По умолчанию Нули перед ответом от PHP скрипта

Есть PHP скрипт, который цепляет с БД данные и отдает их флешке, и вот перед ответом стоят три нуля, выглядит это примерно так:
Код AS3:
000score=60&language=0&time=8&firsttime=1
PHP код:
<?php
    
include "connect.php";
    if (!isset(
$_GET['id']))
    {
        echo 
"No id - no data";
        exit;
    }
    
$save false;
    
$id $_GET['id'];
    
$add "";
    
$comma "";
    if (isset(
$_GET['firstname']))
    {
        
$firstname $_GET['firstname'];
        if (!empty(
$firstname))
        {
            
$add $add.$comma."firstname = '".$firstname."'";
            
$comma=", ";
            
$save true;
        }
    }
    if (isset(
$_GET['secondname']))
    {
        
$secondname $_GET['secondname'];
        if (!empty(
$secondname))
        {
            
$add $add.$comma."secondname = '".$secondname."'";
            
$comma=", ";
            
$save true;
        }
    }
    if (isset(
$_GET['score']))
    {
        
$score $_GET['score'];
        if (!empty(
$score) or $score == "0")
        {
            
$add $add.$comma."score = ".$score;
            
$comma=", ";
            
$save true;
        }
    }
    if (isset(
$_GET['language']))
    {
        
$language $_GET['language'];
        if (!empty(
$language) or $language == "0")
        {
            
$add $add.$comma."language = ".$language;
            
$comma=", ";
            
$save true;
        }
    }
    if (isset(
$_GET['time']))
    {
        
$time $_GET['time'];
        if (!empty(
$time))
        {
            
$add $add.$comma."time = '".$time."'";
            
$comma=", ";
            
$save true;
        }
    }
    if (isset(
$_GET['firsttime']))
    {
        
$firsttime $_GET['firsttime'];
        if (!empty(
$firsttime) or $firsttime == "0")
        {
            
$add $add.$comma."firsttime = ".$firsttime;
            
$comma=", ";
            
$save true;
        }
    }
    
    if (
$save == true)
    {
        
$usr $DB->selectRow("SELECT * FROM tablez WHERE id = ?",$id);
        
?>status=ok&action=<?
        
if (isset($usr['id']))
        {
            
$DB->query("UPDATE tablez SET ".$add." WHERE id = ?",$id);
            echo 
$add."<br>";
            
?>Update<?
        
} else {
            
$DB->query("INSERT INTO tablez SET id = ?, ".$add,$id);
            
?>Insert<?
        
}
    } else {
        
$usr $DB->selectRow("SELECT * FROM tablez WHERE id = ?",$id);
        if (isset(
$usr['id']))
        {
            
?>score=<?=$usr['score']?>&language=<?=$usr['language']?>&time=<?=$usr['time']?>&firsttime=<?=$usr['firsttime']?><?
        
} else {
            
$DB->query("INSERT INTO tablez SET id = ?",$id);
            
$usr $DB->selectRow("SELECT * FROM tablez WHERE id = ?",$id);
            
?>score=<?=$usr['score']?>&language=<?=$usr['language']?>&time=<?=$usr['time']?>&firsttime=<?=$usr['firsttime']?><?
        
}
    }
?>
Где искать проблему, подскажите пожалуйста
__________________
Не стыдно спросить, стыдно не знать !

Старый 17.01.2013, 00:13
ZicoRio вне форума Посмотреть профиль Отправить личное сообщение для ZicoRio Найти все сообщения от ZicoRio
  № 2  
Ответить с цитированием
ZicoRio
[+5 18.06.13]
[+1 20.07.13]

Регистрация: Apr 2012
Адрес: ifinterface.com
Сообщений: 158
Скорее всего в самом скрипте, еще раз проследите все логические цепочки.
Протестируйте с разными параметрами и т.д.
А вот если со скриптом порядок, то возможно стоит поглядеть в сторону веб сервера.
Когда он отвечает чанками, то в ответ вставляет размер чанка в hex формате
и заканчивает нулем. Но у вас нули в начале... - вобщем информация вам к размышлению...

Старый 17.01.2013, 13:26
t4arty вне форума Посмотреть профиль Отправить личное сообщение для t4arty Найти все сообщения от t4arty
  № 3  
Ответить с цитированием
t4arty

Регистрация: May 2010
Адрес: пространство в положении
Сообщений: 219
я не ас пхп, но строчки:
PHP код:
$add ""
    
$comma ""
    if (isset(
$_GET['firstname'])) 
    { 
        
$firstname $_GET['firstname']; 
        if (!empty(
$firstname)) 
        { 
            
$add $add.$comma."firstname = '".$firstname."'"
            
$comma=", "
            
$save true
        } 
и дает в итоге три нуля, т.е 3 нулевых байта. ("")

Старый 17.01.2013, 16:06
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
2t4arty: нет, это не правда, нет там никаких нулевых байтов. Другое дело, что вся эта конструкция с $add, $comma нафик не нужна, потому что есть implode(", ",$arr); Но ошибка с нулями в начале - не в этом. Я бы начал с того, что посмотрел бы, а нет ли символов перевода строки в неправильной кодировке в начале скрипта перед <?php
__________________
мой пустой блог

Старый 17.01.2013, 16:44
mihael_p вне форума Посмотреть профиль Отправить личное сообщение для mihael_p Посетить домашнюю страницу mihael_p Найти все сообщения от mihael_p
  № 5  
Ответить с цитированием
mihael_p

Регистрация: Jul 2011
Сообщений: 249
Отправить сообщение для mihael_p с помощью Skype™
Всем спасибо - решил. Оказалось была не правильная кодировка
__________________
Не стыдно спросить, стыдно не знать !

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.