eval как такое возможно?

riol

Новичок
eval как такое возможно?

eval выполняет внутри себя команду два раза. например:
PHP:
<?  
$host = "localhost";  
$user = "admin";  
$password = "";  
$db = "new_cherepovez";  
@mysql_connect ($host, $user, $password);  
@mysql_select_db ($db);  
eval('mysql_query("INSERT INTO temp(name) VALUES (\'name_name\')");');  
?>
записывает в базу два раза, с инклуд тоже самое. команды вывода работаю один раз, что за фигня такая?
 

berkut

Новичок
в евал невидно уже установленное соединение. по-этому mysql_query вызывает mysql_connect() без параметров. но это не даёт объяснения, почему запрос вообще выполняется, по-идее, даже если законектиться с дефолтными параметрами, база данных-то не будет выбрана. бредово, но если имя таблицы сменить с temp на что-нить другое
 

riol

Новичок
Автор оригинала: berkut
в евал невидно уже установленное соединение. по-этому mysql_query вызывает mysql_connect() без параметров. но это не даёт объяснения, почему запрос вообще выполняется, по-идее, даже если законектиться с дефолтными параметрами, база данных-то не будет выбрана. бредово, но если имя таблицы сменить с temp на что-нить другое
почему не видно ? ему ведь все передается и после него все доступно. это я для примера все упростил и таблицу эту темповую сделал. а вообще проблема в том, что он два раза у меня инклудит, вывод при этом один. я хз че такое:) будто страница два раза открывется, все упростил вот до такого, вот че странно, так блин иногда и один раз запись идет, а иногда два. ну ладно, я понимаю, что у меня может че глючить на компе, но на серваке офигенная накрутка баннерки идет:)))
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
инклюд этого скрипта 2 раза идёт.
Других вариантов нет.
error_reporting(E_ALL);
define('TEST', 'asdfsf');
Скорее всего Вы увидите нотис.
 

riol

Новичок
это вообще не рабочий(в смысле нигде не используется) код, т.е. на все что в нем, как оформлено пофиг

-~{}~ 19.10.07 01:10:

Автор оригинала: Mr_Max
инклюд этого скрипта 2 раза идёт.
Других вариантов нет.
error_reporting(E_ALL);
define('TEST', 'asdfsf');
Скорее всего Вы увидите нотис.
да вот это я уже проверил на файле с функциями, ошибок нет, поэтому и стал сомневаться в двукратном исполнении, но браузер не может у двухсот человек 2 раза загружать страницу?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
К сожалению никто кроме ВАс не сможет выяснить в каком месте вызывается повторно функция Вашего счётчика.
 

berkut

Новичок
riol
почему не видно ? ему ведь все передается и после него все доступно.
я запустил тестовый пример - у меня в eval вызывается mysql_connect() как будто соединение не установлено. c дефолтными параметрами подключиться не может, о чём и оповещает.
кто-нибудь может это проверить?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
riol

<?
$host = "localhost";
$user = "admin";
$password = "";
$db = "new_cherepovez";
@mysql_connect ($host, $user, $password);
@mysql_select_db ($db);
eval('mysql_query("INSERT INTO temp(name) VALUES (\'name_name\')");');
?>
Вот это Вы у себя тестировали?
 

Breeze

goshogun
Команда форума
Партнер клуба
[telepat mode]
mod_rewrite, error 404, <img src='script.php'>
[/telepat mode]
 
Сверху