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

PHP & Base de données Discussion :

Requête DELETE fonctionne en local mais pas sur le serveur


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut Requête DELETE fonctionne en local mais pas sur le serveur
    Bonjour,

    voici des extraits de code provenant d'un backoffice permettant de supprimer des offres d'emploi se trouvant sur un site.

    Premier fichier backoffice.php affichant la liste des offres et proposant de cliquer sur celle que l'on veut supprimer:

    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
     
    ...
     -Cliquez dans la liste suivante sur les offres d'emploi que vous voulez supprimer:<br>
            <span class="ok"><?=$messageOkSuppression?></span>
           <ul>
             <?php
               include('connexion_db.php');
     
               $texte_requete = "SELECT * FROM carrières";
               $requete = $dbh->prepare($texte_requete);
               $requete->execute();
     
               $resultats = $requete->fetchAll();
               foreach ($resultats as $key => $value) {
     
                   echo '<li><a class="liste" href="store.php?page_id2='.$value["id"].'" >'.$value["titre"].'</a></li>';
     
               }
              ?>
    ..
    Deuxième fichier store.php effectuant la suppression:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ..
    elseif(isset($_GET['page_id2'])){
     
     $texte_requete = "DELETE FROM carrières WHERE id=:id";
     $requete = $dbh->prepare($texte_requete);
     $requete->bindValue(':id', $_GET['page_id2']);
     
     $requete->execute();
     
     header('Location: backoffice.php?message=okSuppression');
     exit();
    ..
    }
    Figurez vous que ce code fonctionne parfaitement en local, c'est à dire que lorsqu'on clique sur une offre d'emploi et bien l'offre d'emploi disparait à l'affichage sur backoffice.php, seulement lorsqu'on clique sur une offre d'emploi sur ce même fichier en ligne sur le serveur et bien l'offre d'emploi disparait bien de la base de données (la ligne concernée est supprimée) mais l'offre d'emploi ne disparait pas à l'affichage sur backoffice.php.

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu comprends bien que ni PHP ni Mysql ne peuvent trouver des données qui ont été supprimées.
    Donc soit elles ne sont pas supprimées, soit tu as plutôt un problème de cache avec ton navigateur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    Merci Sabotage de ta prompte réponse, soyons clairs,

    les données sont effectivement supprimées.

    Donc c'est un pb de cache alors. Donc je vide la cache, je recharge la page et j'ai toujours le même problème, c'est à n'y rien comprendre.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte_requete = "SELECT * FROM carrières";
    Tu mets des accents dans les noms de tes tables ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    bonjour,

    oui bien sur je mets des accents
    je ne pense pas que ce soit la solution du pb puisque la ligne est effectivement supprimée..non..?

    Je t'ai écouté cependant j'ai enlevé les accents, rien n'y fait!

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur BackEnd - FrontEnd
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur BackEnd - FrontEnd
    Secteur : Services de proximité

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 136
    Points
    136
    Par défaut
    Effectivement c'est bien de vouloir respecter l'orthographe de notre très chère langue francaise mais par experience il est absolument déconseillé d'utiliser des accents dans le nom des tables.

    Deja qu'avec les caractères normaux on peut se viander alors si tu ajoutes les accents tu es pas sorti de l'auberge.

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

    tu es aussi "sûr" que le traitement ne s'effectue pas AVEC AJAX ? (= sans rechargement de la page, donc de la liste) ?

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    Rebonjour,

    j'ai supprimé les accents OK.
    Ce qui devrait mettre la puce à l'oreille de quelqu'un c'est que cela fonctionne en local mais pas sur le serveur.
    Il doit donc y avoir un truc qui se passe en plus sur le serveur concernant PHP qui intervient ici..

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

    Vérifie les config. locale et serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>
    Regarse où se situent les différences.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    aucune différence entre les configurations locales et serveur..Ca ressemble à un bug ce truc..

  11. #11
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Local et serveur accèdent bien à la même base de données ?
    Christophe

    Pensez à mettre quand c'est le cas.

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    tout à fait

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    en local c'est la 5.2.17 et sur le serveur la 5.4.41 etc..je n'y comprends rien à ce pb
    Dans store.php que je vous ai donné si je fais un
    juste après le elseif et avant le $texte_requete, et bien test s'affiche bien en local tandis que sur le serveur test ne s'affiche pas!

    Je crois avoir compris, en fait il ne prend en compte ni le echo ni le header location qui suit..et je ne sais pas pourquoi et quoi faire pour résoudre ça..

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Points : 0
    Points
    0
    Par défaut
    en local c'est la 5.2.17 et sur le serveur la 5.4.41 etc..je n'y comprends rien à ce pb

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/05/2012, 10h36
  2. [RegEx] Regex qui fonctionne en local mais pas sur le serveur
    Par lecroquant dans le forum Langage
    Réponses: 3
    Dernier message: 10/01/2012, 16h01
  3. [Smarty] Fonctionne en local mais pas sur le serveur
    Par student_ dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 28/11/2010, 10h37
  4. [MySQL] delete fonctionnant en local mais pas sur site distant
    Par dabac dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 04/11/2010, 22h13
  5. Réponses: 4
    Dernier message: 14/03/2006, 10h04

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