За последние 24 часа нас посетили 18155 программистов и 1606 роботов. Сейчас ищут 919 программистов ...

преобразование

Тема в разделе "PHP для новичков", создана пользователем sey, 13 авг 2008.

Статус темы:
Закрыта.
  1. sey

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

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    PHP:
    1.  
    2. <?php
    3.  
    4. if (!isset($_POST['print']))
    5. {
    6. ?>
    7. <form action=<?php echo $_SERVER['PHP_SELF']; ?> method=POST>
    8. <input type="text" name="name" />
    9. <input type="text" name="surname" />
    10. <input type="text" name="phone" />
    11. <input type="text" name="job" />
    12. <input type="submit" name="print" value="print" />
    13. </form>
    14. <?php
    15. }
    16. else
    17. {
    18.     unset($_POST['print']);
    19.     foreach ($_POST as $k => $v)
    20.     {
    21.         $_POST[$k] = ereg_replace('<', '', $_POST[$k]);
    22.         $_POST[$k] = ereg_replace('>', '', $_POST[$k]);
    23.         $_POST[$k] = ereg_replace("\'", '', $_POST[$k]);
    24.         $_POST[$k] = ereg_replace("\"", '', $_POST[$k]);
    25.         $_POST[$k] = ereg_replace("\/", '', $_POST[$k]);
    26.         $_POST[$k] = ereg_replace("\\", '', $_POST[$k]);
    27.     }
    28. ?>
    29. <div><?php echo $_POST['name']; ?></div>
    30. <div><?php echo $_POST['surname']; ?></div>
    31. <div><?php echo $_POST['phone']; ?></div>
    32. <div><?php echo $_POST['job']; ?></div>
    33. <script language=javascript>window.print();</script>
    34. <?php
    35. }
    36.  
    37. ?>
    выдает ошибку в 25 строке. помогите пожалуйста!
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    PHP:
    1. <? $_POST[$k] = ereg_replace('\\\\', '', $_POST[$k]);
    А почему не preg_replace, который быстрее
    И почему вообще не str_replace?
     
  3. sey

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

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    спасибо вам. даже забыл об этом. все на str_replace сделал и так $_POST[$k] = str_replace("\\", '', $_POST[$k]); пашет.
     
  4. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    В рот мне ноги! Почему у Вас на каждую функцию по 1 заменительному знаку? Ведь массив можно использовать.
     
  5. sey

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

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    Код (Text):
    1. $search = array("<", ">", "'", "\"", "/", "\\");
    2. foreach ($_POST as $k => $v)
    3.     $_POST[$k] = str_replace($search, '', $_POST[$k]);
    так пойдет?
     
  6. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Нет =)
    PHP:
    1. <?php
    2. $replaces = Array (
    3. '>' => "",
    4. "\'" => "",
    5. "\"" => "",
    6. "\/" => "",
    7. "\\" => ""
    8. );
    9. $_POST[$k] = strtr($_POST[$k], $replaces);
    10. ?>
     
  7. sey

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

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    Kreker
    а вы foreach забыли
     
  8. sey

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

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    Kreker
    спасибо и вам, ваш быстрее моего пашет
     
  9. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    sey, да? а как ты посчитал? :)
     
  10. sey

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

    С нами с:
    28 янв 2008
    Сообщения:
    32
    Симпатии:
    0
    ShamahN тестировал а что?
     
  11. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ща опять про сферических коней в ваакуме начнётся…
    Хотя не, не начнётся.
     
Статус темы:
Закрыта.