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 :

script qui ne s'exécute pas


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut script qui ne s'exécute pas
    Bonjour,
    j'ai un petit script qui rafraichit la page mais si je met le php pour updater la base, il ne s'exécute pas?
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if($newmess==0){
        ?>
      setTimeout(function(){location.reload();},1000);
     <?php
     sleep(2);
      $bdd->query("UPDATE messages SET new_mess=1 WHERE mess_ann_id='$id' ORDER BY mess_id DESC LIMIT 1");
     
    }

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    En limitant la requête à sa nécisité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $bdd->query('UPDATE messages SET new_mess=1 WHERE mess_ann_id='.$id);
    Si cela ne fonctionne pas, faudra nous montrer un peu plus de code, pour voir le cheminement.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    MIEUX : avec une requête préparée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $res = $bdd->prepare("UPDATE messages SET new_mess=1 WHERE mess_ann_id=:id");
    $res->execute([':id'=>$id]);
    Cela dit, j'ai du mal à comprendre le mélange de PHP et JavaScript...
    PHP agit coté serveur, donc avant affichage de la page (donc, avant le JavaScript)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2008
    Messages : 428
    Points : 86
    Points
    86
    Par défaut
    merci, je vais tester

  5. #5
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    Novembre 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2012
    Messages : 99
    Points : 228
    Points
    228
    Par défaut
    Là le PHP test une variable puis selon sa valeur :
    - Cas 1 : affiche une page web vide qui contient juste un code JS qui recharge la page,
    - Cas 2 : fait une requête SQL,

    Le cas 1 : il me semble qu'il manque les balises <script></script> pour exécuter le JS. Sinon effectivement la page ne sera jamais rechargée. Mais aussi le code HTML5 minimal :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <!DOCTYPE html>
    <html lang="fr">
      <head>
        <meta charset="utf-8">
      </head>
      <body>
        <script>/* LE CODE JS ICI */</script>
      </body>
    </html>
    Le cas 2 : la page affichée sera blanche, à moins de rediriger l'utilisateur ensuite (mais je suppose qu'on n'a pas la totalité du code).



    Petite note, il est plus "standard" d'écrire document.location.reload(true) (documentation mozilla) (document car on recharge l'objet document, et true pour forcer à recharger (on ignore le cache du navigateur)) ; et bien sûr d'utiliser les requêtes paramétrées plutôt que la concaténation du SQL (sécurité aux injections SQL).

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

Discussions similaires

  1. [Python 3.X] Script qui ne s'exécute pas alors que la fenêtre Toplevel() est fermée
    Par darkslights dans le forum Général Python
    Réponses: 1
    Dernier message: 11/05/2018, 16h19
  2. Réponses: 5
    Dernier message: 30/12/2015, 23h45
  3. [10gR2] Script qui ne s'exécute pas correctement
    Par hazzab dans le forum SQL
    Réponses: 2
    Dernier message: 19/11/2015, 11h10
  4. [SAMBA] Scripts .bat de Netlogon qui ne s'exécutent pas
    Par Jiraiya42 dans le forum Réseau
    Réponses: 1
    Dernier message: 30/07/2009, 19h01
  5. Réponses: 6
    Dernier message: 31/07/2007, 16h48

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