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 :

BD utilisant un serveur distant [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut BD utilisant un serveur distant
    Bonsoir!

    J'ai créé un petit site et je l'ai hébergé chez "hostinger.fr", et dans mon code, je dois modifier ma base de données, mais quand j'applique pour ajouter un nouvel utilisateur par exemple dans la base, il me dit que l'opération est réussite, mais quand je vérifie ma base de données, elle est toujours telle qu'elle est. Toutes les requêtes ne marchent pas, alors que sur mon serveur local marche. En revanche, si j'utilise une BD que j'ai créé à mon serveur local, et je l'intègre dans le serveur distant, elle marche aussi sans problème, et je peux travailler avec elle.

    Voilà mon code pour ajouter un utilisateur à la base par exemple :
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta  http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Enregistrement du d\'un nouvel utilisateur</title>
    </head>
    <body>
    <?php
    $error='';
     
    if (isset($_POST['nom_user']) AND isset($_POST['mot_d_pass']) AND isset($_POST['confirm_mpss']) AND isset($_POST['mail']))
    {
     
        $a=$_POST['nom_user'];
        $mot=$_POST['mot_d_pass'];
        $nmot=$_POST['confirm_mpss'];
        $mai=$_POST['mail'];
        $nb = strlen($a);
        if($nb < 8)
        {
            $error='Le nombre de caractère de l\'identifiant doit être plus que 8';
        }else
        {
     
            $i = 0;
            while(($i < $nb) && ($a[$i] != ' '))
                $i++;
            if($i < $nb)
            {
                $error='L\'identifiant ne doit pas contenir des espaces';  
            }else
            {
                if($mot != $nmot)
                {
                    $error='Vous n\'avez pas confirmer votre mot de passe correctement';
                }else
                {
                    try
                    {
                        $bdd = new PDO('mysql:host=monhost;dbname=mabase', 'xxx', 'yyy');
                        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
                        $bdd->query('SET NAMES utf8');
                        echo " test3";
                    }catch(Exception $e)
                    {
                        echo 'Erreur : '.$e->getMessage();
                        echo 'N :'.$e->getCode();
                    }
     
                    $req = $bdd->prepare('INSERT INTO users(id, identifiant, passe, mail) VALUES(NULL, :identifiant, :passe, :mail)');
                    $req->execute(array(
                        'identifiant' => $a,
                        'passe' => $mot,
                        'mail' => $mai
                    ));
                    $req->closeCursor();
                    echo '<p align="center"> Les données ont été bien enregistrés ! <br/> <a href="index.php"> Retour à la page d\'acceuil </a> </p> ';
                }
            }
        }
    }
    else // Sinon, on affiche un message d'erreur
    {
    echo '<p align="center">Veuillez insérer tous les champs<br/>';
    echo '<p align="center"> Retour à la page d\'<a href="index.php">acceuil</a></p>';
    }
    ?>
    </body>
    </html>
    Voilà, j'espère de trouver chez vous une réponse.

    Merci d'avance

    Cordialement

  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
    Par défaut
    C'est normal qu'il t'affiche que c'est réussi à tout les coups puisque tu l'affiches sans avoir vérifié si c'etait bon ou non.

    Pour la syntaxe, il vaut mieux faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $req = $bdd->prepare('INSERT INTO users (identifiant, passe, mail) VALUES(:identifiant, :passe, :mail)');
                    $req->execute(array(
                        ':identifiant' => $a,
                        ':passe' => $mot,
                        ':mail' => $mai
                    ));
    Pour debuguer tu devrais utiliser le mode d'erreur EXCEPTION et non WARNING car si ton serveur n'affiche pas les Warning ... et bien tu ne verras rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut BD utilisant un serveur distant
    Quand je change "WARNING" à "ECXEPTION", il n'affiche plus rien, sauf "test3" mis à la ligne 44. Alors j'ai ajouté quelques affichages aux lignes suivantes: 50, 57 et 59. et que celui de la ligne 50 est affiché !

    Donc, je n'ai pas une erreur affiché, et ma base de données n'est éditée, en plus ce code marche sans problème en localhost

    Est-ce que le fichier ".htaccess" peut être la source du problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # Do not remove this line or mod_rewrite rules and search engine friendly URLs will stop working
    RewriteEngine On
    RewriteBase /http://sql12.hostinger.fr/phpmyadmin/index.php?db=mabase&table=users&token=f724899f830202353786dad092de90b8

  4. #4
    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
    Par défaut
    Ca veut dire bien dire que ta requête ne fonctionne pas.
    Comme tu es en mode exception, le script s'arrête.
    Par contre il faudrait soit afficher les erreurs PHP soit consulter les logs pour savoir quelle est l'erreur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut BD utilisant un serveur distant
    Je ne sait pas vraiment comment faire, puisque je débute avec PHP, seulement j'ai ajouté ce code après la requête "prepare" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (!$req) {
       echo "\nPDO::errorInfo():\n";
       print_r($bdd->errorInfo());
    }
    Sinon, je ne sais pas comment connaitre les erreurs

  6. #6
    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
    Par défaut
    Essai en ajoutant au debut du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut BD utilisant un serveur distant
    J'ai mis ce code au début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
     error_reporting(E_ALL);
     ini_set("display_errors", 1);
     ?>
    et j'ai eu l'erreur avec le NULL dans la ligne 51 du code (celui de la requête), comme quoi mon champ 'id' ne supporte pas le NULL. Le champ 'id' est un entier auto-incrémenté.

    J'espère que vous avez une idée là !!

  8. #8
    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
    Par défaut
    Je t'ai déjà corrigé ça hier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut BD utilisant un serveur distant
    Oui, c'est vrai, et je n'est pas fais attention!!!

    Merci pour votre aide "sabotage", je suis très sincère.

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

Discussions similaires

  1. [PowerShell] utilisation CPU serveur distant
    Par nutopia dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 19/08/2015, 04h37
  2. [Jenkins] Utiliser le plugin Phing sur un serveur distant
    Par pagoda dans le forum Intégration Continue
    Réponses: 0
    Dernier message: 09/07/2013, 17h25
  3. Réponses: 3
    Dernier message: 08/11/2010, 18h20
  4. Utilisation du Serveur SMTP distant pour les messages locaux
    Par EDegroote dans le forum Exchange Server
    Réponses: 1
    Dernier message: 13/02/2009, 21h16
  5. Connectivité avec des serveurs distants
    Par Ph. B. dans le forum XMLRAD
    Réponses: 8
    Dernier message: 07/02/2003, 13h16

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