J'ai trouvé une solution facile en utilisant un simple formulaire caché sur mon site web avec les mêmes informations que celles utilisées par les utilisateurs pour se connecter. Exemple : Si vous voulez qu'un utilisateur soit connecté sur ce formulaire, vous pouvez ajouter quelque chose comme ceci au formulaire de suivi ci-dessous.
<input type="checkbox" name="autologin" id="autologin" />
Pour autant que je sache, je suis le premier à cacher un formulaire et à le soumettre en cliquant sur un lien. Voilà le lien qui soumet un formulaire caché avec les informations. Ce n'est pas sûr à 100 % si vous n'aimez pas les méthodes de connexion automatique sur votre site Web avec des mots de passe se trouvant dans une zone de texte de mot de passe de formulaire caché...
Ok, alors voici le travail. Disons que $siteid
est le compte et $sitepw
est un mot de passe.
Faites d'abord le formulaire dans votre script PHP. Si vous n'aimez pas le HTML dans ce formulaire, utilisez des données minimales et puis echo
dans la valeur d'un formulaire caché. Je me contente d'utiliser une valeur PHP et de l'insérer où je veux, en priorité à côté du bouton du formulaire, car on ne peut pas le voir.
Formulaire PHP à imprimer
$hidden_forum = '
<form id="alt_forum_login" action="./forum/ucp.php?mode=login" method="post" style="display:none;">
<input type="text" name="username" id="username" value="'.strtolower($siteid).'" title="Username" />
<input type="password" name="password" id="password" value="'.$sitepw.'" title="Password" />
</form>';
PHP et lien vers le formulaire de soumission
<?php print $hidden_forum; ?>
<pre><a href="#forum" onClick="javascript: document.getElementById('alt_forum_login').submit();">Forum</a></pre>
4 votes
Je suppose que vous avez un
<form>
à un endroit quelconque de votre page.2 votes
Je ne vois pas de <form> dans le code.
1 votes
Que voulez-vous dire par : La fonction modifie l'innerHTML du div ci-dessus pour qu'il devienne "processing ...". (donc le bouton submit a disparu). Pourriez-vous partager cette logique ? Par ailleurs, si vous avez un bouton d'envoi (quelque part en bas avec name=submit), la fonction theform.submit() ne fonctionnera pas. Veuillez clarifier votre question en ajoutant la balise <form> comme vous l'avez fait dans votre code. Vous pouvez utiliser jsfiddle.net
6 votes
...si vous avez un bouton de soumission (quelque part en bas avec name=submit )... Cela a résolu mon problème ! C'était <input type="button" name="submit" ..., mais cela bloquait toujours le javascript pour envoyer le formulaire.
2 votes
document.theForm.submit();
ne fonctionne pas, vous devrez plutôt utiliserdocument.getElementById("theForm").submit();
et spécifier l'id du formulaire en HTML, par exemple :<form id="theForm">(content)</form>