11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Mon site est une "plateforme" pour accéder à mon serveur maison pour la famille et les amis éloignés géographiquement.
J'ai choisi de ne rien stocker en bdd (trop d'elements), et par conséquent, le navigateur doit demander l'ouverture du session avec mot de passe à mon serveur.

La première page de mon site, après s'être connecté, affiche les "actualités": des articles accompagnés de photos. Les autres pages sont pour voir les photos, la deuxième, les films caméscope etc...
En ce moment, quand on se connecte sur le site, il affiche ce qu'il y a en base de donné (les articles) mais pas ce qu'il y a sur le serveur (les photos). Pour faire en sorte qu'une session soit ouverte, il faut obliger le navigateur a demander l'accès au serveur. Alors sur chrome, c'est au début, il faut juste actualiser la page une fois le mot de passe et le login donné, mais sur les autres, il faut parfois aller essayer d'ouvrir un photo ou video pour que la demande de session nous parvienne.

Ce que j'aimerais, c'est que dès l'ouverture de la page index ("actualité") la connexion se fasse automatiquement afin d'afficher de suite les photos à la fin du chargement de la page.

Croyez vous cela possible ? et quelle voie choisir ? Je ne m'y connais pas en JS, j'ai tout fait en php en apprenant au fur et a mesure... Merci
Bonjour,

J'ai bêtement réussi à forcer le navigateur à "envoyer une demande d'ouverture d'une session" avec mon serveur Webdav juste en ajoutant au script ceci:
   if($user && password_verify($_POST['password'], $user->password)){
        
       $_SESSION['auth'] = $user;      
        $message1 = 'Vous êtes maintenant connecté';
        echo '<script type="text/javascript">window.alert("'.$message1.'");</script>';
        $url = 'http://xxx.xxx.xx.xx/Medias/'; 
        Require_once CORE.DS.'connectwebdav.php';

(...)


upload/1563223871-73672-wbdvconnect.png
Ce qui a pour effet d'arriver sur ma page principale avec une ouverture de popup, et je dois rafraîchir ma page une fois la connexion faite, ce que je ne veux pas.
Comment puis-je faire en sorte qu'une fois la connexion validée (avec Js si possible), la page s'actualise directement ?
Modifié par johuv (15 Jul 2019 - 22:51)
Salut

Pour éviter un rafraîchissement total j'utilise AJAX (en jquery mais le concept est le même)

Ajax permet de faire des requêtes du JS vers du PHP sans rafraîchir la page. et le récupérer la réponse du PHP et mettre à jour seuls éléments voulue.
Merci JENCAL.
Seulement, je n'arrives pas à trouver quelque chose de clair, pour moi, qui commence à peine JS et AJAX.
Rien, en tout cas, que je comprenne, moi, pauvre profane...
Pour rafraîchir la page, il faut déjà que je trouve comment détecter le popup qui s'ouvre, pour pouvoir ensuite passer à la suite.. je n'arrives même pas à le trouver avec l'outil de développement du navigateur... Pas d'cookie, rien !
bah la je peux pas t'aider je connais pas ton site. alors à toi de cherche l’élément déclencheur (boutton, lien, etc..) permettant de lancer la requête ajax de connexion.