Ответ 1
Функция mb_strlen()
не включена по умолчанию в PHP. Пожалуйста, прочтите руководство по деталям установки:
Я пытаюсь создать центр пожертвований, в котором я использую исходный код из Totorialzine.
Все работает отлично для меня в данный момент, но единственная проблема, с которой я боролся и пытаюсь смотреть на весь день, и не могу понять, что на самом деле неправильно с кодом точно
вот что я получаю, когда я отправляю комментарий на странице, когда мои посетители жертвуют.
Fatal error: Call to undefined function mb_strlen() in /home/yoursn0w/public_html/livetv/premium/thankyou.php on line 14
и вот код в файле php.
<?php
require "config.php";
require "connect.php";
if(isset($_POST['submitform']) && isset($_POST['txn_id']))
{
$_POST['nameField'] = esc($_POST['nameField']);
$_POST['websiteField'] = esc($_POST['websiteField']);
$_POST['messageField'] = esc($_POST['messageField']);
$error = array();
if(mb_strlen($_POST['nameField'],"utf-8")<2)
{
$error[] = 'Please fill in a valid name.';
}
if(mb_strlen($_POST['messageField'],"utf-8")<2)
{
$error[] = 'Please fill in a longer message.';
}
if(!validateURL($_POST['websiteField']))
{
$error[] = 'The URL you entered is invalid.';
}
$errorString = '';
if(count($error))
{
$errorString = join('<br />',$error);
}
else
{
mysql_query(" INSERT INTO dc_comments (transaction_id, name, url, message)
VALUES (
'".esc($_POST['txn_id'])."',
'".$_POST['nameField']."',
'".$_POST['websiteField']."',
'".$_POST['messageField']."'
)");
if(mysql_affected_rows($link)==1)
{
$messageString = '<a href="donate.php">You were added to our donor list! »</a>';
}
}
}
?>
У меня есть моя база данных в загруженном phpMyAdmin
здесь я следую инструкциям по установке
http://tutorialzine.com/2010/05/donation-center-php-mysql-paypal-api/
Функция mb_strlen()
не включена по умолчанию в PHP. Пожалуйста, прочтите руководство по деталям установки:
Чтобы исправить эту установку, пакет php7.0-mbstring:
sudo apt install php7.0-mbstring
В Centos, RedHat, Fedora и других yum-my системах это намного проще, чем руководство по PHP предлагает:
yum install php-mbstring
service httpd restart
Для меня следующая команда сделала трюк
sudo apt install php-mbstring
Для меня это работало в Ubuntu 14.04 и для php5.6:
$ sudo apt-get install php5.6-mbstring
В случае, если Google ищет эту ошибку
Call to undefined function mb_ereg_match()
берет кого-то в эту ветку Установка php-mbstring также решает эту проблему.
Ubuntu 18.04.1, PHP 7.2.10
sudo apt-get install php7.2-mbstring