ФорумПрограммированиеPHP для идиотов → Есть идея реализации мультиязычности, но самому не реализовать...

Есть идея реализации мультиязычности, но самому не реализовать...

  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 22:20

    Всем добрый вечер!
    Вопрос все сущий, думаю многие "новички" в разработке сталкивались с этой проблемой, мультиязычности сайта!
    - Да так чтоб админка была простая в управлении
    - Была возможность добавлять любое количество языков
    - Было максимально простое переключение на сайте (на какой странице находишься, на той и остаешься но на другом языке)
    - Редактором текста "с кучей мусора"
    - С неограниченным количеством разделов и подразделов

    Работу по всем этим параметрам я начал, но столкнулся с проблемой цыкличного редактирования страниц!
    Вариант сырой! Дырок куча, недоработок тоже. Но все поправимо)
    Все кто в силах помочь прошу качать http://rghost.ru/4478947
    Выложена только админ часть с бэкапом базы!!!!
    Чтоб не искали, настройка базы в blocks/bd.php
    Начинал учится по диску Попова))))))) Прошу сильно не пинать!
    Большой вес из-за Tiny
    Спасибо
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 22:35, спустя 15 минут 6 секунд

    Начинал учится по диску Попова))))))) Прошу сильно не пинать!

    зачем пинать? я просто забаню, чтобы шли читать книжки а не порнографию смотреть
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 22:44, спустя 8 минут 56 секунд

    Начинал учится по диску Попова

    это просто пиздец
  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 22:48, спустя 4 минуты 21 секунду

    Согласен! Пиздец!
    Но на тот момент, это был самый доступный пиздец из всех пиздецов!

    Вот и хочу из него выехать на нормальную писанину!)))
    Помогать будете?))
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 22:54, спустя 5 минут 22 секунды

    и чем тебе помочь ?
  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 23:04, спустя 10 минут 30 секунд

    Не понимаю как заносить информацию в инпуты из базы цыклом и наоборот, с уже отредактированых инпутов в базу.
    Нужно чтоб цыклом. Ведь языков на сайте может быть как и 2 так и 10.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 23:06, спустя 1 минуту 20 секунд

    Не понимаю как заносить информацию в инпуты из базы цыклом и наоборот, с уже отредактированых инпутов в базу.
    Нужно чтоб цыклом. Ведь языков на сайте может быть как и 2 так и 10.

    а у попова нету форума? мы поповцам не помогаем обычно
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 21 февраля 2011 г. 23:11, спустя 5 минут 33 секунды

    shtemp_hot, в инпутах их name's указываешь как масив (name="tut_tvoy_massiv[]"), потом форичем его перебираешь и результат разносишь в таблицы как тебе нужно. Обратное действие примерно такое же: получаешь из базы в массив и форичем "рисуешь" инпуты.
  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 23:14, спустя 2 минуты 47 секунд

    Нахуй поповские форумы, я пришел за помощью.
    Вы сможете помочь разобраться? Я буду очень вам всем признателен, нет закрыли тему.
    Нахуя тратить мое время и Ваше драгоценное на обсуждение поповских методик.
    О пизде ни слова.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 23:16, спустя 2 минуты 24 секунды

    поповских методик

    буква лишняя, попских - правильно.

    гиви помогает же, а мой флуд - право модератора и закон пыхи
    Сапожник без сапог
  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 23:19, спустя 2 минуты 50 секунд


    shtemp_hot, в инпутах их name's указываешь как масив (name="tut_tvoy_massiv[]"), потом форичем его перебираешь и результат разносишь в таблицы как тебе нужно. Обратное действие примерно такое же: получаешь из базы в массив и форичем "рисуешь" инпуты.

    Спасибо, за начала продуктивного диалога)) Вот меня обратное действие больше и интересует. Можно подробнее?
    Спустя 146 сек.
    shtemp_hot
    Не понимаю как заносить информацию в инпуты из базы цыклом и наоборот, с уже отредактированых инпутов в базу.
    Нужно чтоб цыклом. Ведь языков на сайте может быть как и 2 так и 10.

    а у попова нету форума? мы поповцам не помогаем обычно


    Тогда нежно было писать:
    а у попова нету форума? мы попцам не помогаем обычно

    Со временем это будет пэпсам, а потом поцам)))))))))))
    Ненависть к попову схавал.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 23:21, спустя 1 минуту 54 секунды

    Вот меня обратное действие больше и интересует. Можно подробнее?

    делаешь выборку из базы, кладешь данные в массив, потом итерируя этот массив выводишь данные.
    что не понятно то ?
  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 23:23, спустя 2 минуты 8 секунд

    делаешь выборку из базы, кладешь данные в массив, потом итерируя этот массив выводишь данные.
    что не понятно то ?

    Полный пиздец))))))
    Словами я тоже примерно это понимаю, а вот реализация в зачаточном состоянии.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 21 февраля 2011 г. 23:26, спустя 2 минуты 39 секунд


    делаешь выборку из базы, кладешь данные в массив, потом итерируя этот массив выводишь данные.
    что не понятно то ?

    Полный пиздец))))))
    Словами я тоже примерно это понимаю, а вот реализация в зачаточном состоянии.
    ну показывай в каком она состоянии.
    покажи что ты хоть чтото пытался сделать сам, и скажи с чем именно проблема
  • shtemp_hot

    Сообщения: 7 Репутация: N Группа: Кто попало

    Spritz 21 февраля 2011 г. 23:31, спустя 4 минуты 51 секунду

    <form name="form1" method="post" action="../page/create_page.php">
    <?php $result = mysql_query("SELECT id_lang, lang, lang_name FROM language");
    while ($lang = mysql_fetch_array($result))
    {
    echo "
    <div id='".$lang['lang']."'>
    <p>
    <label>Введите описание страницы. Например: Главная<br>
    <input type='text' name='form[".$lang['lang']."][page_name]' style='width:100%'>
    </label>
    </p>
    <p>
    <label>Позиция<br>
    <input type='text' name='form[".$lang['lang']."][pos]' style='width:20px' value='".$pos."'>
    </label>
    </p>
    <p>
    <label>Введите заголовок<br>
    <input type='text' name='form[".$lang['lang']."][title]' style='width:100%'>
    </label>
    </p>
    <p>
    <label>Введите краткое описание страницы<br>
    <input type='text' name='form[".$lang['lang']."][meta_d]' style='width:100%'>
    </label>
    </p>
    <p>
    <label>Введите ключевые слова страницы<br>
    <input type='text' name='form[".$lang['lang']."][meta_k]' style='width:100%'>
    </label>
    <label>Введите текст страницы
    <textarea name='form[".$lang['lang']."][text]' rows='10' style='width:500px; height:400px;'></textarea>
    </label>
    </p>
    <p>
    <input type='hidden' name='form[".$lang['lang']."][page_id]' style='width:15px' value='".$lastid."'>
    <input type='hidden' type='text' name='form[".$lang['lang']."][sub_id]' style='width:15px' value='".$sub_id."'>
    <input type='hidden' name='form[".$lang['lang']."][cat]' type='text' value='".$cat."'>
    </p>
    </div>";
    }
    ?>
    <p>
    <label>
    <span class='button'><input type='submit' name='submit' value='Добавить страницу'></span>
    </label>
    </p>
    </form>



    <?php
    include ("../blocks/bd.php");
    ?>

    <?php

    // Сначала заменяем "односимвольные" фонемы.
    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_",
    "abvgdeeziyklmnoprstufh'iei");
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_",
    "abvgdeeziyklmnoprstufh'iei");
    // Затем - "многосимвольные".
    $st=strtr($st,

    array(
    "ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh",
    "щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
    "Ж"=>"zh", "Ц"=>"ts", "Ч"=>"ch", "Ш"=>"sh",
    "Щ"=>"shch","Ь"=>"", "Ю"=>"yu", "Я"=>"ya",
    "ї"=>"i", "Ї"=>"i", "є"=>"ye", "Є"=>"ye"
    )
    );
    $string = $st;
    $stringer = str_replace (' ','-',$string);
    $subpage = $stringer;

    foreach ($_POST['form'] as $key => $value){
    echo("<li>$value[page_name],$value[lang],$key</li>\n");
    mysql_real_escape_string($value[page_id]);
    mysql_real_escape_string($value[sub_id]);
    mysql_real_escape_string($value[lang]);
    mysql_real_escape_string($value[page_name]);
    mysql_real_escape_string($value[subpage]);
    mysql_real_escape_string($value[title]);
    mysql_real_escape_string($value[meta_k]);
    mysql_real_escape_string($value[meta_d]);
    mysql_real_escape_string($value[pos]);
    $result = mysql_query ("INSERT INTO page (page_id,lang,sub_id,page_name,subpage,title,meta_k,meta_d,text,pos) VALUES ('$value[page_id]','$key','$value[sub_id]','$value[page_name]','$value[subpage]','$value[title]','$value[meta_k]','$value[meta_d]','$value[text]','$value[pos]')");
    }
    if ($result == 'true') {

    echo "<HTML><HEAD>
    <META HTTP-EQUIV='Refresh' CONTENT='0; URL=../page/edit_page.php?id=$cat'>
    </HEAD>";
    }

    else {echo "<p>Страница не добалена!</p>";}
    ?>



    Это добавление в базу.
    Спустя 109 сек.
    А вот как из базы назад в форму для редактирования не совсем пойму.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!