IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Function non reconnue [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Par défaut Function non reconnue
    Bonjour,
    J'en perds mon latin.
    j'ai testé cette function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?PHP
    function precedent()
    {
    $d = $_SESSION['Balises2'];
    $regex = "/(.*)[0-9]+\\[.*\\]/";
    preg_match($regex, $d, $resultats);
    $reste = $resultats[1];
    // $reste contient la chaine sans le dernier morceau
    echo $reste. "ELSEIF";
    }
    ?>
    Elle fonctionne bien quand elle est renseignée dans chaque page.
    J'ai mis cette function dans un fichier dans un dossier.
    J'appel cette function dans mes pages.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    elseif(isset($_SESSION['Balises2'])){
    $page='3';
    precedent();
    }
    Mais quand je fais appel à elle avec le bouton précédent, un message d'erreur me dit que la function n'est pas définie.
    Fatal error: Call to undefined function precedent() in C:\wamp\www\_Dev\sdp-asset2.php on line 20
    Pourtant quand je tape le nom de la function il ne l'affiche pas en erreur, et la voit bien dans l'IntelliSense.
    Pourquoi?

    J'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include 'Data/precedent()';
    Même erreur
    J'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include 'Data/function-precedent.php';
    Plus d'erreur, mais le echo dans la fonction n'affiche rien.

    J'ai aussi déclaré en superVariable $reste dans la function.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?PHP
    function precedent()
    {
        global $reste;
        $d = $_SESSION['Balises2'];
    $regex = "/(.*)[0-9]+\\[.*\\]/";
    preg_match($regex, $d, $resultats);
    $reste = $resultats[1];
    // $reste contient la chaine sans le dernier morceau
    return $reste;
     
    }
    ?>
    voici le code la page contenant l'appel de la function, à la ligne 23.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php include("header.php"); ?>
    <div  id="global">
    <div id="texteglobal">
    <div id="annule">
                                <span>En cas de demande annulée :</span>
                                <a href="code-annuler.php" class="boutonannule">Cliquez ici</a>
                            </span>
     
                </div>
    </br></br>
    <?php
    // Set session variables
    if (isset($_POST["balise"])) 
    { 
        $page='2';
       /* $_SESSION["Balises1"] = $_SESSION["Balises2"];*/
        // $_SESSION["Balises2"] = str_replace($page,"",$_SESSION['Balises2']);
        $_SESSION["Balises2"] = $_SESSION['Balises2']. $page. $_POST["balise"];
        echo $_SESSION["Balises2"]."if";
    }
    elseif(isset($_SESSION['Balises2'])){
        $page='3';
        include ('Data/function-precedent.php');
        echo $reste. "function elseIF";
    }
    ?>
    </br></br>
    Le propriétaire de la machine est-il bien la personne désignée dans le champ "requested for" ?
    </br></br>
    <table align="center">
        <tr>
            <td>
            <form method="POST" action="sdp-demande2.php">
            <!-- //<input type="hidden" name="page" value="<?= $page;?>"/> -->
            <input type="hidden" name="balise" value="[USER_CMDB_DIF_NON]"/>
            <input type="submit" name="non" value="NON" />&nbsp;&nbsp;
            </form>
            </td>
            <td>
            <form method="Post" action="sdp-demande2.php">
            <!-- //<input type="hidden" name="page" value="<?= $page;?>"/> -->
            <input type="hidden" name="balise" value="[USER_CMDB_DIF_OUI]"/>
            <input  type="submit" name="oui" value="OUI"/>&nbsp;&nbsp;
            </form>
            </td>
        </tr>
    </table>
    <br/>
    <div id="precedent">
    <form>
    			<button type="submit"><a href="sdp-all.php">Précédent</a>	</button>
    			</form>
    </div>
    <br/>
    </div><!*-------END DIV texte---->
            </div>
    <?php include("footerR.php"); ?>
    J'ai aussi essayé avec la supervariant $GLOBALS[] ligne 5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?PHP
    function precedent()
    {
        global $reste;
        $d = $GLOBALS[$_SESSION['Balises2']];
    $regex = "/(.*)[0-9]+\\[.*\\]/";
    preg_match($regex, $d, $resultats);
    $reste = $resultats[1];
    // $reste contient la chaine sans le dernier morceau
    return $reste;
     
    }
    ?>
    Cela n'affiche rien et ne fait pas du tout appel à la function.
    idem
    Merci

  2. #2
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Include suivi du nom relatif du fichier. Comment s'appelle le fichier ? Data/precedent.php ? Alors include "Data/precedent.php"

  3. #3
    Membre confirmé
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Par défaut
    Le chemin du fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ('Data/function-precedent.php');
    mais cela ne fonctionne pas.
    La function n'est pas utilisée.

  4. #4
    Membre Expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 797
    Par défaut
    Ça ne peut pas ne pas fonctionner 😅

    Ton chemin d'accès est incorrect selon moi. Il s'agit d'un chemin relatif au script qui comprend l'instruction include.

  5. #5
    Membre confirmé
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Par défaut

    Ton chemin d'accès est incorrect selon moi. Il s'agit d'un chemin relatif au script qui comprend l'instruction include.
    Désolé sincèrement cavo789, mais je n'ai rien compris.
    Peux-tu développer pour un nul comme moi?
    Merci

  6. #6
    Membre confirmé
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Par défaut
    Idem avec ce lien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ("/Data/function-precedent.php");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. function replace non reconnu access 2000
    Par titeZ dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 25/02/2008, 10h59
  2. Commandes non reconnues.
    Par Manu' dans le forum Administration système
    Réponses: 3
    Dernier message: 07/10/2004, 17h09
  3. [EJB] [JSP] Méthode EJB non reconnue dans jsp
    Par stago dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/07/2004, 09h52
  4. Creation de table, caractère non reconnu
    Par Missvan dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/02/2004, 13h28
  5. xslt_create() non reconnu
    Par BRAUKRIS dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 11/12/2003, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo