Sql

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
j'aimerais savoir comment "écrire" dans la base de registre...
je m'explique je veut mètre un ''module'' de payement par allopass sur mon site
a chaque fois que un membre valide un code allopass il gagne 1 000point

''je connais presque rien en sql donc voila merci :$ ''

--
L'orthographe c'est pas mon fort mais je fait un effort XD
De plus j'ajouterais simplement que... vous êtes en train de lire ma signature : )
Configuration: Windows XP
Firefox 3.0.6

37 réponses

  • 1
  • 2
Résumé de la discussion

Le problème porte sur l’incrémentation des crédits d’un membre après la validation d’un code Allopass et sur la modification des données dans une base de données via PHP et MySQL. Plusieurs propositions suggèrent d’utiliser une requête UPDATE sur la table des utilisateurs pour augmenter les crédits existants, en ciblant l’identifiant du membre et en ajoutant le nombre de crédits. D'autres réponses précisent les aspects techniques, comme la connexion à la base, l’initialisation des variables et l’importance de tester le code côté serveur plutôt que côté client. Enfin, l’échange souligne l’importance de tester le script sur un environnement sûr et de corriger les éventuelles erreurs d’exécution côté serveur, afin d’assurer une opération fiable.

Bobot (l'IA à votre service)
  1. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    Si je comprends bien :

    cat
    clear
    idm_idc
    idu_idc
    language
    pass
    site
    tmp_mail
    user

    sont les noms de tes tables.

    id
    name
    email
    pass
    share
    own
    credits
    ....

    Sont les noms des champs de la table 'user';

    Si tu veux augmenter le nombre de credits de tes membres, il ne faut pas insérer un nouvel enregistrement mais en modifier un existant :

    mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
    2
  2. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    Pour insérer une ligne dans une table SQL :

    mysql_query("INSERT INTO table (nom_champ) VALUES ('valeur');");

    Bien sur, avant ça tu dois créer la table et te connecter à ta BDD avec un mysql_connect() et un mysql_select_db().

    Bon courage !
    1
    1. Utilisateur anonyme
       
      merci : )

      alors sa donnerai :


      <php?
      mysql_connect()
      mysql_query("INSERT INTO table (nom_champ) VALUES ('+1000');");
      mysql_select_db()
      ?>

      désolé si je dit des connerie :$
      0
      1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228 > Utilisateur anonyme
         
        t ca implique que tu programmes en php ca
        0
  3. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    $host = "localhost";
    $user = "root";
    $pass="";
    $db = "nom_de_la_base";
    //a changer bien sur en fonction de ta base de données

    mysql_connect($host,$user,$pass);
    mysql_select_db($db);
    mysql_query("INSERT INTO ...
    mysql_close();
    1
  4. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    $host =intval "$hostnm";
    $user = "$usernm";
    $pass="$pwd";
    $db = "$dbName";

    -> a ce moment, tu remplace directement les noms de variable dans le reste du code ....

    mysql_connect($hostnm,$usernm,$pwd);
    1
    1. Utilisateur anonyme
       
      a oui en plus c'est logique : $ désolé



      <php?
      require('error_inc.php');
      require('config_inc.php');


      mysql_connect($hostnm,$usernm,$pwd);
      mysql_select_db($dbName);
      mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
      mysql_close();
      ?>




      comme sa ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    Oui ca semble être à peu près ça :

    Sauf :

    <php? -> <?php
    $user = "$usernm"; -> $user = $usernm; -> les guillemets ne servent à rien dans ce cas là
    $host =intval "$hostnm"; -> je comprends pas trop mais tu dois sans doutes avoir raison ;)

    et bien entendu, tu dois aussi initialiser les variables '$nombre_de_credits' et '$id_du_membre_qui_recoit_les_credits' avec les bonnes valeurs
    1
  7. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    la base de registre n'est pas gérée en SQL d'après ce que je sais
    0
  8. Utilisateur anonyme
     
    je me trompe surement quelque par ^_^

    pour parlé avec mais mot "plus simple" je voudrais que lorsque un membre va sur une page il gagne des point sur son compte
    0
  9. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    masi le programme est sur un site internet (genre php), sur l'ordi du gars (prog VB, C++ ou autre...) ????
    0
  10. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    la prochjaine fosi précise.....

    étant donné que le php s'execute coté client, il est impossible d'acceder a la base de registre.. donc en effet, il faut utiliser la base de données de ton site.
    0
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      étant donné que le php s'execute coté client, il est impossible d'acceder a la base de registre.. donc en effet, il faut utiliser la base de données de ton site.
      → étant donné que le php s'execute coté serveur, il est impossible d'acceder a la base de registre.. donc en effet, il faut utiliser la base de données de ton site.
      0
      1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228 > Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention  
         
        oupas!!!! honte sur moi, méa culpa !!!
        j'ai voulu dire ne s'execute pas coté client ....
        0
  11. Utilisateur anonyme
     
    merci c'est bien détaillé tout se qu'il fo mais ,,, sur ma base de donné il y a plusieurs branche ,,,,
    cat
    clear
    idm_idc
    idu_idc
    language
    pass
    site
    tmp_mail
    user


    alors quand je suis dans mysql et que je clic sur user il y a encor plusieurs "branche"

    id
    name
    email
    pass
    share
    own
    credits
    ....

    et les point vont se rajouté automatiquement dans
    user/credits ?

    ou c'est plus compliqué ?

    merci encore =$

    0
  12. Utilisateur anonyme
     
    alors voila ,,,, : $ j'éspére avoir tout bon : D mais fo pas révé ^_^

    <php?
    require('error_inc.php');
    require('config_inc.php');

    $host =intval "$hostnm";
    $user = "$usernm";
    $pass="$pwd";
    $db = "$dbName";

    mysql_connect($host,$user,$pass);
    mysql_select_db($db);
    mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
    mysql_close();
    ?>

    0
  13. Utilisateur anonyme
     
    $host =intval "$hostnm"; -> je comprends pas trop mais tu dois sans doutes avoir raison ;)

    c'est de l'ironie ? : $
    0
  14. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    non, pas tout à fait ...

    je pensais que tu avais copié/collé ça d'ailleurs dans ton code et qu'il y a avait une bonne raison (que je connais pas) de faire ça comme ça ...
    0
  15. Utilisateur anonyme
     
    petite modification ,,,,

    alors page principale :

    <?php
    require('config_real_inc.php');

    mysql_connect($hostnm,$usernm,$pwd);
    mysql_select_db($dbName);
    mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
    mysql_close();
    ?>

    page config_real_inc.php :

    <?
    $hostnm = "..........";
    $usernm = "............";
    $pwd = "..........";
    $dbName = "............";
    $nombre_de_credits = "1000";
    $id_du_membre_qui_recoit_les_credits = "...." //je voie pas quoi métre ici : (
    .....
    .....
    .....

    sa devrai fonctionné comme sa ? "
    0
  16. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    $id_du_membre_qui_recoit_les_credits = "...." //je voie pas quoi métre ici : (

    je ne voie pas quoi métre ici -> je ne vois pas quoi mettre ici ... ;)

    Ben cette valeur tu dois la récupérer dans les sessions par exemple ...

    Généralement, quand un membre se connecte sur un site, il existe ensuite une variable du genre $_SESSION['id_membre'] qui permet de savoir quel est le membre qui s'est identifié.

    Donc : $id_du_membre_qui_recoit_les_credits = $_SESSION['id_membre'];

    Et tu ne dois pas mettre $nombre_de_credits et $id_du_membre_qui_recoit_les_credits dans ton fichier 'config' mais dans le même fichier que la requête ... sinon ce sera toujours le même membre qui recevra toujours le même nombre de credits (pour les credits, c'est peut-être voulu, je ne sais pas) !

    J'espère avoir été à peu près clair ...
    0
  17. Utilisateur anonyme
     
    voila je pense que c'est bon : $

    page principalles :

    <?php
    require('config_real_inc.php');
    require('config_inc.php');

    mysql_connect($hostnm,$usernm,$pwd);
    mysql_select_db($dbName);
    mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$t_user"';");
    mysql_close();
    ?>

    page config_real_inc.php :

    <?
    // your mysql database details
    $hostnm = "......";
    $usernm = ".......";
    $pwd = "......";
    $dbName = ".....";
    $nombre_de_credits = "1000";
    ....
    ....
    ...

    page config_inc :

    <?

    require_once("config_real_inc.php");
    $num_en=10;

    $t_language= "language";
    $t_user= "user";
    $t_site= "site";
    $t_clear= "clear";
    $t_cat= "cat";
    $t_idu_idc= "idu_idc";
    $t_idm_idc= "idm_idc";
    $t_tmp_mail= "tmp_mail";
    ....
    ...
    ...
    ...

    j'éspére que c'est bon ! : $ réste plus qua tésté ^_^
    0
  18. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    Oui, ça semble bon ...

    Sauf le ="1000"; ... ce n'est pas une erreur mais les guillemets ne sont pas nécessaires autour d'un nombre.
    0
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      je pense que aurais du lui dire de tester, il va pas oser sinon…
      -:oD
      0
  19. IpIpIpIpOne Messages postés 480 Statut Membre 116
     
    En relisant ... non, finalement, c pas bon ... :D

    $t_user= "user";

    -> ca c'est nimporte quoi ...

    Tous tes utilisateurs n'ont pas 'user' pour id ... l'id ($t_user) doit être un nombre unique et propre à chaque utilisateur !!
    0
  20. Utilisateur anonyme
     
    alors peut étre sa :

    <?php

    unset($login,$pwrd,$id);
    session_start();
    session_register("login","pwrd","id");

    require('config_real_inc.php');
    require('config_inc.php');

    mysql_connect($hostnm,$usernm,$pwd);
    mysql_select_db($dbName);
    mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$usernm"';");
    mysql_close();
    ?>
    0
    1. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
       
      et quand tu testes ça donne quoi ?

      c'est de la programmation, pas de la théorie.
      tu vas pas écrire ton script en entier sur le forum en le faisant valider par des tiers avant de tester !

      tu essaies et tu vois !
      si il y a une erreur tu la donnes et comme ça tu vas avancer !
      0
  • 1
  • 2