forked from rebillar/site-accueil-insa
fixed id check
This commit is contained in:
parent
aa88a7bfaa
commit
313979f7dc
5 changed files with 194 additions and 91 deletions
17
README.md
17
README.md
|
@ -7,6 +7,7 @@ nécessaires liées à la semaine d’accueil.
|
|||
Le site est fait à une fin humoristique. Il sert à guider les PPAs mais également à les
|
||||
amuser avant leur rentrée.
|
||||
|
||||
## 2022
|
||||
Des connaissances en HTML et CSS sont requises mais peuvent être plus ou moin apprises sur le tas, la page de la com_ville en revanche demande des connaissances en php(voir avec Baptiste Rébillard pour le fonctionnemet ou dans la section "pages" qui arrivera plus tard dans ce readme).
|
||||
|
||||
Le site est originelement celui de Arnaud Vergnet, mais en 2022 Baptiste Rébillard et Guillaume Joffre ont entrepris de le modifier de fond en comble (Baptiste le back et Guillaume le front).
|
||||
|
@ -15,6 +16,20 @@ Donc si vous avez des questions le site on le connait par coeur !
|
|||
Ce readme est également rédigé par Baptiste Rébillard il faudra donc le mettre à jour mais s'il n'est pas assez compréhensible il ne faut pas hésiter à me poser des questions.
|
||||
|
||||
PS : je suis éclaté en orthographe donc je m'excuse... Donc ce document va sûrement vous arracher les yeux mais il a le mérite d'exister !
|
||||
|
||||
|
||||
# 2023
|
||||
Des modifications ont été apportées au site par Théo Mougnibas notamment sur :
|
||||
|
||||
- les variables globales et le template
|
||||
- les menus
|
||||
- la structure de la base de donnée
|
||||
- tout le fonctionnement de la com ville
|
||||
- améliorations du panneau d'administration
|
||||
|
||||
Si vous avez des questions dessus, n'hésitez pas :D
|
||||
|
||||
|
||||
# Structure
|
||||
|
||||
Les vues et script (pages vues par l'utilisateur) sont dans le main folder (./).
|
||||
|
@ -76,7 +91,7 @@ id = 1; answer = réponse de l'énigme de la plaquette; point = nombre de points
|
|||
| name | varchar(30) | | |
|
||||
| team | tinyint(11) | | X |
|
||||
|
||||
on doit tout entrer manuellement dans la base de données en revanche le formulaire du mot croisé va se construire automatiquement sans rien faire au fur et a mesure qu'on y ajotue des nom à deviner.
|
||||
on doit tout entrer manuellement dans la base de données en revanche le formulaire du mot croisé va se construire automatiquement sans rien faire au fur et a mesure qu'on y ajoute des nom à deviner.
|
||||
|
||||
id correspont donc au numéro du mot à trouver, name au mot à trouver, et team reste à NULL tout le temps et ne servirait que si on modifiai le php pour ajouter des points de manière différente.
|
||||
|
||||
|
|
79
admin/mots_croises.php
Normal file
79
admin/mots_croises.php
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?php
|
||||
|
||||
|
||||
include "script.php";
|
||||
|
||||
include "../script/db_init.php";
|
||||
|
||||
|
||||
if($user['perm'] < 3) {
|
||||
header('Location: deco.php');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Admin / Mots croisés</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php
|
||||
|
||||
if(isset($_POST["AJ_MOT"])){
|
||||
|
||||
$mot = htmlspecialchars($_POST["mot"]);
|
||||
$req = $db->prepare("INSERT INTO mots_croise(name,trouve) VALUES(?,?)");
|
||||
$req->execute(array($mot,FALSE));
|
||||
|
||||
}
|
||||
if(isset($_POST["SUPP_MOT"])){
|
||||
$req = $db->prepare("DELETE FROM mots_croise WHERE id=?");
|
||||
$req->execute(array($_POST["id_mot"]));
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<main>
|
||||
|
||||
<form method="POST">
|
||||
<input type="text" name="mot" id="mot_input" value="" placeholder="mot à deviner" class="input_inline">
|
||||
<input type="text" name="AJ_MOT" value="AJ_MOT" hidden>
|
||||
<input type="submit" value="ajouter ce mot" class="submit_inline">
|
||||
</form>
|
||||
<h4>/!\Ajoutez les mots dans l'ordre de la grille/!\<h4>
|
||||
<?php
|
||||
$req = $db->query('SELECT * FROM mots_croise');
|
||||
?>
|
||||
<table class="acces">
|
||||
<tr>
|
||||
<th width="10%">ID (db)</th>
|
||||
<th width="60%">Mot</th>
|
||||
<th width="30%">Action</th>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
while($mot = $req->fetch()) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?= $mot['id'] ?></td>
|
||||
<td><?= $mot['name'] ?></td>
|
||||
<td>
|
||||
<form method="POST">
|
||||
<input type="text" name="SUPP_MOT" value="SUPP_MOT" hidden>
|
||||
<input type="number" value="<?=$mot['id']?>" name="id_mot" hidden>
|
||||
<input type="submit" value="supprimer" class="submit_inline">
|
||||
</form>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
</table>
|
||||
</main>
|
||||
|
||||
|
||||
</body>
|
|
@ -35,6 +35,7 @@ if($user_exist != 1) {
|
|||
$content = $content
|
||||
."<a href='ville.php'><li class='yellow'>Com'ville</li></a>"
|
||||
."<a href=\"planning.php\"><li class=\"orange\">Planning</li></a>"
|
||||
."<a href=\"mots_croises.php\"><li class=\"orange\">Mots croises</li></a>"
|
||||
."<a href=\"gestion_des_acces.php\"><li class=\"red\">Gestion des accès</li></a>"
|
||||
."<a href=\"enigma.php\"><li class=\"red\">Enigma</li></a>"
|
||||
."<a href=\"../matomo\" target=\"_matomo\"><li class=\"red\">Matomo</li></a>"
|
||||
|
|
|
@ -22,6 +22,16 @@ form {
|
|||
height: 30px;
|
||||
margin: 5px;
|
||||
}
|
||||
.numeric-input {
|
||||
display: inline-block;
|
||||
width: 10%;
|
||||
background-color: white;
|
||||
border: 3px solid grey;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
height: 30px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.submit {
|
||||
width: 50%;
|
||||
|
|
178
vacances.php
178
vacances.php
|
@ -5,119 +5,117 @@ include "script/db.php";
|
|||
|
||||
include "assets/scripts/globals.php";
|
||||
|
||||
/*
|
||||
$end = false;
|
||||
|
||||
if(isset($_POST['send'])) {
|
||||
$req = $db->query('SELECT id, name FROM mot_croise');
|
||||
while($r = $req->fetch()) {
|
||||
$input[$r['id']] = htmlspecialchars($_POST["input".$r['id']]);
|
||||
if(htmlspecialchars($_POST["input".$r['id']]) == $r['name']) {
|
||||
$color[$r['id']] = "green";
|
||||
} elseif(!empty($_POST["input".$r['id']])) {
|
||||
$color[$r['id']] = "red";
|
||||
} else {
|
||||
$color[$r['id']] = "grey";
|
||||
}
|
||||
}
|
||||
// on vérifie l'envoi d'une réponse
|
||||
if(isset($_POST["team"])){
|
||||
$req = $db->prepare("SELECT * FROM mots_croise WHERE name=? AND id=? AND trouve=?");
|
||||
$req->execute(array(htmlspecialchars($_POST["mot"]),(int) $_POST["id_mot"],FALSE));
|
||||
$mot_exist = $req->rowCount();
|
||||
|
||||
$end = true;
|
||||
$i = 1;
|
||||
|
||||
while($end AND $i <= count($color)) {
|
||||
if($color[$i] != "green") {
|
||||
$end = false;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
$req = $db->prepare("SELECT * FROM scores WHERE texte = ?");
|
||||
$req->execute(array("Mots croises"));
|
||||
$req_exist = $req->rowCount();
|
||||
if($req_exist == 0) {
|
||||
if($end) {
|
||||
if(isset($_POST['team']) AND !empty($_POST['team'])) {
|
||||
|
||||
$team = htmlspecialchars($_POST['team']);
|
||||
if($team == $TEAM1) {
|
||||
$team = 0;
|
||||
} elseif($team == $TEAM2) {
|
||||
$team = 1;
|
||||
} else {
|
||||
header('Refresh: 0');
|
||||
}
|
||||
|
||||
$req = $db->prepare("INSERT INTO scores(texte, points, team, id_staff) VALUES(?, ?, ?, ?)");
|
||||
$req->execute(array("Mots croises","500", $team, 0));
|
||||
|
||||
?><script type="text/javascript">alert("Félicitation, vous avez fait gagner 500points à votre équipe");</script><?php
|
||||
if($mot_exist == 1) {
|
||||
if(!empty($_POST['team'])) {
|
||||
|
||||
$team = htmlspecialchars($_POST['team']);
|
||||
if($team == $TEAM1) {
|
||||
$team = 0;
|
||||
} elseif($team == $TEAM2) {
|
||||
$team = 1;
|
||||
} else {
|
||||
header('Refresh: 0');
|
||||
}
|
||||
|
||||
//ajoute des points au score général
|
||||
$req = $db->prepare("INSERT INTO scores(texte, points, team, id_staff) VALUES(?, ?, ?, ?)");
|
||||
$req->execute(array("Mots croises","500", $team, 0));
|
||||
|
||||
// maj la valeur de trouve a TRUE
|
||||
$req = $db->prepare("UPDATE mots_croise SET trouve=? WHERE name=?");
|
||||
$req->execute(array(TRUE,htmlspecialchars($_POST["mot"])));
|
||||
|
||||
?><script type="text/javascript">alert("Félicitation, vous avez fait gagner 500 points à votre équipe !!");</script><?php
|
||||
}
|
||||
|
||||
}else{
|
||||
?><script type="text/javascript">alert("Mauvaise réponse ! (Mouahahaha :D)");</script><?php
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
<main>
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
|
||||
-->
|
||||
|
||||
<br>
|
||||
<?php
|
||||
|
||||
// check si tout les mots ont été trouvés ou non. (toutes equipes confondues)
|
||||
$req = $db->prepare("SELECT * FROM mots_croise WHERE trouve=?");
|
||||
$req->execute(array(htmlspecialchars(FALSE)));
|
||||
|
||||
if($req->rowCount() == 0){
|
||||
|
||||
?>
|
||||
<div class="zone_txt">
|
||||
|
||||
<h1>Pas assez rapide ! Tout les mots ont été trouvés !<h1>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<!--
|
||||
|
||||
_____
|
||||
,-" "-.
|
||||
/ o o \
|
||||
/ \ / \
|
||||
/ )-"-( \
|
||||
/ ( 6 6 ) \
|
||||
/ \ " / \
|
||||
/ )=( \
|
||||
/ o .--"-"--. o \
|
||||
/ I / - - \ I \
|
||||
.--( (_}y/\ /\y{_) )--.
|
||||
( ".___l\/__\_____/__\/l___," )
|
||||
\ /
|
||||
"-._ o O o O o O o _,-"
|
||||
`--Y--.___________.--Y--'
|
||||
|==.___________.==| hjw
|
||||
`==.___________.=='
|
||||
|
||||
|
||||
"MIAOU MIAOU" - Kaaris, 2021
|
||||
-->
|
||||
<div class="zone_txt">
|
||||
<img src="assets/img/mot_croise.svg" class="mot_croise">
|
||||
</div>
|
||||
<div class="zone_txt">
|
||||
<form method="POST">
|
||||
Tout les mots doivent être indiqués en minuscule, sans accent, sans espaces ni caractères spéciaux.<br><br>
|
||||
<?php
|
||||
/* $req = $db->query('SELECT id FROM mot_croise');
|
||||
|
||||
|
||||
while($r = $req->fetch()) {
|
||||
?>
|
||||
<input type="text" name="input<?= $r['id'] ?>" placeholder="Mot <?= $r['id'] ?>" value="<?php if(isset($input[$r['id']])) { echo $input[$r['id']]; } ?>" style="border: 3px solid <?= $color[$r['id']] ?>;" class="input">
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
$req = $db->prepare("SELECT team FROM scores WHERE texte = ?");
|
||||
$req->execute(array("Mots croises"));
|
||||
// récupère le nb de résultats, si 0 => aucune equipe n'a terminé
|
||||
$req_exist = $req->rowCount();
|
||||
$team_gg = $req -> fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if($end AND $req_exist == 0) {
|
||||
?> <br>
|
||||
Franchement GG à vous, choisissez votre équipe ci-dessous pour lui faire remporter les points :<br>
|
||||
<select name="team" class="input">
|
||||
<br>
|
||||
<select name="team" class="input" required>
|
||||
<option value="">Choisissez votre équipe</option>
|
||||
<option value="<?=$TEAM1?>"><?=$TEAM1?></option>
|
||||
<option value="<?=$TEAM2?>"><?=$TEAM2?></option>
|
||||
</select>
|
||||
<?php
|
||||
}
|
||||
?><br><br>
|
||||
<input type="submit" name="send" value="Envoyer" class="submit">
|
||||
|
||||
<font color="red">
|
||||
<?php if(isset($error)) {
|
||||
echo $error;
|
||||
} ?>
|
||||
</font>
|
||||
</select>
|
||||
|
||||
<br>
|
||||
<input type="number" id="id_mot" name="id_mot" class="numeric-input" required>
|
||||
<label for="id_mot">Numéro du mot</label>
|
||||
<br>
|
||||
<input type="text" placeholder="réponse" name="mot" class="input" required>
|
||||
<br><br>
|
||||
|
||||
<?php
|
||||
if($req_exist == 0) {
|
||||
echo "Aucune des deux équipes n'a réussi à trouver tous les mots";
|
||||
} else {
|
||||
if($team_gg[0]['team'] == 0) {
|
||||
echo $TEAM1." à déjà tout trouvé";
|
||||
} else {
|
||||
echo $TEAM2." à déjà tout trouvé";
|
||||
}
|
||||
} */
|
||||
?>
|
||||
<input type="submit" name="send" value="Envoyer" class="submit">
|
||||
</form>
|
||||
NB : Des indices se cachent peut-être sur le site, CTR+MAJ+I pourrais devenir ton meilleur ami.
|
||||
NB : Des indices se cachent peut-être (ou peut être pas :D) sur le site, CTR+MAJ+I pourrais devenir ton meilleur ami.
|
||||
</div>
|
||||
|
||||
</main>
|
||||
<?php
|
||||
$infopage = ["", "Cahier de vacances", ob_get_clean(), "", "vacances","Mots croisés pour vous occuper pendant les vacances"]; //relativepath, pagetitle, pagecontent, pagescript | cf structure/template.php ligne 2 à 6
|
||||
|
|
Loading…
Reference in a new issue