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 !
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.
impossible un autre code que php fais disfonctionné la page, j y peux rien c est les config des votes XD
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'] == 1 ) { $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'] == 1 ) { $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'] == 1 ) { $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; }?>
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
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
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é ?
Oui, faut rajouter une case 'ton_action': include('tonfichier'); break; Dans le controleur/action.php