• Как установить значение переменной без перезагрузки страницы?

    @Flashmond
    Студент, инженер-программист c#
    Если я правильно понял вопрос, посылаете ajax-запрос к своей страничке на php и обрабатываете его уже кодом php
    Ответ написан
    Комментировать
  • Как установить значение переменной без перезагрузки страницы?

    Daemon23RUS
    @Daemon23RUS
    Когда страница загрузилась - php закончил выполнение. Он уже не помнит переменных (за исключением сессионных)
    Даже если Вы выполните запрос JQuery то сформировав ответ php так же умрет.
    Выход - использование сессионых переменных. Или более точная постановка цели изменения переменной.
    ....
    Дополнение по уточненным данным:
    $.ajax({
      type: "POST",
      url: "some.php",
      data: {param_name: 'Value'},
      success: function(msg){
        alert( "Data Saved: " + msg );
      }
    });


    а в some.php - встретить эти данные
    if (isset($_POST["param_name"])) {    
             $tvoya_peremennaya= $_POST["param_name"]; 
    }
    Ответ написан
    Комментировать
  • Оптимально ли написан код?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) для таких вещей не очень удобно использовать регулярки. Разбирать xml/html регулярками вообще вредно
    2) логичнее в тег pre ничего не добавлять что бы ненароком не удалить лишнего. Вдруг там по замыслу автора уже стоял тег
    .
    3) проще сразу убрать лишние строки или еще круче - завернуть их в параграфы.
    Ответ написан
    2 комментария
  • Как загрузить файл на Облако Mail средствами php?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    попробуйте добиться 1 в 1 совпадения вывода в хттп отладчик (ну, кроме Date) от браузера и вашего скрипта, не факт, что курлом вы правильно аплоадите
    Ответ написан
    Комментировать
  • Есть какой нибудь скрипт только c новостной лентой и личными сообщениями?

    MedVedar
    @MedVedar
    e-commerce developer
    Чем вам wordpress не угодил? Попробуйте на drupal собрать. Или вам нужно что-то типа социальной сети?
    Ответ написан
    Комментировать
  • Как в контакте реализована идея обновления в реальном времени?

    romy4
    @romy4
    Exception handler
    технология websockets
    Ответ написан
    Комментировать
  • Как подписывать разработанные сайты?

    dom1n1k
    @dom1n1k
    Единственный адекватный вариант - пункт в договоре (так делает например САЛ).
    Если фрилансер - можно попробовать устные договоренности (но понятно, что клиент в любой момент может передумать - и это его право).
    А за все ужимки с потайным функционалом надо отбивать руки.
    Ответ написан
    1 комментарий
  • Как вытащить все голые текста из HTML с помощью PHP?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    $content=preg_replace('/<[^>]+>/', '', $content);

    preg_match('/(?!<[^>]+>)/', $content); //собрать все строки в массив
    Ответ написан
    3 комментария
  • Как вытащить все голые текста из HTML с помощью PHP?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Ответ написан
    Комментировать
  • Как отправить post запрос и распарсить ответ?

    zagayevskiy
    @zagayevskiy Куратор тега Java
    Android developer at Yandex
    Смотря, что постить надо. По-моему, удобнее всего взять Retrofit.
    Ответ написан
    Комментировать
  • Как в огромной куче файлов заменить одну ссылку на другую?

    webirus
    @webirus Автор вопроса
    Тыжверстальщик! Наверстай мне упущенное...
    Сам спросил - сам нашел.
    https://habrahabr.ru/post/55121/
    find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'
    Ответ написан
    Комментировать
  • Как запустить скрипт на одном сервере другим скриптом на другом сервере?

    @entermix
    Можно, конечно же..

    GET:
    $result = file_get_contents('http://example.com/script.php' . http_build_query([
        'param1' => '1', 
        'param2' => '2', 
        'param3' => '3', 
    ]));


    POST:
    $result = file_get_contents(
    		'http://example.com/script.php', 
    		false, 
    		stream_context_create(
    			[
    				'http' => [
    					'method' => 'POST',
    					'header' => 'Content-Type: multipart/form-data; boundary=' . $boundary,
    					'content' => $content,
    				]
    			]
    		)
    	);


    Или СURL, Guzzle
    Ответ написан
    4 комментария
  • Правильно ли я понимаю MVC?

    jacksparrow
    @jacksparrow
    Кратко: если проект пишите для реальной задачи - возьмите фреймворк
    Ответ написан
    2 комментария
  • Правильно ли я понимаю MVC?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    нет, вы не правильно поняли MVC.

    Попробуйте подойти к проблеме чуть с другой стороны. Реализуйте ваше приложение так, что бы оно ничегошеньки не знало о HTTP, внутри него небыло ни единого echo, оно ничего не знало о сессиях и вообще ничего не знал о таких вещах. Проще всего этого добиться - ваше приложение можно запускать через CLI. Грубо говоря как-то так:

    <?php
    // run.php - просто скрипт для разового теста
    
    require __DIR__ . '/vendor/autoload.php'; // вы же уже используете composer?
    
    $app = new App();
    $app->getService('login_handler')->login('user@example.com', 'password');


    Что-то типа такого. То есть на каждый "юз кейс", то есть то что приложение должно делать, у вас должен быть метод. Типа "сделай то-то" и "сделай еще что-то".

    Вот это - наше приложение, наша "модель". Не один какой-то класс... это все приложение. MVC же ставит перед собой задачу снижения связанности между UI и приложением. Цель при этом приследуется простая - UI обычно меняется намного чаще чем логика приложения, а стало быть лучше их друг от дружки отделить целиком и полностью.

    Делается это за счет того что между UI и приложением вводят дополнительный промежуточный слой адаптеров - контроллеры (это опять же не обязательно один объект, это может быть целая цепочка адаптеров, каждый из которых делает что-то конкретное, в плодь до последнего адаптера который уже конвертирует http запрос в нужный вызов нужного метода).

    То есть что бы сказать "я сделал MVC" у вас приложение не должно зависить от UI. Если вы хоть где-то в приложении используете суперглобальные массивы, и т.д. вы проиграли. Ну либо просто не называйте это MVC, скажите что вы просто шаблоны отдельно ложите ну и роутер еще есть. Но это не MVC, это smartui, то есть наше приложение вкурсе что у него есть UI и они сильно связаны.

    MVC нужно далеко не всем, и smartui сойдет для простых проектов. Но вы должны понимать разницу, и знать когда стоит загоняться а когда можно логику в контроллеры выносить.

    Надо ли было создавать глобальные переменные в модели

    Это вы еще не уяснили значит что такое ООП, почему глобальное состояние плохо и что такое побочные эффекты (погуглите в контексте состояния).

    делать сеттеры и геттеры?

    А этим мы нарушаем инкапсуляцию. Внешний мир должен знать только что можно делать с моделью, но никак не ее структуру. То есть вместо setSomething у вас должно быть осмысленное название, типа updateSomething, changeSomething и т.д. Типа "user should be able to change password" и у вас появляется метод "changePassword". Или "User should be able to update profile details" и у вас появляется один единственный метод "updateProfileDetails()". А что оно как состояние меняет - это консерн исключительно объекта. Ему рашеть менять чего или нет. Мы таким образом изолируем побочные эффекты и уменьшаем вероятность багов. Ну и нам не нужно валидировать при таком раскладе ничего так как нет промежуточного невалидного состояния.
    Ответ написан
    9 комментариев
  • WebSocket. На чём его можно использовать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Давайте так, расскажу вам как самому себе отвечать на такие вопросы.

    1) у нас есть ключевое слово - WebSockets. Заходим в гугл и вбиваем, он отправляет нас читать википедию. Замечательно.
    2) там мы видим что это протокол поверх TCP и т.д. и тп. То есть гуглим все новые и непонятные для нас слова.
    3) как только мы ознакомились что это за штука, мы можем поискать реализации web socket сервера и глянуть требования.
    4) делаем выводы.
    Ответ написан
    7 комментариев
  • Какая разница веб-дизайна и веб-программирования?

    @Silm
    Веб-программист - широкое понятие, но в большинстве случаев должен уметь хоть немного верстать.
    Хотя верстка программированием не является. Но вообще логично начинать изучение веба с азов верстки. Хотя заверстать целый макет - это может быть избыточно, смотря какая цель курса.
    Ответ написан
    3 комментария
  • Какая разница веб-дизайна и веб-программирования?

    rpsv
    @rpsv
    делай либо хорошо, либо никак
    Как по мне, то картинка такая:
    • Дизайнер - рисовака;
    • Верстальшик - конвертер макета в HTML код;
    • Веб-дизайнер - дизайнер + верстальщик;
    • Front-end разработчик - верстальщик + много еще чего.

    А термин веб-программирование может означать:
    • Front-end
    • Back-end
    • Full-stack

    Так что как по мне, хренова-то курсы расписаны.
    Ответ написан
    4 комментария
  • Как можно узнать '' Ваш XML ID агента:'' на площадке digiseller?

    @AEG
    Пройдите по ссылке plati.ru/asp/agent.asp?show=xml&f=1 после авторизации будет виден IDa36503cdd02244da8fe501a4c889158e.jpg
    Ответ написан
    Комментировать
  • Как отправить POST запрос с помощью HttpURLConnection?

    @Wolfak Автор вопроса
    Разобрался, может кому пригодится:
    class SendLoginData extends AsyncTask<Void, Void, Void> {
    
            String resultString = null;
    
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
            }
    
            @Override
            protected Void doInBackground(Void... params) {
                try {
                    String myURL = "http://site.ru/";
                    String parammetrs = "param1=1&param2=XXX";
                    byte[] data = null;
                    InputStream is = null;
    
                    try {
                        URL url = new URL(myURL);
                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                        conn.setRequestMethod("POST");
                        conn.setDoOutput(true);
                        conn.setDoInput(true);
    
                        conn.setRequestProperty("Content-Length", "" + Integer.toString(parammetrs.getBytes().length));
                        OutputStream os = conn.getOutputStream();
                        data = parammetrs.getBytes("UTF-8");
                        os.write(data);
                        data = null;
    
                        conn.connect();
                        int responseCode= conn.getResponseCode();
    
                        ByteArrayOutputStream baos = new ByteArrayOutputStream();
    
                        if (responseCode == 200) {
                            is = conn.getInputStream();
    
                            byte[] buffer = new byte[8192]; // Такого вот размера буфер
                            // Далее, например, вот так читаем ответ
                            int bytesRead;
                            while ((bytesRead = is.read(buffer)) != -1) {
                                baos.write(buffer, 0, bytesRead);
                            }
                            data = baos.toByteArray();
                            resultString = new String(data, "UTF-8");
                        } else {
                        }
    
    
    
                    } catch (MalformedURLException e) {
    
                        //resultString = "MalformedURLException:" + e.getMessage();
                    } catch (IOException e) {
    
                        //resultString = "IOException:" + e.getMessage();
                    } catch (Exception e) {
    
                        //resultString = "Exception:" + e.getMessage();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
    
            @Override
            protected void onPostExecute(Void result) {
                super.onPostExecute(result);
                if(resultString != null) {
                    Toast toast = Toast.makeText(getApplicationContext(), resultString, Toast.LENGTH_SHORT);
                    toast.show();
                }
    
            }
        }
    Ответ написан
    3 комментария
  • Как отправить POST запрос с помощью HttpURLConnection?

    @tepexob
    Минимум как-то так. А там сами обработаете что и как требуется и положено.

    String myURL = "http://myserver.com";
    String params = "param1=1&param2=XXX";
    byte[] data = null;
    InputStream is = null;
    
    try {
        URL url = new URL(myURL);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);
        conn.setDoInput(true);
    
        conn.setRequestProperty("Content-Length", "" + Integer.toString(params.getBytes().length));
        OutputStream os = conn.getOutputStream();
        data = params.getBytes("UTF-8");
        os.write(data);
        data = null;
    
        conn.connect();
        int responseCode= conn.getResponseCode();
    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        is = conn.getInputStream();
    
        byte[] buffer = new byte[8192]; // Такого вот размера буфер
        // Далее, например, вот так читаем ответ
        int bytesRead;
        while ((bytesRead = is.read(buffer)) != -1) {
            baos.write(buffer, 0, bytesRead);
        }
        data = baos.toByteArray();
    } catch (Exception e) {
    } finally {
        try {
            if (is != null)
                is.close();
        } catch (Exception ex) {}
    }
    return data;


    Особого отличия от HttpClient нет.
    Ответ написан