Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/10/2008, à 19:18

Skippy le Grand Gourou

[Résolu] Login intermédiaire en PHP

Salut,

Je suis en train de faire une page dans laquelle l'utilisateur rentre des infos dans une base de données. J'aimerais y mettre une contrainte : s'il s'agit de l'admin (c'est moi), alors les données vont direct dans la base, sinon elles lui (me) sont envoyées par mail. Pour que ce soit léger et pratique à utiliser, le formulaire contient une case « je suis l'admin » à cocher, et j'aimerais que si elle est cochée l'utilisateur reçoive un prompt de login. Donc en gros :

            formulaire
         /                    \
si admin              si pas admin
     |                              |
  login                   envoi mail
     |
  envoi
database

Je n'ai pas de problème à coder les différentes parties, le seul souci que j'ai c'est au niveau du login : comment faire en sorte que le script PHP utilise une étape intermédiaire (le login) ? Un peu dans le genre de cin en C++, ou de read en bash/sh, que le script s'arrête pour attendre une entrée (je voudrais faire un truc simple, comme il n'y a qu'un seul admin, genre juste comparer une somme md5 codée en dur dans le script PHP, mais bon c'est pas le problème).

Je sais pas si c'est clair ?

Merci. smile

Dernière modification par Skippy le Grand Gourou (Le 02/10/2008, à 20:50)

Hors ligne

#2 Le 02/10/2008, à 19:32

HP

Re : [Résolu] Login intermédiaire en PHP

et pourquoi pas l'étape login avant ?

parce que le script php ne peut pas s'interrompre, comme en bash ou c… c'est lié au fait que c'est du web… alors soit login avant, soit AJAX

Dernière modification par HP (Le 02/10/2008, à 19:33)


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#3 Le 02/10/2008, à 19:33

tiky

Re : [Résolu] Login intermédiaire en PHP

Skippy le Grand Gourou a écrit :

Salut,

Je suis en train de faire une page dans laquelle l'utilisateur rentre des infos dans une base de données. J'aimerais y mettre une contrainte : s'il s'agit de l'admin (c'est moi), alors les données vont direct dans la base, sinon elles lui (me) sont envoyées par mail. Pour que ce soit léger et pratique à utiliser, le formulaire contient une case « je suis l'admin » à cocher, et j'aimerais que si elle est cochée l'utilisateur reçoive un prompt de login. Donc en gros :

            formulaire
         /                    \
si admin              si pas admin
     |                              |
  login                   envoi mail
     |
  envoi
database

Je n'ai pas de problème à coder les différentes parties, le seul souci que j'ai c'est au niveau du login : comment faire en sorte que le script PHP utilise une étape intermédiaire (le login) ? Un peu dans le genre de cin en C++, ou de read en bash/sh, que le script s'arrête pour attendre une entrée (je voudrais faire un truc simple, comme il n'y a qu'un seul admin, genre juste comparer une somme md5 codée en dur dans le script PHP, mais bon c'est pas le problème).

Je sais pas si c'est clair ?

Merci. smile

Si j'ai bien compris, tu voudrais que ton script PHP situé sur ton serveur attende que l'utilisateur écrive quelque chose dans le formulaire? Si c'est le cas, tu n'as pas compris le fonctionnement du PHP. Tu ne peux pas faire cela. Il faut utiliser la technologie Ajax. Regarde ce topic: http://forum.ubuntu-fr.org/viewtopic.php?id=252675 ( 8ème poste )
Je suis vraiment pas sûr d'avoir compris ce que tu veux.

Dernière modification par tiky (Le 02/10/2008, à 19:36)


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#4 Le 02/10/2008, à 19:36

tiky

Re : [Résolu] Login intermédiaire en PHP

HP a écrit :

et pourquoi pas l'étape login avant ?

parce que le script php ne peut pas s'interrompre, comme en bash ou c… c'est lié au fait que c'est du web… alors soit login avant, soit AJAX

Oui ça serait plus logique.


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#5 Le 02/10/2008, à 19:36

Skippy le Grand Gourou

Re : [Résolu] Login intermédiaire en PHP

Tiens, j'allais justement m'autorépondre… big_smile

Pas login avant parce que j'avais pas envie… J'ai plusieurs arguments mais ils sont tous plus ou moins bidons quand j'y réfléchis. Mais quitte à revenir en arrière après, j'aime bien aller jusqu'au bout de ce que je veux faire. wink

En l'occurrence je pense qu'il y a moyen avec une bête fenêtre javascript : je viens de tenter une « alert », il affiche le texte du script avant et n'affiche la fin qu'après fermeture du popup. Donc si je trouve comment faire une alerte avec des entrées ce sera bon — si c'est possible. big_smile

Edit : Tiky > Je voulais éviter de me plonger dans l'Ajax…

Edit2 : Yes ! Javascript:prompt… Je teste. big_smile

Dernière modification par Skippy le Grand Gourou (Le 02/10/2008, à 19:39)

Hors ligne

#6 Le 02/10/2008, à 20:05

tiky

Re : [Résolu] Login intermédiaire en PHP

Skippy le Grand Gourou a écrit :

Tiens, j'allais justement m'autorépondre… big_smile

Pas login avant parce que j'avais pas envie… J'ai plusieurs arguments mais ils sont tous plus ou moins bidons quand j'y réfléchis. Mais quitte à revenir en arrière après, j'aime bien aller jusqu'au bout de ce que je veux faire. wink

En l'occurrence je pense qu'il y a moyen avec une bête fenêtre javascript : je viens de tenter une « alert », il affiche le texte du script avant et n'affiche la fin qu'après fermeture du popup. Donc si je trouve comment faire une alerte avec des entrées ce sera bon — si c'est possible. big_smile

Edit : Tiky > Je voulais éviter de me plonger dans l'Ajax…

Edit2 : Yes ! Javascript:prompt… Je teste. big_smile

Javascript ne peut pas interrompre l'exécution d'un script PHP. Regarde mon poste sur l'autre topic pour comprendre. La seule solution sans utiliser Ajax et de mettre la somme de contrôle du mot de passe dans le code javascript en dur, et de la comparer avec celle du résultat du prompt, mais c'est vraiment vraiment la plus mauvaise solution. Pas sûr, pas propre...


Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#7 Le 02/10/2008, à 20:13

Skippy le Grand Gourou

Re : [Résolu] Login intermédiaire en PHP

Trouvé. Pas exactement l'idée de départ que j'avais au niveau de la prog, mais le résultat est identique. En gros :

script.js :

function verif()
{
      […]
      if (document.getElementById("onsenfout").admin.checked)
                document.getElementById("onsenfout").passwd.value = prompt ('Password :');
      […]
}

formulaire.html :

[…]
<form action="monscript.php" method="post" id="onsenfout" onsubmit="javascript:return verif();">
[…]
<input type="checkbox" name="admin" value="admin"/> I am the admin.
<input type="hidden" name="passwd" value=""/>
<input type="submit" name="submit" value="Submit entry"/>
</form>
[…]

monscript.php :

[…]
if (isset($_POST['admin']))
{
       if ($_POST['passwd']=="motdepasseàlacon")

      {
             […]
       }
       else
      {
             echo "Bien essayé.";
             exit();
       }
       […]
}

cool

Dernière modification par Skippy le Grand Gourou (Le 02/10/2008, à 20:50)

Hors ligne

#8 Le 25/11/2008, à 12:32

slasher_fun

Re : [Résolu] Login intermédiaire en PHP

Bonjour,

En raison d'une recrudescence du spam sur ce topic, celui-ci est actuellement fermé. Si vous souhaitez le rouvrir pour y ajouter quelque chose, signalez simplement ce message. wink

Hors ligne