Gambas France BETA


Pas de compte ? Incription

Site en Gambas

12
AuteurMessages
valaquarus#16 Posté le 7/4/2023 à 11:06:47
-- Unus Ex Altera --Bonjour Spheris,
tu n'as pas à être pardonné par contre je ne serais d'aucune utilité ici car je ne maîtrise pas du tout les scripts CGI et les post et get mais là il y a linuxos qui peut être d'un grand secours.
Valaquarus
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
linuxos#17 Posté le 8/4/2023 à 14:48:06
Un peu de sel, de poivre et la crevette sera... Bonjour Spheris,

Imaginons que tu as ceci dans ta page de login:
<form role="form" method="POST" action="<%= ModVar.PathLinkLogin %>">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="login" id="nameField" type="text" name="login" autofocus>
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" value="">
</div>
<!-- <div class="checkbox">
<label>
<input name="remember" type="checkbox" value="Remember Me">Remember Me
</label>
</div> -->
<!-- Change this to a button or input when using this as a form -->
<input class="btn btn-lg btn-success btn-block" type="submit" value="Login">
<!-- <a href="index.html" class="btn btn-lg btn-success btn-block">Login</a> -->
</fieldset>
</form>



Et voici comment the recuperer/gérer dans ton code Gambas

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
IF Request["login"] AND IF Request["password"] THEN

ModLogs.EcrireLogs("8-Request[\"login\"] And If Request[\"password\"]")

Session.Abandon
LoginOk = FALSE

FOR EACH sIdent IN Split(File.Load("passwd"), "\n")
iPos = InStr(sIdent, ": ")
IF iPos = 0 THEN CONTINUE
sLogin = Trim(Left(sIdent, iPos - 1))
sPasswd = Trim(Mid$(sIdent, iPos + 2))
IF sLogin = Request["login"] AND IF sPasswd = Request["password"] THEN
ModLogs.EcrireLogs("9-Request[\"login\"] And If sPasswd = Request[\"password\"]")
Session["login"] = sLogin
ModLogs.EcrireLogs("9-Session.ID = " & Str(Session.Id))
CurrentMenu = 0
LoginOk = TRUE
BREAK
ENDIF
NEXT

IF LoginOk = FALSE THEN
ModLogs.EcrireLogs("10-LoginOk = False ==> Error_Login_Page()")
Error_Login_Page()
RETURN
ENDIF

END IF
ENDIF


Ce sont des extraits d'un projet que j'avais écrit il y a quelques années mais qui te donnera peut-etre des pistes.

Je t'envoie le projet en attachement de mon ici: gbAsStatsConsoleBS-0.7.1.tar.gz

N'hesite pas fouiller dans le code, active les logs en créant le fichier de logs: touch /tmp/gbasstatsconsole.log ; tail -f /tmp/gbasstatsconsole.log

Le projet n'est pas completement fonctionnel en l'état car il fait parti d'un eco-systeme

Reviens moi si tu as des questions

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
spheris#18 Posté le 10/4/2023 à 06:36:15
Merci, je comprends donc que les valeurs sont transmises par l'intermédiaire de submit et récupérées par une variable liste nomée REQUEST.

Par contre dans ton exemple une chose me choque.
Comment peut-on exécuter un script Cgi après le clic sur SUBMIT car tu pointes vers index.html?

Comment générer un simple lien vers la construction d'une autre page? En passant un simple paramètre à index.html?
Je remarque que tu a chiffré tes requêtes 9,10 en début.
12