За последние 24 часа нас посетили 18624 программиста и 1705 роботов. Сейчас ищут 687 программистов ...

Нужно найти выход из ситуации с опубликовкой

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

  1. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Имеется форма. в ней есть текстареа для заполнения. Пишу визуальный редактор яваскрипта. В конце формы есть кнопка сохранить изменения. после ее нажатия страница скрывается. как сделать чтобы она сохранила изменения, но при этом страница не закрылась? Как вариант сделать перенаправление назад. но это крайний случай. Есть ли еще варианты? спасибо
     
  2. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
  3. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    оо я даж с аяксом никогда неработал. это единственный вариант?
     
  4. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    пора начать. он щас везде.
     
  5. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
  6. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Да просто непойму. у меня вообще не должна форма скрываться.
    HTML:
    1. <form action='rewrite.php' method='post' name=studscr>
    . у меня почему то после нажатия кнопки сохранить открывает файл rewrite.php . а такого вроде быть не должно. И причем скрипт сработал, произошла перезапись файла содержимым, которое было введено в форму
     
  7. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    eXtreme покажите целиком форму
     
  8. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    HTML:
    1. Введите скрипт на синтаксисе jQuery (Ввод &lt;script&gt;&lt;/script&gt; не требуется!):
    2. <form action='rewrite.php' method='post' name=studscr>
    3. <textarea id='area' cols=87 rows=10 size=600 name=studscript>$studscript</textarea>
    4. <br>
    5. <input class=button type=submit value='Сохранить изменения'>
    6. </form>
    7. <br>
    8. Результат работы скрипта:
    9. <br>
    10. <iframe id='fm' name='fm' src='worklab2.php' width='715' height='335' frameborder='0'></iframe>
    11. <br>
    12. <form method='LINK' action='worklab2.php' target='fm'>
    13.     <input type='submit' value='Обновить страницу'>
    14. </form>
    15. </body>
    ну и сам rewrite.php
    PHP:
    1. <?php
    2. $uplscript="<?php\r\n".
    3. "$"."studscript=\"".$_POST['studscript']."\";\r\n?>";
    4. $file=file("studscript.php");
    5. $fp=fopen("studscript.php","w+");
    6. flock ($fp,LOCK_EX);
    7. ftruncate ($fp,0);
    8. fputs($fp,$uplscript);
    9. fflush ($fp);
    10. flock ($fp,LOCK_UN);
    11. fclose($fp);
    12. ?>
    Что то мне подсказывает, чтобы ничем лишним себя не грузить, единственным выходом будет прописать редирект в файле rewrite.php
     
  9. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    с чего не должно когда твой action='rewrite.php'. Естественно страница обновится и переадресует )
     
  10. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
    HTML:
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
    3. <script type="text/javascript" src="http://jqbook.narod.ru/page/primer/jquery-1.2.6.js"></script>
    4.  <body>
    5.  Введите скрипт на синтаксисе jQuery (Ввод &lt;script&gt;&lt;/script&gt; не требуется!):
    6.  <form name=studscr>
    7.     <textarea id='area' cols=87 rows=10 size=600 name=studscript>$studscript</textarea>
    8.  <br>
    9.  <input class="button" type="button" value="Сохранить изменения" onclick="
    10.     $.post('rewrite.php', $(this.form).serialize(), function(e) { window.alert('отправлено '+e);}); return false;">
    11.  </form>
    12.  <br>
    13.  Результат работы скрипта:
    14.  <br>
    15.  <iframe id='fm' name='fm' src='worklab2.php' width='715' height='335' frameborder='0'></iframe>
    16.  <br>
    17.  <form method='LINK' action='worklab2.php' target='fm'>
    18.      <input type='submit' value='Обновить страницу'>
    19.  </form>
    20.  </body>
    привет ajax
     
  11. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Ну да ладно,я сделал редирект с него. он работает. почему теперь при сохранении введенного кода с формы в переменную, он в середине кода в определенных местах добавляет постоянно символы / ??
     
  12. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    омг ну раз руки у человека из ж. растут что тут поделять
     
  13. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    В общем я сделал. все сохраняет. и так как вы написали, и так как я хранил в переменную но и в том и том случае при сохранении js script'a добавляет лишние символы \. например если сохраняю [js]
    <script type='text/javascript'>
    function initMenu() {
    $('#menu ul').hide();
    $('#menu li a').click(
    function() {
    var checkElement = $(this).next();
    if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
    $('#menu ul:visible').slideUp('normal'); //---- вот сюда
    return false;
    }
    if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
    $('#menu ul:visible').slideUp('normal');
    checkElement.slideDown('normal');
    return false;
    }});
    }
    $(document).ready(function() {initMenu();});
    </script>
    [/js]

    то он мне сохраняет в виде
    [js]<script type=\'text/javascript\'>
    function initMenu() {
    $(\'#menu ul\').hide();
    $(\'#menu li a\').click(
    function() {
    var checkElement = $(this).next();
    if((checkElement.is(\'ul\')) && (checkElement.is(\':visible\'))) {
    $(\'#menu ul:visible\').slideUp(\'normal\'); //---- РІРѕС‚ СЃСЋРґР°
    return false;
    }
    if((checkElement.is(\'ul\')) && (!checkElement.is(\':visible\'))) {
    $(\'#menu ul:visible\').slideUp(\'normal\');
    checkElement.slideDown(\'normal\');
    return false;
    }});
    }
    $(document).ready(function() {initMenu();});
    </script>[/js]

    Как избежать такого эффекта?
     
  14. Alex_pac

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

    С нами с:
    11 апр 2011
    Сообщения:
    285
    Симпатии:
    1
    Адрес:
    Россия, Тольятти
  15. eXtreme

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

    С нами с:
    29 мар 2010
    Сообщения:
    32
    Симпатии:
    0
    Спасибо огромное!!!!