CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[HELP] Programme débutant !

fred-le-ouf
fred-le-ouf
Niveau 10
19 janvier 2014 à 13:52:01

Salut tout le monde j'ai un DM de programmation (niveau débutant) :hap:

Le programme est le suivant :

<?php
include "entete.php";
$action = $_REQUEST['action'];
if($action == 'validerConnexion'){
$login = $_REQUEST['login'];
$mdp = $_REQUEST['mdp'];
verifier($login,$mdp);
if(estAdmin() == true){
echo "<h2>Vous êtes connecté en temps qu'administrateur</h2>";
}
else {
echo "<h2>Erreur de login ou de de mot de passe</h2>";
}
}
if($action == 'connexion' && estAdmin() == false){
?>
<form method="POST" action="connexion.php?action=validerConnexion">
<table>
<tr>
<td>Connexion</td>
</tr>
<tr>
<td>Login*: </td>
<td><input type="text" name="login" value="" size="15"></td>
</tr>
<tr >
<td>Mot de passe*: </td>
<td><input type="password" name="mdp" value="" size="15"></td>
</tr>
</table>
<br>
<table >
<tr>
<td ><input type="submit" value="Valider" name="valider">
</td>
<td ><input type="reset" value="Annuler" name="annuler">
</td>
</tr>
</table>
</form>
<?php } ?>
</body>
</html>

C'est en fait un site qui gère les inscriptions pour un séminaire.

Et je bloque à cette question : Quels sont les numéro des lignes de code exécutées dans le cas ou l'utilisateur entre le bon mot de passe et le bon identifiant (admin/admin) ? Le formulaire de connexion se réaffiche-t'il ? Justifier votre réponse. :hap:

Merci de votre aide :noel:

fred-le-ouf
fred-le-ouf
Niveau 10
19 janvier 2014 à 13:55:11

Je ne comprend pas cette ligne "if($action == 'connexion' && estAdmin() == false){" :(

Il éxécute deux actions ? Lesquelles ?

DarkSIlenoz
DarkSIlenoz
Niveau 10
19 janvier 2014 à 14:31:46

Tu n'as que ça dans ton code? Parce qu'on ne sait pas ce que font "verifier()" et "estAdmin()" :noel:

fred-le-ouf
fred-le-ouf
Niveau 10
19 janvier 2014 à 14:39:28

Ouais c'est justement le piège.

Maintenant je cherche ça :

<?php
include "entete.php";
if(estAdmin() == false){
echo "<h2>Vous devez vous connecter comme administrateur</h2>";
}
else{
$lesConferences = donnerToutesLesConferences();
$nbConferences = count($lesConferences);
?>
<table>
<?php
for($i = 0; $i < $nbConferences; $i++){
$uneConference = $lesConferences[$i];
$creneau = $uneConference['creneau'];
$description = $uneConference['description'];
$id = $uneConference['id'];
$lesParticipants = donnerParticipants($id);
$nbParticipants = count($lesParticipants);
?>
<th><?php echo $id ?></th><th><?php echo $creneau ?></th> <th><?php echo $description?></th>
<th>Nombre d'inscrits : <?php echo $nbParticipants ?> </th>
<?php

for($j = 0; $j <$nbParticipants; $j++ ){
$unParticipant =$lesParticipants[$j];
$nom = $unParticipant['nom'];
$prenom = $unParticipant['prenom'];
$ville = $unParticipant['ville'];
$profession = $unParticipant['profession'];

$mail = $unParticipant['mail'];
?>
<tr>
<td><?php echo $nom ?></td>
<td><?php echo $prenom ?></td>
<td><?php echo $ville ?></td>
<td><?php echo $profession ?></td>
<td><?php echo $mail ?></td>
</tr>
<?php
}
}
echo '</table>';
}
?>
</body>
</html>

:d) Énumérer tous les numéros de lignes dans le cas où un utilisateur non identifié tente de visualisé ce formulaire.

:d) Une boucle "for" commence à la ligne 22, à quelle ligne se termine-t-elle ?

:d) A la ligne 13, la variable §uneConference est utilisée, indiquer son type, justifier votre réponse.

:d) Dans le cas où la variable de la ligne 16 §id vaut 4, donner la valeur de §nbParticipants à la ligne 21,telle qu'elle est interprétée dans le formulaire reproduit plus haut.

:hap:

papy386
papy386
Niveau 10
19 janvier 2014 à 14:41:26

Bonjour

Pour ce que j'ai compris, $action récupère un "action" qui est passer a la page par formulaire.

Quand tu demande vérifier sa doit chercher si le login/passe est bon et en plus vérifier le niveau de l'utilisateur (admin, superuser, etc).

Donc a ce moment là quand tu fait estadmin sa peut dire si oui ou non l'utilisateur est administrateur.

fred-le-ouf
fred-le-ouf
Niveau 10
19 janvier 2014 à 14:43:22

Merci :hap:

Video_Pijama
Video_Pijama
Niveau 9
19 janvier 2014 à 14:49:43

Petite question, c'est toi qui a écrit ce code ?

fred-le-ouf
fred-le-ouf
Niveau 10
19 janvier 2014 à 14:51:24

Bah non c'est un DM.

Video_Pijama
Video_Pijama
Niveau 9
19 janvier 2014 à 15:10:55

Ok parce que je ne sais pas d'où sort ce DM, mais c'est vraiment écrit avec les pieds, du début jusqu'à la fin.
Sans compter qu'afficher en traitant en même temps, c'est maaaaaal !
Genre tout est à jeter dans ce code (le tout premier).
Surtout si c'est pour du niveau débutant.

verifier($login,$mdp); renvoi peut être quelque chose, mais on ne le receptionne nulle part.
estAdmin() ne possède aucun argument, va savoir ce que ça traite.
Ces 2 fonctions devraient être une seule et même fonction, qui devrait renvoyer un booléen
genre : verifier_si_admin($login,$mdp) , préférablement avec la BDD et un petit hash du $mdp.

genre un truc tout simple du genre :
http://pastebin.com/nvuwsgTc

Je sais que ton but n'est pas de réécrire le code, c'est juste que ça m'a fait presque huler c't'histoire lol.

Video_Pijama
Video_Pijama
Niveau 9
19 janvier 2014 à 17:04:06

Je suis vraiment intrigué. Qui peut te donner ce genre de DM ? Ce deuxieme exemple...c'est lamentable...

Genre extraire toute les valeurs d'un tableau, pour les afficher une à une, ligne par ligne...dans un <table>... C'est presque criminel, j'ai envie de dire. :malade:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment