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 :

Données d'un formulaire non présent en BDD


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut Données d'un formulaire non présent en BDD
    Bonjour à tous,
    j'ai installé un serveur de paiement en ligne sur un serveur xampp (windows) et j'ai un souci avec mon formulaire destiné à récupérer les données des visiteurs.

    En effet, dans ce formulaire une valeur aléatoire est généré automatiquement et envoyé à la banque commme id de transaction.

    J'ai noté que certains paiements en ligne ne figuraient pas dans ma base.

    Donc les pages s'affichent correctement (puisque que l'id est généré en php pour la banque) mais rien dans la base.

    C'est vraiment ennuyeux car c'est pour une association et donc les dons donnent droit à des reçus fiscaux.

    Avez-vous une solutions?

    Merci

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Généralement avec du code c'est plus facile à trouver l'éventuelle erreur

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 9
    Par défaut
    en effet :
    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
     $civilite = $_POST['hcivilite'];
    $nom = $_POST['hnom'];
    $prenom = $_POST['hprenom'];
    $entreprise = $_POST['hentreprise'];
    $adresse = $_POST['hadresse'];
    $adresse2 = $_POST['hadresse2'];
    $cp = $_POST['hcp'];
    $ville = $_POST['hville'];
    $tel = $_POST['htel'];
    $email = $_POST['hemail'];
    $projet = $_POST['hprojet'];
    $euro = $_POST['heuro'];
    $centimes = $_POST['hcentimes'];
    $projet = $_POST['hprojet'];
     
    $montant = $euro.$centimes;
    $ip = $_SERVER["REMOTE_ADDR"];
    $date = date("d-m-Y");
    $heure = date("H:i");
    $id_paie = mt_rand();
    $id_paiement = substr($id_paie, -6); 
     
    $serveur = mysql_connect("127.0.0.1","xx","xx");
    $seletbd = mysql_select_db("base", $serveur);
     
    $requete = "INSERT INTO `paiements` (`id`, `civilite`, `nom`, `prenom`, `entreprise`, `adresse`, `adresse2`, `cp`, `ville`, `tel`, `email`, `montant`, `projet`, `date`, `heure`, `code`, `error`, `merchant_id`, `merchant_country`, `amount`, `transaction_id`, `payment_means`, `transmission_date`, `payment_time`, `payment_date`, `response_code`, `payment_certificate`, `authorisation_id`, `currency_code`, `card_number`, `cvv_flag`, `cvv_response_code`, `bank_response_code`, `complementary_code`, `complementary_info`, `return_context`, `caddie`, `receipt_complement`, `merchant_language`, `language`, `customer_id`, `order_id`, `customer_email`, `customer_ip_address`, `capture_day`, `capture_mode`, `data`) VALUES (NULL, '$civilite', '$nom', '$prenom', '$entreprise', '$adresse', '$adresse2', '$cp', '$ville', '$tel', '$email', '$montant', '$projet', '$date', '$heure', NULL, NULL, NULL, NULL, '$montant', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '$id_paiement', NULL, '$ip', NULL, NULL, NULL);";
     
    $result = mysql_query($requete);
     
    mysql_close();
    Le souci est le suivant :
    l'insertion fonctionne correctement et puis par moment (je dirais une à deux fois un jour dans la semaine) l'insertion ne se fait pas.

    Il n'y a pas de dénominateur commun entre les erreurs (ni au niveau du montant ou de l'émetteur ou de l'ip).

    Ma requête semble tout à fait correcte.

    Y a-t-il un moyen d'afficher un message d'erreur quand l'erreur survient?

    Merci beaucoup

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Pour afficher l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $result = mysql_query($requete) or die('Erreur : '.mysql_error());
    Ca doit venir des quotes qui pourraient etre dans certains textes à insérer. Il faudrait protéger les valeurs non numériques avec soit :
    1. addslashes
    2. mysql_real_escape_string

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/03/2011, 17h04
  2. [WD9] Données de sous-formulaire non modifiables
    Par KOUADIO SEVERIN dans le forum WinDev
    Réponses: 3
    Dernier message: 18/09/2009, 21h44
  3. Réponses: 1
    Dernier message: 25/09/2008, 19h09
  4. données du formulaire non-modifiables
    Par vautour29 dans le forum Access
    Réponses: 14
    Dernier message: 28/07/2006, 21h42
  5. [Conception] Pb d insertion dans une BDD des données d un formulaire
    Par xtiand4 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 02/06/2006, 18h18

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