Пишу определенную функцию для чата столкнулся с интересной проблемой и как ее решить не знаю. PHP: <?php $jere = "user/".$izfile.".php"; ?> <script> function show_dialogchat() { Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;"); } </script> <?php echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>"; ?> Вся проблема в том что имя файла $izfile при открытии модального окна кудато исчезает хотя само окно открывается по ссылке http:мойсайт/user/.php. Да это может быть важно код работает в iframe, хотя если прописать прямую ссылку user/oooo.php в window.showModalDialog все работает прекрасно. :!:
Ну так это же не весь код, переменная $izfile имеет вполне конкретное значение. А вообще я с данной проблемой мучаюсь уже второй день мне просто было ужасно интересно почему так происходит и в связи с этим могу точно заявить что это какаято метаморфоза. Вот что получается если я данный код помещаю просто в исполняемый файл все работает как по нотам, а если в iframe бесполезно при всем при это если я вместо переменной вношу конкретный текст то все в порядке. Далее делаем так: PHP: <?php $jere = "user/".$izfile.".php"; print_r ($jere); ?> <script> function show_dialogchat() { Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;"); } </script> <?php echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>"; ?> вывод принтэра: user/оооо.php оооо-как гиперссылки user/.php Я так и не понял откуда берется user/.php быть ее тут не должно, если кто думает что $izfile имеет какие то отклонения пробовал чистить $izfile = trim ($izfile);. Тупик который я не могу объяснить!
PHP: <?php $izfile='КОЛОБАСКА-БАЛАБАСКА'; $jere = "user/".$izfile.".php"; print_r ($jere); ?> <script> function show_dialogchat() { Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;"); } </script> <?php echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>"; ?> у меня выдает: HTML: user/КОЛОБАСКА-БАЛАБАСКА.php <script> function show_dialogchat() { Dialog = window.showModalDialog("user/КОЛОБАСКА-БАЛАБАСКА.php", "", "dialogWidth:300em; dialogHeight:200em;"); } </script> <a href='javascript:show_dialogchat()'>КОЛОБАСКА-БАЛАБАСКА</a></br> Все пашет
Вывод print_r вверху просто весь код не маленький хотя ладно: PHP: <?php if (isset($_GET['loguser'])) { $ech = $_GET['loguser']; $ech = strip_tags($ech); $ech = trim($ech); $_SESSION['nalogu'] = $ech; } if (isset($_SESSION['nalogu'])) { $ech = $_SESSION['nalogu']; $ech = strip_tags($ech); $ech = trim($ech); $_SESSION['nalogu'] = $ech; } ?> <table border="0" cellpadding="0" cellspacing="0" width = 100%> <tbody> <tr> <td width = 85%> <?php readfile ('messages.htm'); ?> </td> <td align="center" width = 15% border="0" bgcolor="#cecf88"> <?php $timesil = time(); $tim = $timesil - 15; $open_filetime = fopen("time.txt", "r"); $open_filet = fread($open_filetime, 10); fclose($open_filetime); $namefile = 'user/'.$ech.'.txt'; $open_file = fopen($namefile, "w"); fputs($open_file, $timesil); fclose($open_file); if ($open_filet < $tim) { @ $ofile = fopen("users.txt", "r"); while (!feof($ofile)) { $izfltimsit = fgets($ofile, 999);//fgetcsv $izfltim = trim($izfltimsit); if ($izfltim) { $namefile = 'user/'.$izfltim.'.txt'; $open_file = fopen($namefile, "r"); $ope = fread($open_file, 10); if ($ope > $tim) { if (!isset($user_array)) { $user_array = $izfltimsit; } else { $user_array .= $izfltimsit; } } } } fclose($ofile); $ofile = fopen("users.txt", "w"); fputs($ofile, $user_array); fclose($ofile); $open_filetime = fopen("time.txt", "w"); fputs($open_filetime, $timesil); fclose($open_filetime); } echo "Na chate"."\n"; @ $ofile = fopen("users.txt", "r"); while (!feof($ofile)) { $izfile = fgets($ofile, 999); $jere = "user/".$izfile.".php"; echo $jere."<br>"; ?> <script> function show_dialogchat() { Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;"); } </script> <?php echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>"; } fclose($ofile); ?> </tr> </tbody> </table>
покажи че выдаст и перестань использовать @!!! PHP: <?php if (isset($_GET['loguser'])) { $ech = $_GET['loguser']; $ech = strip_tags($ech); $ech = trim($ech); $_SESSION['nalogu'] = $ech; } if (isset($_SESSION['nalogu'])) { $ech = $_SESSION['nalogu']; $ech = strip_tags($ech); $ech = trim($ech); $_SESSION['nalogu'] = $ech; } ?> <table border="0" cellpadding="0" cellspacing="0" width = 100%> <tbody> <tr> <td width = 85%> <?php readfile('messages.htm'); ?> </td> <td align="center" width = 15% border="0" bgcolor="#cecf88"> <?php $timesil = time(); $tim = $timesil - 15; $open_filetime = fopen("time.txt", "r"); $open_filet = fread($open_filetime, 10); fclose($open_filetime); $namefile = 'user/' . $ech . '.txt'; $open_file = fopen($namefile, "w"); fputs($open_file, $timesil); fclose($open_file); if ($open_filet < $tim) { @ $ofile = fopen("users.txt", "r"); while (!feof($ofile)) { $izfltimsit = fgets($ofile, 999); //fgetcsv $izfltim = trim($izfltimsit); if ($izfltim) { $namefile = 'user/' . $izfltim . '.txt'; $open_file = fopen($namefile, "r"); $ope = fread($open_file, 10); if ($ope > $tim) { if (!isset($user_array)) { $user_array = $izfltimsit; } else { $user_array .= $izfltimsit; } } } } fclose($ofile); $ofile = fopen("users.txt", "w"); fputs($ofile, $user_array); fclose($ofile); $open_filetime = fopen("time.txt", "w"); fputs($open_filetime, $timesil); fclose($open_filetime); } echo "Na chate" . "\n"; @ $ofile = fopen("users.txt", "r"); while (!feof($ofile)) { $izfile = fgets($ofile, 999); echo "+++++++++++++++++++++++++++++++<br>\nА СЕЙЧАС МЫ ПОСМОТРИМ ЧЕМУ РАВЕН \$IZFILE:<BR>\N"; var_dump($izfile); echo "\n<br>+++++++++++++++++++++++++++++++++++\n"; $jere = "user/" . $izfile . ".php"; echo $jere . "<br>"; ?> <script> function show_dialogchat() { Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;"); } </script> <?php echo "<a href='javascript:show_dialogchat()'>" . $izfile . "</a></br>"; } fclose($ofile); ?> </tr> </tbody> </table>
Вывод: +++++++++++ А СЕЙЧАС МЫ ПОСМОТРИМ ЧЕМУ РАВЕН $IZFILE: string(4) "oooo" +++++++++++ user/oooo.php оооо-как гиперссылка +++++++++++ А СЕЙЧАС МЫ ПОСМОТРИМ ЧЕМУ РАВЕН $IZFILE: string(0) "" +++++++++++ user/.php
zvz1000 кроме тебя некому. надо отлавливать весь процесс по-шагам на твоем сервере на твоих файлах =) раз ты нашел (мы нашли) что она пустая во второй раз и ползи от этого места выше волшебным var_dump'ом и обрящешь
Я же говорю что это анамалия мне не ведомая: PHP: while (!feof($ofile)) { $izfile = fgets($ofile, 999); $jere = "user/" . $izfile . ".php"; var_dump($jere); echo '<script> function show_dialogchat() { Dialog = window.showModalDialog("'.$jere.'", "", "dialogWidth:300em; dialogHeight:200em;"); } </script>'; var_dump($jere); echo "<a href='javascript:show_dialogchat()'>" . $izfile . "</a></br>"; } fclose($ofile); Вывод: string(13) "user/oooo.php" string(13) "user/oooo.php" оооо-как гиперссылка string(9) "user/.php" string(9) "user/.php"[/php]
код - гавно, даже не понятно что вы пытаетесь сделать. что у вас в файле users.txt что вы из него по 999 байт считываете? судя по всему во второй раз считывается пустота. но вы в javascript на каждую запись определяете function show_dialogchat() что из этого должно выйти?