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

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

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Points : 48
    Points
    48
    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 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    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 du Club
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Points : 48
    Points
    48
    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 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 785
    Points : 3 048
    Points
    3 048
    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 du Club
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Points : 48
    Points
    48
    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 du Club
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

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

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

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    J'ai trouvé.
    J'ai mis le include dans le header.
    Puis j'appel ma function dans la page.
    Comme le header est toujours appelé dans toutes les pages. cela fonctionne.
    Merci beaucoup pour toutes vos explications et aides.

+ 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