web-dev-qa-db-fra.com

Erreur fatale: appel de la fonction non définie mb_strlen ()

J'essaie de faire un centre de donation que j'utilise le code source de Totorialzine.

Jusqu'à présent, tout fonctionne bien pour moi, mais le seul problème pour lequel j'ai eu du mal à essayer de regarder pendant toute la journée et je ne peux pas comprendre exactement ce qui ne va pas avec le code.

voici ce que je reçois lorsque je soumets le commentaire sur la page lorsque mes visiteurs font un don. 

Fatal error: Call to undefined function mb_strlen() in /home/yoursn0w/public_html/livetv/premium/thankyou.php on line 14

et voici le code dans le fichier 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! &raquo;</a>';
        }
    }
}

?>

J'ai ma base de données dans le phpMyAdmin téléchargé

voici où je suis les instructions de l'installation

http://tutorialzine.com/2010/05/donation-center-php-mysql-Paypal-api/

54
Ali

La fonction mb_strlen() n'est pas activée par défaut en PHP. Veuillez lire le manuel pour les détails d'installation:

http://www.php.net/manual/en/mbstring.installation.php

64
AJ.

Pour résoudre ce problème, installez le paquet php7.0-mbstring:

Sudo apt install php7.0-mbstring
22
Usman

Sur Centos, RedHat, Fedora et d’autres systèmes yum-my, il est beaucoup plus simple que le manuel de PHP ne le suggère:

yum install php-mbstring
service httpd restart
4
kubanczyk

Pour moi, la commande suivante a fait l'affaire

Sudo apt install php-mbstring
4
webmaster

Pour moi, cela fonctionnait dans Ubuntu 14.04 et pour php5.6:

$ Sudo apt-get install php5.6-mbstring
2
Mona Jalal

Dans le cas où Google recherche cette erreur 

Call to undefined function mb_ereg_match()

prend quelqu'un à ce fil. L'installation de php-mbstring le résout également.

Ubuntu 18.04.1, PHP 7.2.10

Sudo apt-get install php7.2-mbstring
0
frmbelz