AUTO Age Script - PullRequest
       27

AUTO Age Script

0 голосов
/ 30 января 2019

Проблема в сообщении об ошибке cPanel.

У меня есть PHP-скрипт, который автоматически показывает (Сара Смайл * Годы), и у меня есть (.htaccess) строка (приложение AddType / x-httpd-php .html), которая запускаетсяправильно, однако cPanel выдает это сообщение об ошибке: Ожидаемое имя тега.Получил '?'вместо.(HTML не поддерживает инструкции по обработке).

<?php
$bday = new DateTime('11.4.2010'); // Persons Date of Birth
$today = new Datetime(date('m.d.y'));
$diff = $today->diff($bday);
printf(' %d ', $diff->y, $diff->m, $diff->d);
printf("\n");
?>

Есть ли способ автоматического получения (Sara Smile - * Years of Age), без сообщения об ошибке cPanel?

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Я всегда использую этот код для элегантного расчета возраста пользователя и работает нормально ...

<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>User Age Information</title>
</head>

<body>
<?php
  function Calc_Age($myday) {
    date_default_timezone_set('Europe/Rome');
    $birth = new DateTime($myday);
    $birth->format('Y-m-d H:i:s');
    $today = new DateTime('NOW');
    $today->format('Y-m-d H:i:s');
    $diffs = $today->diff($birth);
    $myage = $diffs->y . ($diffs->y == 1 ? ' year, ' : ' years, ');
    $myage .= $diffs->m . ($diffs->m == 1 ? ' month, ' : ' months, ');
    $myage .= $diffs->d . ($diffs->d == 1 ? ' day, ' : ' days, ');
    $myage .= $diffs->h . ($diffs->h == 1 ? ' hour and ' : ' hours and ');
    $myage .= $diffs->i . ($diffs->i == 1 ? ' minute' : ' minutes');
    return $myage;
  }
?>

<h1>Actual age of Angela</h1>

<p>Angela is <?php echo Calc_Age("1967-01-23 05:00:00"); ?> old</p>

<h1>Actual age of Jhon</h1>

<p>Jhon is <?php echo Calc_Age("1977-04-14 09:10:00"); ?> old</p>

</body>

</html>

Вывод:

Age Calc


Ответ только по годам

<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>User Age Information</title>
</head>

<body>
<?php
  function Calc_Age($myday) {
    date_default_timezone_set('Europe/Rome');
    $birth = new DateTime($myday);
    $birth->format('Y-m-d');
    $today = new DateTime('NOW');
    $today->format('Y-m-d');
    $diffs = $today->diff($birth);
    $myage = $diffs->y . ($diffs->y == 1 ? ' year' : ' years');
    return $myage;
  }
?>

<h1>Actual age of Angela</h1>

<p>Angela is <?php echo Calc_Age("1967-01-23"); ?> old</p>

<h1>Actual age of Jhon</h1>

<p>Jhon is <?php echo Calc_Age("1977-04-14"); ?> old</p>

</body>

</html>

Age Years Only


Заключительные замечания

с mdY механизм php не может вычислить даты diff, чтобы правильно использовать этот класс php, вы должны использовать стандартную коннотацию Ymd.Это не может создать проблему, так как теперь вы знаете, что вам нужно вызывать функцию с этим форматом

Calc_Age("1967-01-23"); // Y-m-d (Year-month-day)

Надеюсь, эта помощь.

0 голосов
/ 02 февраля 2019
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8"> 
</head>
<body>
  <?php
    function AutoAge($birthday)
    {
      $today = new DateTime(date('d-m-Y'));
      $bday = new DateTime($birthday); // Persons Date of Birth     
      $diff = $bday->diff($today);
      return $diff->format('%y');
    }
  ?>
  <p>some content here</p>
  <p>Alice has an age of <?php echo AutoAge("11-4-2000"); ?></p>
  <p>other content here</p>
  <p>Bob has an age of <?php echo AutoAge("23-9-2004"); ?></p>
</body>
</html>

ОБНОВЛЕНИЕ

Вот более простой код JavaScript:

function AutoAge(birthYear, birthMonth, birthDay)
{
  var birthdate = new Date(birthYear, birthMonth - 1, birthDay);
  var today = new Date();
  return Math.floor((today.getTime() - birthdate.getTime()) 
    / 1000 / 60 / 60 / 24 / 365);
}

function showBirthday()
{
  var i, elem, items = document.getElementsByClassName('birthday');
  for(i=0; i<items.length; i++)
  {
    elem = items[i];
    elem.innerHTML = AutoAge(elem.dataset.year || 2000, elem.dataset.month || 0, elem.dataset.day || 1) + ' years';
  }
}
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="utf-8"> 
    </head>
    <body onload="showBirthday()">
      <p>some content here</p>
      <p>Alice has an age of <span class="birthday" data-year="2000" data-month="4" data-day="11"></span></p>
      <p>other content here</p>
      <p>Bob has an age of <span class="birthday" data-year="2004" data-month="9" data-day="23"></span></p>
    </body>
    </html>
...