1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Un bouton php éxécutant une fonction

Discussion dans 'Vos Questions' créé par guedesite, 11 Janvier 2018.

MineStrator, Votre hébergeur de serveur minecraft
  1. guedesite

    guedesite 1er classe

    68
    15
    8
    Bonjours, cela fais déjà 4 jours que je cherche de faire une vérif' de vote pour un site ( je le partagerais une fois finis) mais je n'arrive pas à le faire;
    apres de nombreux test j'en reviens à une dernière solution qui peux que marcher, mais je n'arrive pas à la faire ... chaque élément en lui même oui mais dés que je les assemble
    ça fais bouuum et rien ne marche XD enfin bref donc je vous demande (si possible )
    un code ( en php UNIQUEMENT ) d'un bouton éxécutant une fonction ( ex: XYZ; )
    qui ne redirige pas vers une page et cette fonction return true ( si par ex :ABC = 0 ) et false ( si par ex :ABC = 1 ) si cela renvoie true, cela redirige vers une page ( ex: Merci de vous Connecter/S'inscrire pour voir les liens.) et si c'est false qui est renvoyé, cela affiche une message d'erreur ( ex: ERREUR: blabla blabla ) voili voilou !
    Merci d'avance !
     
  2. LucernoPower

    LucernoPower Caporal

    132
    12
    18
    Bonjour,

    Je te conseil de faire cela avec du javascript, Je ne vais pas te prémâcher le code mais je te donne une indication.
     
  3. guedesite

    guedesite 1er classe

    68
    15
    8
    impossible un autre code que php fais disfonctionné la page, j y peux rien c est les config des votes XD
     
  4. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Montre ton code
     
  5. guedesite

    guedesite 1er classe

    68
    15
    8
    j'aimerais implanter un bouton dans ce fichier, voir plusieurs. c'est une modif faites au fichier controleur/voter.php qui corrige le beug des ouvertures qui fais que le lien est ouvert même quand la personne n'est pas connecté

    PHP:
    <?php

    $id 
    $_POST['site'];
    $id $id 1;
    require_once(
    'modele/joueur/maj.class.php');
    include(
    'controleur/topVoteurs.php');
    $joueurMaj = new Maj($_Joueur_['pseudo'], $bddConnection);
    $playerData $joueurMaj->getReponseConnection();
    $playerData $playerData->fetch();

    if(!
    ExistPost($id$liensVotes))
        
    header('Location: ?&page=voter&erreur=3');
      
      
    if(isset(
    $_Joueur_['pseudo']) && $_POST['site'] > 0)
    {


    for(
    $i 0$i count($lecture['Json']); $i++)
    {
        
    $jsonCon[$i]->SetConnectionBase($bddConnection);
    }

    if(!
    ExisteJoueur($_Joueur_['pseudo'], $id$bddConnection))
        
    CreerJoueur($_Joueur_['pseudo'], $id$bddConnection);

    $donnees RecupJoueur($_Joueur_['pseudo'], $id$bddConnection);

    echo 
    $voteurl;

    $succes false;
            if(!
    Vote($_Joueur_['pseudo'], $id$bddConnection$donnees$liensVotes[$id]['temps']))
            {
                
    header('Location: ?&page=voter&erreur=1&time=' .GetTempsRestant($donnees['date_dernier'], $liensVotes[$id]['temps'], $donnees));
            }
            else
            {
                
    $lectureVotes = new Lire('modele/config/configVotes.yml');
                
    $lectureVotes $lectureVotes->GetTableau();
                
    $message str_replace('{JOUEUR}'$_Joueur_['pseudo'], str_replace('{QUANTITE}'$lectureVotes['quantite'], str_replace('{ID}'$lectureVotes['id'], $lectureVotes['message'])));
                
    $cmd str_replace('{JOUEUR}'$_Joueur_['pseudo'], $lectureVotes['cmd']);
              
                if(
    $lectureVotes['action'] == 2)
                {
                    if(
    $lectureVotes['methode'] == 2)
                    {
                        if(
    $lectureVotes['display'] == 1)
                        {
                            
    $jsonCon[$liensVotes[$id]['serveur']]->SendBroadcast($message);
                        }
                        
    $jsonCon[$liensVotes[$id]['serveur']]->GivePlayerItem($lectureVotes['id'] . ' ' .$lectureVotes['quantite']);
                        
    header('Location: ?&page=voter&success=true');
                    }
                    else
                    {
                        for(
    $j =0$j count($jsonCon); $j++)
                        {
                            if(
    $lectureVotes['display'] == 1)
                            {
                                
    $jsonCon[$j]->SendBroadcast($message);
                            }
                            
    $jsonCon[$j]->GivePlayerItem($lectureVotes['id'] . ' ' .$lectureVotes['quantite']);
                        }
                    
    header('Location: ?&page=voter&success=true');
                    }
                }
                elseif(
    $lectureVotes['action'] == 3)
                {
                    if(
    $lectureVotes['methode'] == 2)
                    {
                        if(
    $lectureVotes['display'] == 1)
                        {
                            
    $jsonCon[$liensVotes[$id]['serveur']]->SendBroadcast($message);
                        }
                        
    ajouterTokens($lectureVotes['tokens']);
                        
    header('Location: ?&page=voter&success=true');
                    }
                    else
                    {
                        for(
    $j =0$j count($jsonCon); $j++)
                        {
                            if(
    $lectureVotes['display'] == 1)
                            {
                                
    $jsonCon[$j]->SendBroadcast($message);
                            }
                            
    ajouterTokens($lectureVotes['tokens']);
                        }
                    
    header('Location: ?&page=voter&success=true');
                    }
                }
                else
                {
                    if(
    $lectureVotes['action'] == 1)
                    {
                        if(
    $lectureVotes['methode'] == 2)
                        {
                            if(
    $lectureVotes['display'] == 1)
                            {
                                
    $jsonCon[$liensVotes[$id]['serveur']]->SendBroadcast($message);
                            }
                            
    $jsonCon[$liensVotes[$id]['serveur']]->runConsoleCommand($cmd);
                        
    header('Location: ?&page=voter&success=true');
                        }
                        else
                        {
                            if(
    $liensVotes[$id]['lien'] == 'http://www.rpg-paradize.com/site-NeoCraft-109255')
                            {
                                    for(
    $j 0$j count($jsonCon); $j++)
                                    {
                                        if(
    $lectureVotes['display'] == )
                                        {
                                            
    $jsonCon[$j]->SendBroadcast($message);
                                        }
                                        
    $jsonCon[$j]->runConsoleCommand($cmd);
                                    }
                                    
    header('Location: ?&page=voter&success1=true');
                            }
                            elseif(
    $liensVotes[$id]['lien'] == 'http://www.serveurs-minecraft.org/vote.php?id=53660')
                            {
                                for(
    $j 0$j count($jsonCon); $j++)
                                {
                                    if(
    $lectureVotes['display'] == )
                                    {
                                        
    $jsonCon[$j]->SendBroadcast($message);
                                    }
                                    
    $jsonCon[$j]->runConsoleCommand($cmd);
                                }
                                
    header('Location: ?&page=voter&success2=true');
                            }
                            elseif(
    $liensVotes[$id]['lien'] == 'https://www.liste-serveurs-minecraft.org/serveur-minecraft/%c2%a4-neocraft-%c2%a4-modde-sous-launcher/')
                            {
                                for(
    $j 0$j count($jsonCon); $j++)
                                {
                                    if(
    $lectureVotes['display'] == )
                                    {
                                        
    $jsonCon[$j]->SendBroadcast($message);
                                    }
                                    
    $jsonCon[$j]->runConsoleCommand($cmd);
                                }
                                
    header('Location: ?&page=voter&success3=true');
                            }
                        }
                    }
                }
            }
        }
        else
        {
            
    header('Location: ?&page=voter&erreur=2');
        }

        function 
    ajouterTokens($number){
            global 
    $playerData$joueurMaj$_Joueur_;
            
    $playerData['tokens'] = $playerData['tokens'] + $number;
            
    $joueurMaj->setReponseConnection($playerData);
            
    $joueurMaj->setNouvellesDonneesTokens($playerData);
            
    $_Joueur_['tokens'] = $_Joueur_['tokens'] + $number;
            
    $_SESSION['Player']['tokens'] = $_Joueur_['tokens'];
        }
      
        function 
    ExistPost($id$votesLiens)
        {
            if(isset(
    $votesLiens[$id]))
                return 
    true;
            else return 
    false;
        }

        function 
    RecupJoueur($pseudo$id$bddConnection)
        {
            
    $line $bddConnection->prepare('SELECT * FROM cmw_votes WHERE pseudo = :pseudo AND site = :site');
            
    $line->execute(array(
                
    'pseudo' => $pseudo,
                
    'site' => $id    ));
            
    $donnees $line->fetch();  
            return 
    $donnees;
        }
      
        function 
    Vote($pseudo$id$bddConnection$donnees$temps)
        {
            if(
    $donnees['date_dernier'] + $temps time())
            {
                
    $req $bddConnection->prepare('UPDATE cmw_votes SET nbre_votes = nbre_votes + 1, date_dernier = :tmp WHERE pseudo = :pseudo AND site = :site');
                
    $req->execute(array(
                    
    'tmp' => time(),
                    
    'pseudo' => $pseudo,
                    
    'site' => $id    ));
                return 
    true;
            }
            else
                return 
    false;
        }
      
        function 
    ExisteJoueur($pseudo$id$bddConnection)
        {
            
    $line $bddConnection->prepare('SELECT * FROM cmw_votes WHERE pseudo = :pseudo AND site = :site');
            
    $line->execute(array(
                
    'pseudo' => $pseudo,
                
    'site' => $id    ));
              
            
    $donnees $line->fetch();
          
            if(empty(
    $donnees['pseudo']))
                return 
    false;
            else
                return 
    true;
        }
      
        function 
    CreerJoueur($pseudo$id$bddConnection)
        {
            
    $req $bddConnection->prepare('INSERT INTO cmw_votes(pseudo, site) VALUES(:pseudo, :site)');
            
    $req->execute(array(
                
    'pseudo' => $pseudo,
                
    'site' => $id
                
    ));
        }
      
        function 
    GetTempsRestant($temps$tempsTotal$donnees)
        {
            
    $tempsEcoule time() - $temps;
            
    $tempsRestant $tempsTotal $tempsEcoule;
            
    $tempsH 0;
            
    $tempsM 0;
            while(
    $tempsRestant >= 3600)
            {
                
    $tempsH $tempsH 1;
                
    $tempsRestant $tempsRestant 3600;
            }
            while(
    $tempsRestant >= 60)
            {
                
    $tempsM $tempsM 1;
                
    $tempsRestant $tempsRestant 60;
            }
            return 
    $tempsH':' .$tempsM;
        }
    ?>
     
  6. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    c'est dans theme/ton_theme/pages/voter.php pour le bouton
     
  7. guedesite

    guedesite 1er classe

    68
    15
    8
    heu le problème c'est que la commande éxecuter et l'ajout du joueur dans le top vote ce fais dans ce fichier donc mettre le bouton dans un autre fichier heu ouais mdr autant supp ce fichier XD et tous faire dans la page vote mdr, et le bouton que je veux mettre c'est pas celui qui ouvre le lien, c'est un autre qui lui vérifie les si le joueur a voter quand l'on clic dessus
     
  8. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Alors ça s'appelle une architecture conventionnelle, une page a part pour la partie vue avec le HTML/CSS et une autre page avec la partie PHP. Donc ton bouton vas sur la page theme/ton_theme/pages/voter.php et ta fonction a exec vas sur la page voter.php du controleur
     
  9. guedesite

    guedesite 1er classe

    68
    15
    8
    donc si je comprend bien les 2 pages sont relié ?
     
  10. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    ya
     
  11. guedesite

    guedesite 1er classe

    68
    15
    8
    mdr merci et es-ce possible de faire une autre page de ce type genre quand on click sur le bouton pour voter sur le site, cela redirige vers la page $action?voterverif.php ( je sais plus trop c est quoi le lien des actions XD ) et que elle même redirige vers la page $action?voter.php et que les 3 pages sois lié ?
     
  12. Florentlife

    Florentlife Administrateur Forum CMW Staff Administrateur Forum Développeur officiel de CraftMyWebsite

    2 594
    376
    83
    Oui, faut rajouter une case 'ton_action':
    include('tonfichier');
    break;

    Dans le controleur/action.php
     
  13. guedesite

    guedesite 1er classe

    68
    15
    8
    Niquel merci ! mais cela fonctionne toujours de la même façon en 1.6 ?
     

Partager cette page

Chargement...