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

JavaScript Discussion :

function s'execute automatiquement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut function s'execute automatiquement
    Bonjour,
    dans une page j'ai mis un formulaire et une function en JS qui est suppose s'executer quand on click sur un button -onClick="Nom Function()"-, mais le probleme c'est qu'elle s'execute sans click sur le button et dés l'ouverture de la page!

    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
     
    <script type="text/javascript">
    function Ajouter()
    {
    <?php
    $sociale=addslashes($_POST['sociale']);
    $commentaire=addslashes($_POST['commentaire']);
    $tel1=trim(addslashes($_POST['tel1']));
     
    					mysql_connect('localhost', 'root', '');
    mysql_select_db('Test');
    $sql = 'insert into testtest values ("'.$sociale.'","'.$commentaire.'","'.$tel1.'")'; 
     
    $result = mysql_query($sql);
     
    if (!$result) {
       echo "Une erreur a été détectée lors de la lecture des données !";
    echo 'Erreur MySQL : ' . mysql_error();
       exit;
    }
     
    ?>
    }
    </script>
     
    <?php
     
    $form="
    <form method=\"POST\">
                                                                            <p>Nom <input type=\"text\" name=\"sociale\" id=\"textfield\" required/></p>
                                                                              <p>Commentaire <textarea name=\"commentaire\" id=\"commentaire\" required></textarea></p>
                                          <p>Téléphone 1 <input type=\"text\" name=\"tel1\" id=\"textfield\" required/></p>
                                          <p><input type=\"submit\" value=\"Envoyer\" name=\"GO\" onclick=\"Ajouter()\"></p>
    
    </form>";
    echo $form;
    ?>

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Merci de poste le code html résultat et non le php

    là on ne sais absolument pas ce que donne ton code.
    de ce que je vois si à l'éxécution du php l'insertion des donnés dans la bas est OK ta fonction javascript est
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
    function Ajouter()
    {
    }
    </script>
    ce qui ne dois pas fraire grand chose
    et si l'insersion dans la base a provoqué une erreur
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript">
    function Ajouter()
    {
    Une erreur a été détectée lors de la lecture des données !
    Erreur MySQL : SQL insert error ...
    }
    </script>
    ce qui est un javascript qui est complètement errorné.
    dans un cas comme dans l'autre je ne vois pas où ta fonction s'exécute
    car ton code javascript est complètement faux.

    Je répète que générer dynamiquement une fonction javascript en PHP n'apporte rien et est source d'erreur.

    la bonne pratique consiste à mettre le javascript dans un fichier js
    le code exécutable php dans un fichier php et le html dans un fichier html
    mélanger le tout n'est qu'une source d'embrouille pour ne pas être vulgaire.

    A+JYT

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    1- Javascript s'exécute du coté client (interprété par le navigateur) et php du coté serveur (interprété par apache). Donc tu ne peux pas utiliser du code php dans du javascript.
    2- Tu as l'erreur parce qu'au chargement de la page, les codes php que tu penses être exécuté lors du onclick est interprété dès la chargement de la page par apache. La variable $_POST n'existe pas encore.
    Pour ton besoin, regarde du coté AJAX si tu veux exécuter des instructions php lancées par un onclick sans que la page se recharge.

    A+.

Discussions similaires

  1. execution automatique d'une action par le serveur
    Par mael94420 dans le forum ASP
    Réponses: 3
    Dernier message: 16/06/2006, 11h18
  2. Requete ajout executée automatiquement
    Par momo60 dans le forum Access
    Réponses: 3
    Dernier message: 02/06/2006, 13h51
  3. [Système] execution automatique d'un script php.
    Par ghostdog dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2006, 16h06
  4. [VB6] execution automatique d'une tache
    Par Jacen dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 18/05/2006, 08h52
  5. Execution automatique de code
    Par Ant8386 dans le forum Oracle
    Réponses: 6
    Dernier message: 10/05/2006, 17h08

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