За последние 24 часа нас посетили 52509 программистов и 1724 робота. Сейчас ищут 2207 программистов ...

Вставить php в javascript

Тема в разделе "PHP для новичков", создана пользователем zvz1000, 23 фев 2011.

  1. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Пишу определенную функцию для чата столкнулся с интересной проблемой и как ее решить не знаю.
    PHP:
    1.  
    2. <?php
    3. $jere = "user/".$izfile.".php";
    4. ?>
    5. <script>
    6. function show_dialogchat()
    7. {
    8. Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;");
    9. }
    10. </script>
    11. <?php
    12.   echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>";
    13. ?>
    14.  
    Вся проблема в том что имя файла $izfile при открытии модального окна кудато исчезает хотя само окно открывается по ссылке http:мойсайт/user/.php.
    Да это может быть важно код работает в iframe, хотя если прописать прямую ссылку user/oooo.php в window.showModalDialog все работает прекрасно. :!:
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $izfile пустой же
     
  3. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Ну так это же не весь код, переменная $izfile имеет вполне конкретное значение. А вообще я с данной проблемой мучаюсь уже второй день мне просто было ужасно интересно почему так происходит и в связи с этим могу точно заявить что это какаято метаморфоза. Вот что получается если я данный код помещаю просто в исполняемый файл все работает как по нотам, а если в iframe бесполезно при всем при это если я вместо переменной вношу конкретный текст то все в порядке. Далее делаем так:
    PHP:
    1.  
    2. <?php
    3. $jere = "user/".$izfile.".php";
    4. print_r ($jere);
    5. ?>
    6. <script>
    7. function show_dialogchat()
    8. {
    9. Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;");
    10. }
    11. </script>
    12. <?php
    13. echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>";
    14. ?>
    15.  
    вывод принтэра:
    user/оооо.php
    оооо-как гиперссылки
    user/.php
    Я так и не понял откуда берется user/.php быть ее тут не должно, если кто думает что $izfile имеет какие то отклонения пробовал чистить $izfile = trim ($izfile);.
    Тупик который я не могу объяснить!
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    PHP:
    1. <?php
    2. $izfile='КОЛОБАСКА-БАЛАБАСКА';
    3.  $jere = "user/".$izfile.".php";
    4.  print_r ($jere);
    5.  ?>
    6.  <script>
    7.  function show_dialogchat()
    8.  {
    9.  Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;");
    10.  }
    11.  </script>
    12.  <?php
    13.  echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>";
    14.  ?>
    у меня выдает:
    HTML:
    1. user/КОЛОБАСКА-БАЛАБАСКА.php <script>
    2.  function show_dialogchat()
    3.  {
    4.  Dialog = window.showModalDialog("user/КОЛОБАСКА-БАЛАБАСКА.php", "", "dialogWidth:300em; dialogHeight:200em;");
    5.  }
    6.  </script>
    7.  <a href='javascript:show_dialogchat()'>КОЛОБАСКА-БАЛАБАСКА</a></br>
    Все пашет
     
  5. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Вывод print_r вверху просто весь код не маленький хотя ладно:
    PHP:
    1.  
    2. <?php
    3. if (isset($_GET['loguser']))
    4. {
    5. $ech = $_GET['loguser'];
    6. $ech = strip_tags($ech);
    7. $ech = trim($ech);
    8. $_SESSION['nalogu'] = $ech;
    9. }
    10. if (isset($_SESSION['nalogu']))
    11. {
    12. $ech = $_SESSION['nalogu'];
    13. $ech = strip_tags($ech);
    14. $ech = trim($ech);
    15. $_SESSION['nalogu'] = $ech;
    16. }
    17. ?>
    18. <table border="0" cellpadding="0" cellspacing="0" width = 100%>
    19.   <tbody>
    20.     <tr>
    21. <td width = 85%>
    22. <?php
    23. readfile ('messages.htm');
    24. ?>
    25. </td>
    26. <td align="center" width = 15% border="0" bgcolor="#cecf88">
    27. <?php
    28. $timesil = time();
    29. $tim = $timesil - 15;
    30. $open_filetime = fopen("time.txt", "r");
    31. $open_filet = fread($open_filetime, 10);
    32. fclose($open_filetime);
    33.  $namefile = 'user/'.$ech.'.txt';
    34.  $open_file = fopen($namefile, "w");
    35.           fputs($open_file, $timesil);
    36.           fclose($open_file);
    37. if ($open_filet < $tim)
    38. {
    39. @ $ofile = fopen("users.txt", "r");
    40. while (!feof($ofile))
    41.   {
    42.   $izfltimsit = fgets($ofile, 999);//fgetcsv
    43.   $izfltim = trim($izfltimsit);
    44.   if ($izfltim)
    45.       {
    46.      $namefile = 'user/'.$izfltim.'.txt';
    47.      $open_file = fopen($namefile, "r");
    48.      $ope = fread($open_file, 10);
    49.      if ($ope > $tim)
    50.        {
    51.        if (!isset($user_array))
    52.           {
    53.           $user_array = $izfltimsit;
    54.           }
    55.           else
    56.           {
    57.           $user_array .= $izfltimsit;
    58.           }
    59.        }
    60.      }
    61.   }
    62. fclose($ofile);
    63. $ofile = fopen("users.txt", "w");
    64. fputs($ofile, $user_array);
    65. fclose($ofile);
    66. $open_filetime = fopen("time.txt", "w");
    67. fputs($open_filetime, $timesil);
    68. fclose($open_filetime);
    69. }
    70. echo "Na chate"."\n";
    71. @ $ofile = fopen("users.txt", "r");
    72. while (!feof($ofile))
    73. {
    74.   $izfile = fgets($ofile, 999);
    75.  $jere = "user/".$izfile.".php";
    76. echo $jere."<br>";
    77. ?>
    78. <script>
    79. function show_dialogchat()
    80. {
    81. Dialog = window.showModalDialog(<?php echo '"'; echo $jere; echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;");
    82. }
    83. </script>
    84. <?php
    85.   echo "<a href='javascript:show_dialogchat()'>".$izfile."</a></br>";
    86. }
    87. fclose($ofile);
    88. ?>
    89.   </tr>
    90.  </tbody>
    91. </table>
    92.  
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    покажи че выдаст и перестань использовать @!!!

    PHP:
    1. <?php
    2. if (isset($_GET['loguser'])) {
    3.   $ech = $_GET['loguser'];
    4.   $ech = strip_tags($ech);
    5.   $ech = trim($ech);
    6.   $_SESSION['nalogu'] = $ech;
    7. }
    8. if (isset($_SESSION['nalogu'])) {
    9.   $ech = $_SESSION['nalogu'];
    10.   $ech = strip_tags($ech);
    11.   $ech = trim($ech);
    12.   $_SESSION['nalogu'] = $ech;
    13. }
    14. ?>
    15. <table border="0" cellpadding="0" cellspacing="0" width = 100%>
    16.   <tbody>
    17.     <tr>
    18.       <td width = 85%>
    19. <?php
    20. readfile('messages.htm');
    21. ?>
    22.       </td>
    23.       <td align="center" width = 15% border="0" bgcolor="#cecf88">
    24. <?php
    25. $timesil = time();
    26. $tim = $timesil - 15;
    27. $open_filetime = fopen("time.txt", "r");
    28. $open_filet = fread($open_filetime, 10);
    29. fclose($open_filetime);
    30. $namefile = 'user/' . $ech . '.txt';
    31. $open_file = fopen($namefile, "w");
    32. fputs($open_file, $timesil);
    33. fclose($open_file);
    34. if ($open_filet < $tim) {
    35.   @ $ofile = fopen("users.txt", "r");
    36.   while (!feof($ofile)) {
    37.     $izfltimsit = fgets($ofile, 999); //fgetcsv
    38.     $izfltim = trim($izfltimsit);
    39.     if ($izfltim) {
    40.       $namefile = 'user/' . $izfltim . '.txt';
    41.       $open_file = fopen($namefile, "r");
    42.       $ope = fread($open_file, 10);
    43.       if ($ope > $tim) {
    44.         if (!isset($user_array)) {
    45.           $user_array = $izfltimsit;
    46.         } else {
    47.           $user_array .= $izfltimsit;
    48.         }
    49.       }
    50.     }
    51.   }
    52.   fclose($ofile);
    53.   $ofile = fopen("users.txt", "w");
    54.   fputs($ofile, $user_array);
    55.   fclose($ofile);
    56.   $open_filetime = fopen("time.txt", "w");
    57.   fputs($open_filetime, $timesil);
    58.   fclose($open_filetime);
    59. }
    60. echo "Na chate" . "\n";
    61. @ $ofile = fopen("users.txt", "r");
    62. while (!feof($ofile)) {
    63.   $izfile = fgets($ofile, 999);
    64.   echo "+++++++++++++++++++++++++++++++<br>\nА СЕЙЧАС МЫ ПОСМОТРИМ ЧЕМУ РАВЕН \$IZFILE:<BR>\N";
    65.   var_dump($izfile);
    66.   echo "\n<br>+++++++++++++++++++++++++++++++++++\n";
    67.   $jere = "user/" . $izfile . ".php";
    68.   echo $jere . "<br>";
    69. ?>
    70.         <script>
    71.           function show_dialogchat()
    72.           {
    73.             Dialog = window.showModalDialog(<?php echo '"';
    74.         echo $jere;
    75.         echo '"'; ?>, "", "dialogWidth:300em; dialogHeight:200em;");
    76.           }
    77.         </script>
    78.         <?php
    79.         echo "<a href='javascript:show_dialogchat()'>" . $izfile . "</a></br>";
    80.       }
    81.       fclose($ofile);
    82.         ?>
    83.     </tr>
    84.   </tbody>
    85. </table>
     
  7. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Вывод:
    +++++++++++
    А СЕЙЧАС МЫ ПОСМОТРИМ ЧЕМУ РАВЕН $IZFILE:
    string(4) "oooo"
    +++++++++++
    user/oooo.php
    оооо-как гиперссылка
    +++++++++++
    А СЕЙЧАС МЫ ПОСМОТРИМ ЧЕМУ РАВЕН $IZFILE:
    string(0) ""
    +++++++++++
    user/.php
     
  8. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Здесь вся проблема, я так думаю, из за того что файл является фреймом для браузера а вот что и как?
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да у тебя переменная пустая. при чем тут фрейм?
     
  10. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Не ну первый раз она не пустая потом становиться пустой а почему я же ее не обнуляю?
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ищи =) чо.
     
  12. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Да знать бы еще где
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    zvz1000
    кроме тебя некому. надо отлавливать весь процесс по-шагам на твоем сервере на твоих файлах =)

    раз ты нашел (мы нашли) что она пустая во второй раз и ползи от этого места выше волшебным var_dump'ом и обрящешь
     
  14. zvz1000

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

    С нами с:
    16 янв 2011
    Сообщения:
    35
    Симпатии:
    0
    Я же говорю что это анамалия мне не ведомая:
    PHP:
    1.  
    2. while (!feof($ofile)) {
    3. $izfile = fgets($ofile, 999);
    4. $jere = "user/" . $izfile . ".php";
    5. var_dump($jere);
    6. echo '<script>
    7. function show_dialogchat()
    8. {
    9. Dialog = window.showModalDialog("'.$jere.'", "", "dialogWidth:300em; dialogHeight:200em;");
    10. }
    11. </script>';
    12. var_dump($jere);
    13.  echo "<a href='javascript:show_dialogchat()'>" . $izfile . "</a></br>";
    14.   }
    15.   fclose($ofile);
    16.  
    Вывод:
    string(13) "user/oooo.php"
    string(13) "user/oooo.php"
    оооо-как гиперссылка
    string(9) "user/.php"
    string(9) "user/.php"[/php]
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    у меня твоих файликов нету, ничм не могу помочь =)
     
  16. VItalijs

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

    С нами с:
    17 дек 2008
    Сообщения:
    244
    Симпатии:
    0
    Адрес:
    Рига, Латвия
    код - гавно, даже не понятно что вы пытаетесь сделать. что у вас в файле users.txt что вы из него по 999 байт считываете? судя по всему во второй раз считывается пустота. но вы в javascript на каждую запись определяете function show_dialogchat() что из этого должно выйти?