Odinokun
@Odinokun

Как вставить и заставить работать такой код на PHP?

Добрый день.
Подскажите пожалуйста, как правильно вставить код PHP на страничку так, что бы после ввода данных в окошко таблицы и нажатия кнопки он (код) срабатывал и выводил результат?
Должно получиться приблизительно так как на этом сайте.
А вот код:
<?php
		function parse_inn($inn){
    
    //$id must contain 10 digits
    if (empty($inn) || !preg_match('/^\d{10}$/',$inn)) return false;
    
    $months = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');

    $result = array();
    $result['inn'] = $inn;
    $result['sex'] = (substr($inn, 8, 1) % 2) ? 'm' : 'f';       
     
    $split = str_split($inn);

    $summ = $split[0]*(-1) + $split[1]*5 + $split[2]*7 + $split[3]*9 + $split[4]*4 + $split[5]*6 + $split[6]*10 + $split[7]*5 + $split[8]*7;
    
    $result['control'] = (int)($summ - (11 * (int)($summ/11)));       
     
    $result['status'] = ($result['control'] == (int)$split[9]) ? true : false;
 
    $inn = substr($inn, 0, 5);
    
    $normal_date = date('d.m.Y', strtotime('01/01/1900 + ' . $inn . ' days - 1 days'));
    
    list($result['day'], $result['month'], $result['year']) = explode('.', $normal_date);
    
    $result['str_month'] = $months[$result['month'] - 1];
    
    return $result;
}

	?>
  • Вопрос задан
  • 2286 просмотров
Решения вопроса 2
EagleMoor
@EagleMoor
PHP Yii2 RESTful API Developer
Копируем нашу функцию в файл function.php

Создаем новый файл index.php
<html><body>
<form action="index.php" method="post">
<div><label>Введите данные: </label> <input type="text" name="inn" /></label></div>
<div><button type="submit" value="Ok" /></div>
</form>

<?php
include 'function.php'; // Подключаем файл с нашей функцией
if (!empty($_POST) && isset($_POST['inn'])) {
    echo 'Результат:' . parse_inn($_POST['inn']);
}
?>
</body></html>

Размещаем файлы на сервере и заходим через браузер.

UPD. Для теста без сервака можно воспользоваться сервисом www.compileonline.com/execute_php_online.php

<html>
<head>
<title>Online PHP Script Execution</title>
</head>
<body>
<?php
   function parse_inn($inn){
    
    //$id must contain 10 digits
    if (empty($inn) || !preg_match('/^\d{10}$/',$inn)) return false;
    
    $months = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');

    $result = array();
    $result['inn'] = $inn;
    $result['sex'] = (substr($inn, 8, 1) % 2) ? 'm' : 'f';       
     
    $split = str_split($inn);

    $summ = $split[0]*(-1) + $split[1]*5 + $split[2]*7 + $split[3]*9 + $split[4]*4 + $split[5]*6 + $split[6]*10 + $split[7]*5 + $split[8]*7;
    
    $result['control'] = (int)($summ - (11 * (int)($summ/11)));       
     
    $result['status'] = ($result['control'] == (int)$split[9]) ? true : false;
 
    $inn = substr($inn, 0, 5);
    
    $normal_date = date('d.m.Y', strtotime('01/01/1900 + ' . $inn . ' days - 1 days'));
    
    list($result['day'], $result['month'], $result['year']) = explode('.', $normal_date);
    
    $result['str_month'] = $months[$result['month'] - 1];
    
    return $result;
}

$var = 10;

var_dump($var, parse_inn($var));
?>
</body>
</html>
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
Пригласить эксперта
Ответы на вопрос 1
dimka-dooz
@dimka-dooz
front-end разработчик)
Так и в вставляй. Только расширение файла должно быть php а не html и он должен быть на сервере(чтобы сработал интерпретатор), а не в локальной директории, можно локальный сервер)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы