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 :

[PHP-JS] Instant-Gagnant multiple avec rentabiliweb


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut [PHP-JS] Instant-Gagnant multiple avec rentabiliweb
    Bonjour,

    Je suis actuellement entrain de faire un script en PHP pour mettre à disposition de multiple jeux instant-gagnant ajouté dans une base de donnée.

    J'ai un champs id, appels (pour le nombre d'appels efféctué), nombre (pour le nombre d'appels qu'il faut), nom (nom de l'objet), description

    Voici le code :

    [Le code est la page avec le code de protection rentabiliweb]

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
      <?
     
    session_start();
     
    $db['login'] = "root"; // Ton login
    $db['password'] = ""; // Ton password
    $db['name'] = "name"; // le nom de la base de donnée
    $db['serveur'] = "localhost"; // le serveur
     
    $db['connexion'] = mysql_connect($db['serveur'],$db['login'],$db['password']);
    mysql_select_db($db['name'],$db['connexion']);
     
    // id du document protégé
    $idprotect="45603";
     
    // PHP5 avec register_long_arrays désactivé?
    if (!isset($HTTP_GET_VARS))
    {
        $HTTP_SESSION_VARS    = $_SESSION;
        $HTTP_SERVER_VARS     = $_SERVER;
        $HTTP_GET_VARS        = $_GET;
    }
     
    //construction de la requête
    if ($idprotect==$HTTP_GET_VARS[id])
    {
        $requete      = "http://secure.rentabiliweb.com/Micropaiement.php?act=ss&";
        $requete     .= $HTTP_SERVER_VARS['QUERY_STRING'];
        $requete     .= "&REMOTE_ADDR=".$HTTP_SERVER_VARS['REMOTE_ADDR'];
        $tabrep       = @file($requete);
    }
    else
    {
        unset($tabrep);
    }
     
    if($tabrep[0] == "OUI")
    {
        $HTTP_SESSION_VARS["RentaSess"] = true;
        $IDfile = $_GET['IDfile'];
     
        $requetes = "SELECT id,appels,nombre FROM instantGagnant WHERE id='".$IDfile."'";
        $requetesql = mysql_query($requetes) or die(mysql_error());
        $r = mysql_fetch_assoc(requetesql);
     
        if ( isset($IDfile))
        {
        $new = $r['appels'] + 1;
        mysql_query("UPDATE instantGagnant SET appels='".$new."'");
     
        $req = "SELECT id,appels,nombre FROM instantGagnant WHERE id='".$IDfile."'";
        $mysql = mysql_query($req) or die(mysql_error());
        $z = mysql_fetch_assoc($mysql);
     
        if ( $z['appels'] == $z['nombre'] )
        {
        $_SESSION['verif'] = "gagne";
        $_SESSION['objet'] = $IDfile
        mysql_query("UPDATE instantGagnant SET appels='0' WHERE id='".$IDfile."'");
        echo "<script language='javascript'>document.location='gagner.php'</script>";
        }
        else
        {
        $_SESSION['perdu'] = "perdu";
        echo "<script language='javascript'>document.location='perdu.php'</script>";
        }
        }
        else
        {
        echo "<script language='javascript'>document.location='perdu.php'</script>";
        }
     
    }
    else
    {
        $HTTP_SESSION_VARS["RentaSess"]    = false;
        header("Location: erreur.php");
        exit(0);
    }
    ?>
    Mon problème : La redirection vers gagner.php est faite cependant aucune modification est faite dans la base de donnée et le nombre d'appels est inférieur au nombre ...

  2. #2
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    pas de bol !

    pour rappel il y à quelques règles simple sur le forum....

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    Excusez moi mais je ne vois pas ce que je n'est pas réspécté mise à part le TAG pour le code PHP cependant je ne le connaissais pas et je ne savais pas ou le trouver

    Encore pardon
    Merci d'avance à ceux qui m'aiderons

  4. #4
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Pourquoi utilises-tu différentes manières pour initier une redirection ? Utilise toujours header(), c'est bien plus efficace. Pense également à envoyer un header() pour expliquer pourquoi tu demandes une redirection : http://php.developpez.com/faq/?page=...ts_redirection

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    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
    	if ( isset($IDfile))
    	{
    	$new = $r['appels'] + 1;
    	mysql_query("UPDATE instantGagnant SET appels='".$new."'");
     
    	$req = "SELECT id,appels,nombre FROM instantGagnant WHERE id='".$IDfile."'";
    	$mysql = mysql_query($req) or die(mysql_error());
    	$z = mysql_fetch_assoc($mysql);
     
    	if ( $z['appels'] == $z['nombre'] )
    	{
    	$_SESSION['verif'] = "gagne";
    	$_SESSION['objet'] = $IDfile
    	mysql_query("UPDATE instantGagnant SET appels='0' WHERE id='".$IDfile."'");
    	header("Location: gagner.php");
    	}
    	else
    	{
    	$_SESSION['perdu'] = "perdu";
        header("Location: perdu.php");
    	}
     
    	}
    	else
    	{
         header("Location: perdu.php");
    	}
    Voila mais cela n'affecte pas réelement mon problème

  6. #6
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Ahh c'est mieu ainsi : )

    Sinon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $idprotect==$HTTP_GET_VARS[id]
    Ceci devrait emettre un warning. car id est une constante non défini. Il faut que tu entoure le nom de la clé avec des quotes pour l'utiliser comme une chaine.
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $idprotect==$HTTP_GET_VARS["id"]
    Est totalement inutile.

    bbye

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Le tutoriel suivant t'orientera vers la lumière : Comment débuter avec MySQL et PHP

  8. #8
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    Cependant ceci est le code de rentabiliweb et cela marche parfaitement pour un autre site ou j'utilise le même style de code mais pour seulement un jeux (instant-domaine.com) je ne donne pas d'url pour pas faire de pub, cependant le script ici est comme vous l'avez compris (normalement ^^) pour plusieur jeux que j'ajoute dans la base de donnée, mais cela ne coute rien d'essayer.

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    J'ai fais la modification alors maintenant:

    Aucune redirection (page blanche)
    Pas de modification dans la base de donnée.

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Ajoute ceci après session_start() : error_reporting(E_ALL);

  11. #11
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    Est pas mal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     
    Notice: Use of undefined constant requetesql - assumed 'requetesql' in /homepages/19/d140149178/htdocs/doubleur/users/instant-gagnant/verif.php on line 41
     
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /homepages/19/d140149178/htdocs/doubleur/users/instant-gagnant/verif.php on line 41
     
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/19/d140149178/htdocs/doubleur/users/instant-gagnant/verif.php:1) in /homepages/19/d140149178/htdocs/doubleur/users/instant-gagnant/verif.php on line 62

  12. #12
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Tu abuses sérieusement... Je viens de te donner le moyen de connaître les erreurs de ton code, il ne te reste plus qu'à lire :/

  13. #13
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par alexandre01
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        $r = mysql_fetch_assoc(requetesql);
    Bonsoir,

    Il manque le "$" devant le nom de la variable.

    Ce qui pourrait être bien aussi : vérifier les valeurs de retour des fonctions (mysql_query() et autres).

    Cordialement,
    DS.

  14. #14
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    Je n'est rien dit, j'ai juste affiché les erreurs comme sa j'ai bien sur corrigé les erreurs, faut pas s'énerver cependant les headers ne fonctionnant pas j'ai fait comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function redirection($url)
    {
    echo "<script language='javascript'>document.location='".$url."'</script>";
    }
    $gagner = "gagner.php";
    $perdu = "perdu.php";
    $erreur = "erreur.php";
    Puis j'ai appelé : redirection($gagner) etc ...

    la redirection ce fais bien vers gagner ou perdu mais sans l'extension .php à la fin donc j'obtient une erreur 404

    Merci à tous le monde

  15. #15
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Si tu regardes ton débogueur JavaScript, tu risques de voir des erreurs en rapport avec ce code (que je t'ai déconseillé d'utiliser, par ailleurs).
    1- Le tag <script> n'a pas d'attribut "language" mais "type" qui, dans ton cas, prend la valeur "text/javascript" --> <script type="text/javascript">...</code>
    2- La fonction header() en PHP est + efficace pour le même résultat. Pense à envoyer également un header HTTP... http://mathieu-lemoine.developpez.co...iels/web/http/
    Concernant tes éventuelles erreurs MySQL : Comment débuter avec MySQL et PHP

  16. #16
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    plus aucune erreur MySQL à signaler, mais il y a une erreur avec les headers();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: Cannot modify header information - headers already sent by (output started at /homepages/19/d140149178/htdocs/doubleur/users/instant-gagnant/verif.php:1) in /homepages/19/d140149178/htdocs/doubleur/users/instant-gagnant/verif.php on line 75
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ligne 75 : header('Location: perdu.php');

  17. #17
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    1. La FAQ PHP
    2. Le bouton pour chercher dedans
    3. "header"
    4. Hop, tu as le message tout expliqué ! Miracle !

    http://php.developpez.com/faq/?page=...s_already_sent

    Je ne souhaite pas t'offenser mais essaie d'utiliser en priorité les ressources déjà à ta disposition, nous gagnerons tous du temps.


  18. #18
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Août 2006
    Messages : 61
    Par défaut
    Héhé, désolé de vous décevoir j'ai déjà regardé ceci ^^

    Cependant j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Warning: Cannot modify header information - headers already sent by <br/>
    (output started at fichierEnvoi.php:1) in script.php on line 75
    or vous vous doutez bien que à la ligne 1 j'ai seulement :

    Alors je vois pas ou est le problème

  19. #19
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Héhé, ne joue pas à ça avec moi ou tu vas te casser les dents...
    Si PHP te dit qu'il y a déjà une sortie, c'est qu'il y en a une. Ce n'est peut-être pas un espace ou un saut de ligne mais n'importe quel echo ou print ou assimilé fait la même chose.

  20. #20
    Invité
    Invité(e)
    Par défaut
    j'ai une question

    $HTTP_GET_VARS
    ne marche plus sous php 5 ? car sous easyphp tout marcher bien mais sur mon serveur(php5), il ne marche pas !! c'est normale ? j'ai remplacer $HTTP_GET_VARS par $_get tout marche maintenant!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Récupération d'un select Multiple avec PHP
    Par Loic Dupel dans le forum Langage
    Réponses: 8
    Dernier message: 13/09/2013, 10h21
  2. Champ de recherche multiple avec php mysql
    Par glodybiss4 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/12/2011, 17h48
  3. [Tableaux] Jeu "instant gagnant" en PHP
    Par pas30 dans le forum Langage
    Réponses: 12
    Dernier message: 02/01/2007, 10h16
  4. Créer un état à source de données multiples avec Delphi5
    Par khenri2 dans le forum Bases de données
    Réponses: 7
    Dernier message: 23/10/2004, 22h15
  5. Réponses: 6
    Dernier message: 13/04/2004, 12h31

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