Bonjour, je suis le cursus php, cours sur les conditions : https://www.youtube.com/watch?v=zFqdht5bFJY&t=193s (à 5m50 environ)
Quand je tape le même code que dans la vidéo c'est à dire :

$note = readline('Entrez votre note : ');
if ($note > 10) {
    echo 'Bravo vous avez la moyenne !';
} elseif ($note == 10) {
    echo 'Vous avez juuuste la moyenne';
} else {
    echo 'Désolée, vous n\'avez pas la moyenne';
}

Ce que je veux

Je devrais obtenir la même chose que dans le cours : une ligne me demandant de rentrer ma note dans le Terminal VS Code et avoir le retour conditonnel en fonction de la note

Ce que j'obtiens

J'obtiens le message d'erreur "Fatal error: Uncaught Error: Call to undefined function readline()"

6 réponses


Bonjour,

Tu dois certainement avoir une extension manquante ou désactivée.

J'aurais 3 questions pour essayer de t'aider :

  • quel est ton OS ?
  • qu'elle est ta version de PHP ?
  • comment tu a procéder pour mettre en place PHP (je n'ai pas vu le tuto) ?
DS13015
Auteur

Merci, alors :

OS :
Windows 8
(Version 6.3)

Version PHP :
PHP 7.4.1 (cli) (built: Jan 20 2020 22:21:57) ( ZTS Visual C++ 2017 x86 )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Pour installer PHP j'ai installé MAMP :
MAMP Version
4.2.0 → Your version is up-to-date.

OK... sur Windows, j'aurais plutôt installé WAMP plutôt que MAMP (historiquement dédié aux systèmes MAC-OS), mais pas de certitudes que le problème vienne de là...

Et du coup ton script tu l'execute comment ? Qu'est ce que tu tape dans ton terminal ?

DS13015
Auteur

Alors le script j'écris php et ensuite le nom de mon fichier php.

Ex : php variables.php

Pour les pages qui ne contiennent pas readline le script s'affiche bien, mais le readline ne passe pas.

OK, il bien est possible tu utilise une version dans laquelle la fonction "readline()" n'est pas compilée...

Perso, je viens de faire un essai avec la version VC15 x64 Thread Safe (2021-May-04 18:12:24) téléchargée ici : https://windows.php.net/download#php-7.4

<?php
$qui = readline('On dit hello qui ?');
echo 'hello '.$qui.' !';
?>

-> ça fonctionne sur mon Windows 10 64bits.

Je t'invite à tester, normalement PHP est portable et ne necessite pas d'installation, tu a juste a extraire l'archive, créé un fichier "test.php" dans le même dossier que Php, ouvrir un cmd dans le dossier et faire un "php.exe test.php".

Voilà... si ça fonctionne pas je pourrais guère plus t'aider... peut-être qu'il y a un truc dans ton environnement qui empêche l'execution de cette fonction.

Salut ! je viens d'avoir ce problème , au faite tu dois désinstaller WAMP ou MAMP et utilisé le lien suivant: https://windows.php.net/download#php-7.4 , pour réinstaller comme dans la vidéo et ton problème est régler . C'est ce que j'ai fait.